码迷,mamicode.com
首页 > 其他好文 > 详细

5-6 可变参数

时间:2018-12-05 02:12:27      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:入参   pre   div   set   class   pass   span   char   col   

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(qqq@qq.com)  # (‘qqq@qq.com‘,)
7 
8 # (‘qqq@qq.com‘, ‘asaaa@163.com‘, ‘ddd@sina.com‘)
9 send_mail(qqq@qq.com,asaaa@163.com,ddd@sina.com)

 

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 可变参数

标签:入参   pre   div   set   class   pass   span   char   col   

原文地址:https://www.cnblogs.com/hushaoyan/p/10068443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!