四、Python函数

时间:2021-6-9 作者:qvyue

函数的作用(封装)

函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
函数能够提高应用的模块性和代码的重复利用率。

函数的定义

  • 函数代码块以def关键字开头,后接函数名称和圆括号()。
    1. 冒号起始
    2. 注意缩进
    3. 圆括号中定义参数
    4. 函数说明——文档字符串
  • return [表达式]结束函数
    1. 选择性返回一个值给调用方
    2. 不带表达式的return或者不写return函数,相当于返回None

函数的调用

  1. 函数的调用形式
  2. 调用时的传参
  3. 位置参数
# 函数的定义
def func1(a,b,c):
    """
    函数func1的作用
    :param a:参数a是用来打印的
    :param b:
    :param c:
    :return:
    """
    # 使用Tab键进行缩进
    # ctrl+d可以复制一行
    print("这是一个函数")
    print("这是一个参数a",a)
    print("这是一个参数b",b)
    print("这是一个参数c",c)
    return a

# 函数的调用
func1(1,2,3)
# 指定参数
func1(a=2, b=3, c=1)
# 如果有一个参数指定,那么后面的参数都指定
func1(a=2, 4, 5)
# 打印函数的返回值
print(func1(3,2,1)) # 结果为3

Tips:Tab键用于缩进,ctrl+d在pycharm里可以复制一行

参数的形式

1. 默认参数

  • 默认参数在定义函数的时候使用k=v的形式定义。
  • 调用函数时,如果没有传递参数,则会使用默认参数。
  • 如果传递参数的话,就会使用传递的参数。
# 默认参数
def func2(a=1):
    print("参数a的值为:",a)
func2() # 结果为1

2. 关键字参数

  • 调用函数的时候,使用k=v的方式进行传参。
  • 在函数定义/调用中,关键字参数必须跟在位置参数后面,如func2(2,b=3,c=4,d=5)
# 关键字参数
def func2(a,b,c,d):
    print("参数a的值为:",a)
    print("参数b的值为:",b)
    print("参数c的值为:",c)
    print("参数d的值为:",d)
func2(b=2,c=3,a=10,d=4)

3. 特殊参数

  • *:仅限关键字参数,在【仅限关键字】形参前放置一个星号*
# 关键字参数
def func2(a,b,c,*,d): # 在d前面加一个*,则d必须为关键字参数
    print("参数a的值为:",a)
    print("参数b的值为:",b)
    print("参数c的值为:",c)
    print("参数d的值为:",d)
func2(2,3,10,d=4)

匿名函数——Lambda表达式

  • 可以用lambda关键字来创建一个小的匿名函数。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • 格式:函数名 = lambda 变量名: 表达式func2 = lambda x: x*2
  • 还可定义多个参数,如func3 = lambda x,y: x+y
# lambda表达式
func3 = lambda x: x*2
print(func3(3)) # 结果为6

# 等同于
def func4(x):
    return x*2
print(func4(3))

# 定义多个参数
fun5 = lambda x,y:x+y
print(fun5(2,4))

下一节为:Python常用数据结构,包括列表、元组、集合、词典以及它们的常用便捷表达式。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。