定义函数
def default_01(a,*args, **kwargs):
pass
参数的顺序
def func(位置参数,*args,缺省参数,**kwargs):
pass
fun(参数值)
位置参数
形参:小括号中的参数,用来接收参数用的
实参:调用时小括号中的参数,用来传递给函数用的
不定长参数
*agrs:不确定多少个参数是用它,数据类型是tuple
**kwargs:不确定多少个以key=value的参数使用,数据类型是dict,key不可以重复
函数返回值
def Test(*args,**kwargs):
return kwargs
def func(*args,**kwargs):
return print(args)
test=Test('我无敌你随意',4, 8, name='张三', ages='20', sex='男')
print(test)
func('我无敌你随意',4, 8, name='张三', ages='20', sex='男')
匿名函数 lambda n: n+10
lambda n: n//2 if n> 10 else print(False)
print(n(30))
全局变量和局部变量
全局变量:在defalut或cless外边定义的变量叫做全局变量
可以defalut或cless都可以使用
局部变量:局部变量,就是在defalut或cless内部定义的变量
局部变量修改不影响全局变量
names = 'Tom'
def Test(*args, **kwargs):
# name = str(','.join(args))
# print(name)
names = 'jack'
print(names)
def func(*args, **kwargs):
global names
names = 1000
print(names)
Test(names)
print('在函数中使用global前', names)
print('使用globla后')
func(names)