函数
可变参数
在某些情况下我们不能在定义函数的时候就确定参数的内容和数量,就可以使用可变参数
语法格式:some_func(*args,**kwargs)
参数说明:
“some_func”为函数名
“*args”和“**kwargs”为可变参数
*args
使用*定义个数可变的位置形参
结果为一个元组
args可以被替换
**kwargs
使用**定义个数可变的关键字形参
结果为一个字典
kwargs可以被替换
传递的参数必须是关键字形式
def aa(*args):
print(args)
aa()
aa(1, 2)
aa(1, 2, 'a')
print('-------------------------**kwargs---------------------------')
def bb(**kwargs):
print(kwargs)
bb()
bb(ss=12)
print('-------------------------传递未知参数-------------------------')
def cc(*args,**kwargs):
print(args)
print(kwargs)
a = [1, 2, 3]
b = {'a': 1,
'b': 2}
cc(*a,**b)
局部变量修改为全局变量global
如果想对函数体外的变量进行修改,或者想把局部变量修改为全局变量,可以只用global
x = '外'
def aa():
global x
x = '内'
print(x)
aa()
print(x)
函数返回值return
如果想要获得函数中局部变量的返回值,可以使用return
如果有多个返回值,会以元组的形式返回
返回的元组又可以赋值给多个变量
print('------------------------一个返回值------------------------')
def no_return():
print('没有return')
def no_return_value():
print('有return,没有返回值')
return
def has_return():
x = '局部变量'
print('有return,有返回值')
return x
print(no_return())
print(no_return_value())
print(has_return())
print('------------------------多个返回值------------------------')
def most_return_value():
a = '1'
b = '2'
c = '3'
return a, b, c
print(most_return_value())
print('------------------------多个返回值赋值------------------------')
def s_return():
return 1, 2
a1, a2 = s_return()
print(a1)
print(a2)
文档字符串__doc__,help()
函数体的第一行可以是字符串,这个字符串就是文档字符串
文档字符串可以使用__doc__获取
help()抓取函数的__doc__属性
print('------------------__doc__---------------------')
def aa(x):
'''
11111
--------------------
文档字符串可以使用__doc__获取
--------------------
'''
return x
print(aa(1))
print(aa.__doc__)
print('-----------------------help()--------------------')
help(aa)