5-6 可变参数

1、定义的变量名全部使用大写字母表示它是一个常量

1 PORT = 3306  # 定义的变量名全部使用大写字母表示它是一个常量  不变

2、位置传参

1 def mysql(host,user,password,port,charset,sql,db):  # 定义一个连接mysql的函数
2     print('连接mysql')  # 输出连接mysql
3 
4 # 1、必填参数,位置参数 调用函数的时候,必须一一对应传参
5 mysql('ip','user','sdfsdf',3306,'sdfsdf','select','db')

3、关键字传参

1 def mysql(host,user,password,port,charset,sql,db):  # 定义一个连接mysql的函数
2     print('连接mysql')  # 输出连接mysql
3 
4 # 2、关键字传参,需要指定传入的参数的参数名,没有位置限制
5 mysql(user='root',password='123456',host='192.168.1.3',
6       port=3306,sql='sdfsdf',db='sdfsdf',charset='sdfsdf')

4、位置传参和关键字传参使用注意事项

1 def mysql(host,user,password,port,charset,sql,db):  # 定义一个连接mysql的函数
2     print('连接mysql')  # 输出连接mysql
3 
4 # 3、可以位置传数和关键字传参同时使用,注意,前面的需要位置对应,后面全部使用关键字传参
5 mysql('192.168.1.1','root',port=3306,password='sdfsdf',sql='sdfsdf',db='sdfsdf',charset='sdfsdf')
6 
7 # 4、不能前面使用关键字传参,后面又用位置传参
8 # mysql(password='123456','root',) 不对

5、*args 可变参数  非必填且个数不限

 1 def mysql2(ip,*info):  # 定义一个函数  参数ip为必填  参数info为非必填且个数不限
 2     print(ip,info)
 3 
 4 # *args 将参数放到一个元组中  非必传,参数个数不定
 5 # mysql2()  # 报错,ip为必填参数
 6 mysql2('host',1)  # host (1,)
 7 mysql2('host',1,2)  # host (1, 2)
 8 
 9 # host ('user', 13345435, 0, 'sefsd', 'sdfds')
10 mysql2('host','user',13345435,00000,'sefsd','sdfds')

6、定义一个发送人不定的发送邮件的函数

1 def send_mail(*args):  # 定义一个发邮件的函数,*args
2     print(args)
3 
4 # *args 非必填,个数不限制
5 send_mail()  # ()
6 send_mail('[email protected]')  # ('[email protected]',)
7 
8 # ('[email protected]', '[email protected]', '[email protected]')
9 send_mail('[email protected]','[email protected]','[email protected]')

7、从列表中取值传入参数

1 def calc(a,b,c):  # 定义一个函数,传入a,b,c三个参数
2     print(a+b)  # 打印 a+b
3     return a+b  # 返回 a+b 的值给函数
4 
5 l = [1,2,3]  # 定义一个列表
6 calc(*l)  # 从列表中取值传入calc函数中  3

猜你喜欢

转载自www.cnblogs.com/hushaoyan/p/10068443.html
5-6