函数名字尽量体现函数的功能
形参 函数括号里面的 调用函数必须填入相应的参数,否则报错
函数里面叫形参 调用里面叫实参 例子: 必须参数
1 import time 2 def logger(mes): 3 time_format = "%Y-%m-%d %X" 4 time_current = time.strftime(time_format) 5 with open('日志记录','a') as f: 6 f.write('%s %s\n'%(time_current,mes)) 7 logger('执行关闭服务器') 8 logger('删除数据库') 9 输出: 10 2020-02-27 11:26:31 执行关闭服务器 11 2020-02-27 11:26:31 删除数据库 12 2020-02-27 11:26:34 执行关闭服务器 13 2020-02-27 11:26:34 删除数据库 14 2020-02-27 11:26:36 执行关闭服务器 15 2020-02-27 11:26:36 删除数据库 16 2020-02-27 11:26:37 执行关闭服务器 17 2020-02-27 11:26:37 删除数据库
必须参数,关键字参数。例如:
1 def print_info(name,age): 2 print('name: %s'% name) 3 print('Age: %d'%age) 4 print_info('xiaohu',28) 5 print_info(age=33,name='xiaomei') 6 输出: 7 name: xiaohu 8 Age: 28 9 name: xiaomei 10 Age: 33
默认参数: 默认参数方法不能和关键字参数不能一起使用 例如: 默认参数必须放到最后
1 def print_info(name,age,sex = "femail"): 2 print('name: %s'% name) 3 print('Age: %d'%age) 4 print('sex: %s'%sex) 5 print_info('xiaohu',28) 6 print_info(age=33,name='xiaomei') 7 print_info('haha',16,'man') 8 输出: 9 name: xiaohu 10 Age: 28 11 sex: femail 12 name: xiaomei 13 Age: 33 14 sex: femail 15 name: haha 16 Age: 16 17 sex: man
关键字参数必须在实参里面加,默认参数在形参里面添加
*args 将传进来的参数变成一个元组 **kwargs 将传进来的对应关系变为一个字典
例如:
1 def test(*args,**kwargs): 2 print(args) 3 print(kwargs) 4 test(1,2,3,4,'snfi',name='caiheng',age=18) 5 输出: 6 (1, 2, 3, 4, 'snfi') 7 {'name': 'caiheng', 'age': 18}
当不定长参数存在时,默认参数必须放在最前面。例如:
1 def test(sex='female',*args,**kwargs): 2 print(args) 3 print(kwargs) 4 test('female',2,3,4) 5 输出: 6 (2, 3, 4) 7 {}