注:doc为函数的默认属性

.一般系统默认属性都是双下横线开始,双下横线结束的

1什么是函数的开头文档?

注:函数的开头文档必须写在函数名字的下一行,它用单引号或双引号或三个双引号(三引号可以将内容写在多行)注释。且函数的开头文档只能出现一次。多写无效。

2.如何查看函数的开头文档

>>> def haha(a): 

'这个函数很无聊' 

print("因为这是%r写的"%a) 



 >>> haha("yzw") 

 因为这是'yzw'写的 


>>> def piupiu(a):
"这是一个智障的函数"
print("因为这是",a,"写的")>>> piupiu("SB")
 因为这是 SB 写的
>>> def a():
"""12345
 12345
 56789"""
print("hhhhh")

 >>> a()
 hhhhh

方法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