Python基础语法_Day15

Python基础语法_Day15    

无参数函数:

def func():
    pass

func()  ---->调用
  
有参数函数:
  1. 普通参数
  
  def func(name,age):
        pass
  
  func('aa',18)   ----> 形参与实参的个数要一致
  
  
  2. 可变参数:
   A. def func(*args):
          pass
          
      func()  ----> 函数调用时,实参的个数可以没有,也可以多个   *不能是关键字参数
      func(4)  func(5,'h')
  

88-函数之可变参数    "# 可变参数

# def add(a, b):
#     pass
# add(1,3)"    "# 定义方式:
# def add(*args):  # arguments 参数
#     # print(args)
#     sum = 0
#     if len(args) > 0:
#         for i in args:
#             sum += i
#         print('累加和是:sum:', sum)
#     else:
#         print('没有元素可计算,sum:', sum)
#
#
# add()  # ()空元组
# add(1)  # (1,)
# add(1, 2)  # (1,2)
# add(1, 2, 3, 4)  # (1,2,3,4)"   


  
  B. def  func(**kwargs):
         pass
        
     func(a=1,b=2)  ----> 函数调用时,实参的个数可以没有,也可以多个   **必须是关键字参数

  C. def func(*args,**kwargs):
         pass
    
    list1 = [1,3]
    dict1 = {'1':'a','2':'b'}
    func(*list1,**dict1)  # func(1,3,'1'='a','2'='b')
     

"# def func(a, *args):
#     print(a, args)
#
#
# func(2, [1, 2, 3, 4],5,'hello')
# func(5,6,(4,5,7),9)"    "# def func(a, b=10, c=3, **kwargs):
#     print(a, b, c, kwargs)
#
#
# func(1)  # 1 10 3 {}
#
# func(2, b=11)  # 2 11 3 {}
#
# func(3, c=5, b=7, x=1, y=2)  # 3 5 7 {'x': 1, 'y': 2}"    "def func(a, *args, **kwargs):
    print(a, args, kwargs)


t = (1, 2, 3, 4)
func(1, t)  # 1 ((1,2,3,4),)

l = [2, 5, 8]
func(1, l, c=9, b=6)  # 1 ([2, 5, 8],) {'c': 9, 'b': 6}dict1 = {'1': 'a', '2': 'b', '3': 'c'}
func(1, *l, **dict1)
# func(1,2,5,8,1='a',2='b',3='c')"


  D. 混用
  
  def func(name,*args,**kwargs):
        pass
        
  func('tom')   ----> 必须赋值

  3. 默认值+关键字
  
  def func(name,age=18):
        pass
        
  func('tom')  ----》 tom  18
  
  func('tom',age=20)   --->关键字赋值
  
  '''"    
 

# 关键字参数:key=value

def add(a, b=10):  # 关键字参数  此时的b就是默认值
    result = a + b
    print(result)


# 调用
add(5)

add(4, 7)  # a=4,b=7   # 此时7就会覆盖b原来的默认值"    "def add1(a, b=10, c=4):
    print(a, b, c)
    result = a + b + c
    print(result)


add1(1)

add1(1, 5)  # 是给b赋值成功

# 给c赋值而不是给b赋值
add1(2, 6)  # 默认6是赋值给b了,
add1(2, c=6)  # 如果想将6赋值给c,则需要结合关键字的key使用"  
"使用函数的时候:
def aa(**kwargs):
    pass

aa(a=1, b='hello', c='tom')    --->将关键字装包成字典"    "def aa(**kwargs):
    print(kwargs)


aa(a=1, b='hello', c='tom')  # 装包:{'a': 1, 'b': 'hello', 'c': 'tom'}

# 如果在开发的时候,已知一个字典

dict1 = {'a': 1, 'b': 'hello', 'c': 'tom'}

aa(**dict1)  # a=1, b='hello', c='tom'    拆包的过程
"    "def bb(a, b, *c, **d):
    print(a, b, c, d)


bb(1, 2)  # 1 2 () {}

bb(1, 2, 3, 4)  # 1 2 (3,4) {}

bb(1, 2, x=100, y=200)  # 1 2 () {'x':100,'y':200}

bb(1, 2, 3, x=100)  # 1 2 (3,) {'x':100}

bb(1, 2, x=100, y=200, z=100)"



 

上一篇:打包与解包


下一篇:Python学习-函数初识、函数参数使用