- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
- 定义
def function_name(args...): function_body #例子 def print_something(): print(‘Hello,function‘)
- 命名规则
#和变量的命名规则一样 1、函数名只能包含字符串、下划线和数字且不能以数字开头 2、不能是关键字
- 返回值
#返回值有三种 ## 没有返回值 ## 一个返回值 ## 多个返回值 #没有返回值 ##1.不需要返回任何数据,不用return def func1(): print(‘haha‘) ##2.用以结束函数的运行 def fun2(): return print(‘这个print函数不会被执行‘) #一个返回值 ##可以返回任何类型的值 def fun3(): return [1,2,3] #元组和字典,字符串数字都行 #返回多个值 ##返回值之间使用逗号隔开,使用相应数量的变量接收返回值 def fun4(): a = 1 b = 2 return a,b n1, n2 = fun4()
- 参数
- 实参和形参
实际参数:调用函数时候的参数 形式参数,定义函数时候的参数 def func(a): #a是形式参数 pass s = ‘aaa‘ func(s) #s是实际参数
- 位置参数
#当我们调用函数的时候,把对应位置的参数放进去,这些参数就是位置参数 def my_sum(a,b,c): return a+b+c 这里a,b,c就是位置参数
- 关键字参数
#如果我们在调用函数的时候,指定参数=值,就是关键字参数 def my_sum(a,b,c): return a+b+c my_sum(b=1,a = 2,c=8)
- 默认参数
#如果一个参数大多数情况都是同一个值,就可以使用默认参数 def print_name(name = ‘hsr‘): print(name) print_name() #输出hsr print_name(‘haha‘) #输出haha
- 动态参数
#使用*args接收按位置传值多余的参数,存到一个元组中 def my_sum(*args): #*是必须的,但是args可以换成其他变量名 sum = 0 for tmp in args: sum += tmp return sum my_sum(1,2,3,4,5) #使用**kwargs接收按关键字传值的参数,存到一个字典中 def print_something(**kwargs): for k,v in kwargs.items(): print("%s , %s"%(k,v)) print_something(a=1,b=2,c=3) #动态传参的另一种方式 ##传给*args l = [1,2,3] my_sum(*l) #在序列前面加* ##传给**kwargs d = {‘a‘:1,‘b‘:2} print_something(**d) #在字典前面加**
- 参数的顺序
位置参数,*args,**kwargs,默认参数
- 实参和形参
- 函数注释
def func(arg): ‘‘‘ 描述功能 arg:...参数功能类型 return:返回值类型 ‘‘‘ 函数体
- 解包
#python会自动把逗号隔开的多个值默认为是一个元组 s = 1,2,3 print(type(s)) #我们可以用相同数量的变量来将元组,列表,字典中的元素分别赋值到变量上 li = [1,2,3] a,b,c = li #a=1,b=2,c=3
原文地址:https://www.cnblogs.com/walthwang/p/10362293.html
时间: 2024-11-09 21:34:36