首页 > 编程语言 >Python自学笔记11-函数的定义和调用

Python自学笔记11-函数的定义和调用

时间:2022-08-31 18:57:45浏览次数:36  
标签:11 return 函数 Python 代码 参数 print 自学 def

函数是组织代码的非常有效的方式,有了函数,我们就可以编写大规模的项目。可以说,函数是组织代码的最小单元。

Python函数的定义

函数是代码封装的一种手段,函数中包含一段可以重复执行的代码,在需要用到这些代码时,只需要调用函数,就会运行函数中的代码。

python 函数这么定义:

def 函数名称(参数1, 参数2):
 函数体(要运行的代码)

比如一个很简单的函数定义:

def add(a, b):
	return a + b

现在我们举个例子说明函数的作用。

print('打开高级车门')
print('开发动机')
print('安全带')
print('踩油门')
print('掌握方向')

如果要开很多次车,那么每次都需要敲相同的 5 行代码,这样会造成几个问题:

  • 很容易编写不同的代码,或者代码出现错误
  • 代码冗余,可读性不强
  • 不容易维护,当需要修改某个步骤时,要修改多处。

Python函数的调用

现在我们可以把上述代码封装在函数中,当需要运行这些代码时,调用函数就可以了,这样减少了很多复制粘贴或者手工编写多行代码的步骤,函数的名称也表明了代码的作用,当需要修改部分逻辑,只需要修改函数体就可以了。

def run_car():
    print('打开高级车门')
    print('发动发动机')
    print('系上安全带')
    print('踩油门')
    print('掌握方向')

run_car()
# 其他代码
run_car()

Python函数的返回值

return 表示当函数执行完之后,想让函数外面的程序得到函数执行的结果, return 的值可以任意的数据类型。

def add(a, b):
	return a + b

result = add(3,4)
print(result)

  • 函数体当中的代码, 遇到 return 会终止运行。
  • 函数的返回结果可以是任意类型,包括 None
  • 当函数体当中没有 return ,默认返回 None

Python函数可以返回多个值, 只需要在多个值之间加上逗号,得到的是元组类型。

def add(a, b):
 return a, b

参数的四种类型

return 表示函数返回给外部的值,而参数表示函数从外部接收的值。在函数定义时候的参数叫做形式参数,它其实就是一个变量名称,在函数调用时候的参数叫做实际参数,相当于给变量赋值。

def get_coffee(suger):
    if suger > 100:
        return '甜咖啡'
    elif suger < 1:
        return '美式'
    else:
        return '莫名其妙的咖啡'

result = get_coffee(100)
print(result)

注意,形式参数的个数和实际参数的个数要一样,而且顺序要一致,这种方式叫做位置参数。(和领导吃饭做位置)如果形式参数和实际参数的个数不一致,会导致程序无法分别赋值:

def add(a, b):
    c = a + b - 1
    return c

add(5, 7, 8) # NO

关键字参数:在调用函数的时候,做一个关键字标记,以防传参错误,造成损失。主要是当参数很多的情况,你记不清顺序,关键字去标识数据的意思。

默认参数:在函数定义的时候,给某个变量直接赋值,成为默认值。 就是使用默认值直接赋值,在调用函数的时候,可以少传参数。关键字参数,默认参数也好,都必须放到位置参数的后面。

def add(a, b=0):
    c = a + b - 1
    return c

add(a=4, b=6)
add(3)

自动化测试场景:添加多个数据,运行多个用例

def write_case(number):
    for _ in range(number):
        username = input("请输入用户名:")
        passwd = input("请输入密码:")
        age = input("请输入年龄:")

        user = dict()
        user.update(username=username,
                    passwd=passwd,
                    age=age)
        yield user

def run(case):
    print(f"运行用例-用户名{case['username']}")

    cases = write_case(2)
    for case in cases:
        run(case)

标签:11,return,函数,Python,代码,参数,print,自学,def
From: https://www.cnblogs.com/heniu/p/16637408.html

相关文章

  • Python爬虫-BeautifulSoup基本用法(三)
    BeautifulSoup基本用法BeautifulSoup是Python的一个HTML或XML的解析库,可以用它来方便地从网页提取数据(以下为崔庆才的爬虫书的学习笔记)一.安装方式#安装beautifulsoup......
  • python 修改列表元素
    修改列表的元素时,可以使用for循环结合range n=int(input())list_b=[[1,2,3],[4,5,6],[7,8,9]]foriinrange(len(list_b)):  foryinrange(len(l......
  • jenkins-配置python
    1.进入"Dashboard"界面,点击左侧"构建执行状态"2.点击列表设置图标3.勾选"Environmentvariables",点击"新增",输入环境变量【名称和python路径】,点击保存4.查看......
  • python-去除txt文件空格、特殊字符
    #!/usr/bin/python#-*-coding:UTF-8-*-"""@author:Roc-xb"""importre#导入re#去除图片文字内空格、特殊字符withopen("E:\\test001\\001test.txt","r"......
  • python 根据dic的value去区key的值,直接用函数
    defget_keys(d,value):return[kfork,vind.items()ifv==value]get_keys({'a':'001','b':'002'},'001')#=>['a'] 字符串里面有参数用ftinydic......
  • python内存管理
    Python中一切皆对象,这些对象的内存都是在运行时动态地在堆中进行分配的,就连Python虚拟机使用的栈也是在堆上模拟的。既然一切皆对象,那么在Python程序运行过程中对象的......
  • [ROS学习]11. 服务数据(srv)的定义与使用
    笔记参考:ROS学习笔记】11.服务数据(srv)的定义与使用内容参考:基于B站ROS公开课:【古月居】古月·ROS入门21讲本节说明前面讲了两个Service模式的例子,分别用到了两种服务......
  • 尝试云服务器运行python(一个月后)
    爬虫学了几年了,大多是自己爬一些基础数据来做分析。最近有几个微信公众号每天要读,就决心实施一下想了很久的云服务器跑python。淘宝租服务器,腾讯云轻量级Centos8系统,很简......
  • Python_16异常处理
    一、异常处理基本概念异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)如:文件找不到、网络连接......
  • Python 自动化测试(四):数据驱动
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件质......