def (*args): print(args,type(args)) li = [11,22,33,44] f1(li) #将li作为*args,输出一个只有一个li元素的tuple f1(*li) #加*相当li中的元素遍历并加入到tuple #打印结果 ([11,22,33,44]) (11,22,33,44) def (**keargs): print(kwargs,type(kwargs)) dic = {‘k1‘:123,‘k2‘:345} #f1(dic)错误的 f1(k1=dic) f1(**dic) #传字典的方式 #打印结果 {‘k1‘: {‘k1‘: 123, ‘k2‘: 345}} <class ‘dict‘> {‘k1‘: 123, ‘k2‘: 345} <class ‘dict‘>
一、语法:
def 函数名(): 函数体 return 值
Α.return返回值,如果没有返回值,默认返回None
B.在函数中只要执行了return,该函数下面的代码不在执行
二、参数
A.形式参数
B.实际参数
C.默认参数:默认参数一定要放在尾部,否则会报错
D.动态参数
def f(*args): print(args) #a的类型变成了tuple,只能传入的参数只能是tuple的元素 def f1(**kwargs): #也是动态参数,但是必须传字典类型的值,key=values的形式传值 print(kwargs)
E.万能参数:def (p,*args,**kwargs): #表示上述的综合。*a返回的是一个tuple,传的也是tuple的元素,**a返回的是dict,传入的也是dict元素
F.为动态参数传入list、tuple、元组
def (*args): print(args,type(args)) li = [11,22,33,44] f1(li) #将li作为*args,输出一个只有一个li元素的tuple f1(*li) #加*相当li中的元素遍历并加入到tuple #打印结果 ([11,22,33,44]) (11,22,33,44) -----------------------------分割线--------------------------- def (**keargs): print(kwargs,type(kwargs)) dic = {‘k1‘:123,‘k2‘:345} #f1(dic)错误的 f1(k1=dic) #创建了一个只有一个key(k1)的值为dic的字典 f1(**dic) #传字典的方式 #打印结果 {‘k1‘: {‘k1‘: 123, ‘k2‘: 345}} <class ‘dict‘> {‘k1‘: 123, ‘k2‘: 345} <class ‘dict‘>
G.全局变量
# 声明全局变量 用大写P = 135 def fun1(): a = 123 #局部,只能在函数体中调用 global P #全局变量,所有函数又能共享的。在函数中可以用global P 就可以对P进行操作。 P= 246 print(a,P) def fun2(): a = 456 #局部,只能在函数体重调用 print(a,P) #这个P值变成了246 说明全局变量P的值被修改成功了 fun1() fun2() #打印结果
123 246
456 246
时间: 2024-11-13 10:00:33