Python里三大重点:
[函数 对象 模块]
今天学习的是Python的函数
本文主要从函数的创建,函数调用,入口参数三方面来记录:
1.基本函数的创建 - - def xxx():
#函数的定义
def MySecondFunc():
print('this is my second func in python!')
print('i am excited!')
函数的定义需要def 定义一个函数的名称,记得加上():
2.基本函数的调用 - - xxx():
#函数的调用
MySecondFunc()
3.函数的入口参数:
函数的参数分为:形参parameter 以及 实参 argument
示例:
def Fuc1(name):
'函数定义过程中的name就是形参'
#因为他只是一个形式,表示占据一个参数位置
print('传递进来的'+name+"叫做实参,因为他是具体的参数值")
Fuc1('yhr')
print(Fuc1.__doc__) #打印函数文档
函数文档是一串被定义的字符串,但是没有赋给变量名,仅仅是被程序记入,类似于注释;但是可以直接打印函数文档 如上文
print(Fuc1.__doc__) #打印函数文档
默认参数,关键字参数,收集参数:
默认参数:
定义函数时,在括号里给入口参数一个初始值:
有默认值的时候,调用可以不用填写参数
默认值要么全都有,要么有默认值的参数必须在没有默认值的后面
#默认值
def SaySome2(name, words="hhhh"):
print(name+" said "+words)
SaySome2('yhr')
#有默认值的时候,调用可以不用填写参数
#默认值要么全都有,要么有默认值的参数必须在没有默认值的后面
关键字参数:
调用函数时,若未使用关键字赋值,则需要严格按照顺序。否则很可能出现变量混乱赋值的情况,为了防止这种情况的发生,可以使用关键字赋值:
#关键字参数:
def SaySome(name, words):
print(name+" said "+words)
SaySome(name="yhr",words="she loves zwh!")
收集参数:
a. 收集参数 * : 当参数格数不确定时,可以用元组打包起来;
这里的收集参数用到了*,看起来类似于c-like语言里的指针,但是其实并不是指针哦!
def test(*params):
print("参数的长度是:",len(params))
print("第二个参数是:",params[1])
test(1,'yhr',' is ','tired')
b. 如果收集参数和普通参数一起用,就得使用关键字参数
#如果收集参数和普通参数一起用,就得使用关键字参数
def test2(*params,name='default'):
print("params参数的长度是:",len(params))
print("name is",name)
print("第二个参数是:",params[1])
#关键字参数使用例程:
test2(1,2,3,'yhr',5,name='yhr')