首页 > 代码库 > python函数 day-3

python函数 day-3

 

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

 

 

python函数 day-3