5-6 可变参数
Posted hushaoyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于5-6 可变参数的主要内容,如果未能解决你的问题,请参考以下文章
Python3----函数的参数是可变参数,将传进来的参数转成列表