Python参数笔记

Python参数

1. 普通参数

  • 必须要传入和定义时个数相同的参数
1 def miao(acfun, bilibili):
2     print(acfun, bilibili)
3 
4 miao(11, 22)
5 
6 >>>11 22

2. 带有默认参数

  • 参数赋有默认值,使用时可以不传默认值,但好像默认值必须是最后一个参数?
1 def miao(acfun, bilibili = 000):
2     print(acfun, bilibili)
3 
4 miao(11)
5 
6 >>>11 000

1. * 带参数

  • 表示可以传无限的参数,传入的参数会自动拼接,当不传参数时会拼成空元祖(tuble)

栗子:

不穿参数 ---> ()

传一个参数11 ---> (11,) ---> 逗号用于区别元祖跟普通的常量

传两个参数11,22 ---> (11,22)

※tuble( )与list[ ]的区别

  • tuble一旦定义了就不能修改, list可以在后续的操作中进行数据的修改
1 def miao(*acfun):
2     print(acfun)
3 
4 miao(11, 22 ,33 ,44)
5 
6 >>>(11, 22, 33, 44)

2. ** 带参数

  • 表示可以传无限的参数,传入的参数会自动拼接成map(python中称为字典)

栗子:

不穿参数 ---> {}

传一个参数a = 11 ---> {'a':11}

传两个参数a = 11, b = 22 ---> {'a': 11, 'b': 22}

1 def miao(**acfun):
2     print(acfun)
3 
4 miao(acfun = 11, bilibili = 22 ,cilicili = '33' ,dilidili = '44')
5 
6 >>>{'acfun': 11, 'bilibili': 22, 'cilicili': '33', 'dilidili': '44'}

3. *, 带参数——具名参数

  • 后面所有的参数的参数名都会被限定,必须长得一模一样呢

下面的bilibili和cilicili就是具名参数

 1 def miao(acfun, *, bilibili, cilicili):
 2     print(acfun)
 3     print(bilibili)
 4     print(cilicili)
 5 
 6 miao(111,bilibili=222,cilicili=333)
 7 
 8 >>>111
 9 >>>222
10 >>>333

※第一个参数前面有1个*时,后面的所有参数都是具名参数

下面栗子中的bilibili和cilicili也都是具名参数,如果给他们乱改名字,他们是会生气变红的

 1 def miao(*acfun, bilibili, cilicili):
 2     print(acfun)
 3     print(bilibili)
 4     print(cilicili)
 5 
 6 miao(111,bilibili=222,cilicili=333)
 7 
 8 >>>111
 9 >>>222
10 >>>333

4. self参数

  • 在类中的方法会有该参数,相当于java类方法中的this~
 1 class miaomiao(object):   
 2     def __init__(self):
 3         self.param1 =123
 4     def __str__(self):
 5         print("I love acfun");
 6 
 7 MM = miaomiao()
 8 print(MM.param1)
 9 print(MM)
10 
11 >>>I love acfun



猜你喜欢

转载自www.cnblogs.com/sstt-yy/p/9610783.html
今日推荐