函数 二

函数名字尽量体现函数的功能

形参    函数括号里面的  调用函数必须填入相应的参数,否则报错

函数里面叫形参    调用里面叫实参   例子:   必须参数

 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 {}

 

posted @ 2020-02-27 13:37  竹石2020  阅读(181)  评论(0)    收藏  举报