注:doc为函数的默认属性
.一般系统默认属性都是双下横线开始,双下横线结束的
1什么是函数的开头文档?
注:函数的开头文档必须写在函数名字的下一行,它用单引号或双引号或三个双引号(三引号可以将内容写在多行)注释。且函数的开头文档只能出现一次。多写无效。
>>> def haha(a):>>> def piupiu(a):
"这是一个智障的函数"
print("因为这是",a,"写的")
>>> piupiu("SB")
因为这是 SB 写的
>>> def a():
"""12345
12345
56789"""
print("hhhhh")
>>> a()
hhhhh
2.如何查看函数的开头文档
方法1 函数名.__doc__
方法2 help(函数名) 这种方法得到的是格式化的内容,因此看起来更清新
>>> def a():
"""12345
12345
56789"""
print("hhhhh")
>>> a()
hhhhh
>>> a.__doc__
'12345\n12345\n56789'
>>> help(a)
Help on function a in module __main__:
a()
12345
12345
56789
3.什么是函数的关键字参数?在调用函数时,用给形参赋值的形式提供形参,不考虑形参在参数表的顺序
>>> def haha(a,b):
print(a+"是一个无聊的"+b)
>>> haha(a="小红",b="少女")
小红是一个无聊的少女
>>> haha(b="少年",a="小明")
小明是一个无聊的少年
4函数的关键字参数的用处是什么?防止调用函数时,给形参赋错值,例如防止这种错误:
>>> haha("卡夫卡","少年")
卡夫卡是一个无聊的少年
>>> haha("少年","卡夫卡")
少年是一个无聊的卡夫卡
5.什么是带参数默认值的函数?这和C++的用法一样
注:默认值是从最后一个位置开始有的
>> def add(a=0,b=0):
return a+b
相当于三个函数:
>>> add(1)
1
>>> add()
0
>>> add(1,1)
2
>> def add(a,b=0):
return a+b
相当于2个函数:
>>> add(1)
1
>>> add(1,1)
2
>>> def add(a=1,b):
return a+b
SyntaxError: non-default argument follows default argumen(报错,因为默认值不是从最后一个位置开始有的)
6.什么是收集参数?在参数前加*的参数
>>> def haha(*a):
print(len(a)) #手机参数这个元组中所含元素的个数
print(a[0]) #第一个值
print(a[1] ) #第二个值
print(a[2] ) #第三个值
>>> haha(1,"你好",2,3,4) # 收集参数内可以存放任意类型的元素
5
1
你好
2
特殊的,当函数有收集参数,还有别的参数时,在调用函数的时候,要将非收集参数用关键字参数的形式调用
>>> def haha(*a,c,d):
print(len(a))
print(c)
print(d)
>>> haha(1,2,3,4,5,6,c='c',d='d')
6
c
d