《零基础入门学习Python》学习过程笔记【018函数开头文档,及参数相关问题】

注:doc为函数的默认属性

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

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

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

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


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








posted on 2017-07-31 06:28  我是蒟蒻  阅读(121)  评论(0编辑  收藏  举报

导航