文章目录
一. python函数:灵活即强大
1. 内容导图
2. 形参和实参
有一点编程基础都可以理解,此处不做解释
引入一个新概念——函数文档
函数体开头字符串是函数文档字符串
>>> def FirstFunction(name):
"函数定义中name是形参"
#形参只是一个形式,代表占据一个参数的位置
print("调用此函数传递进来的"+name+"叫做实参")
>>> FirstFunction("大表哥")
调用此函数传递进来的大表哥叫做实参
3. 函数文档详解
4. 关键字参数
>>> def SayWhat(name,sentence):
print(name+"说"+sentence)
>>> SayWhat(name="小花",sentence="屁话")
小花说屁话
>>>
5. 默认参数
>>> def SayWhat(name="小明",sentence="想要飞"):
print(name+"说"+sentence)
>>> SayWhat()
小明说想要飞
>>> SayWhat("小小也")
小小也说想要飞
>>>
6. 收集参数/可变参数
顾名思义参数个数是可变的,参数前加*
>>> def test(*params):
print("参数的长度是",len(params))
print("第二个参数是",params[1])
>>> test(1,"小花" , 3 , 8.2)
参数的长度是 4
第二个参数是 小花
>>>
二. python函数:我的地盘听我的
1. 内容导图
2. 函数与过程
函数:有返回值
过程:无返回值的函数称为过程
对于python而言,只有函数,没有过程,因为即使没有return语句,python函数也会返回None这个对象
>>> def NoReturn():
print("啦啦")
>>> NoReturn()
啦啦
>>> temp=NoReturn()
啦啦
>>> print(temp)
None
>>> type(temp)
<class 'NoneType'>
>>>
3. 再谈谈返回值
python的返回值较为强大,可以同时返回多个值(打包成列表或者元组返回多个值)
看代码:
>>> def NoReturn1():
return 1,3,4,5
>>> NoReturn1()
(1, 3, 4, 5)
>>> temp=NoReturn1()
>>> type(temp)
<class 'tuple'>
----------
>>> def NoReturn2():
return [1,3,4,5]
>>> NoReturn2()
[1, 3, 4, 5]
>>> temp=NoReturn2()
>>> type(temp)
<class 'list'>
4. 函数变量的作用域
全局变量:定义在函数外的变量称之为全局变量,作用域为全局。
局部变量:利用栈存储数据,语句执行完,自动给删除掉数据;简而言之,作用域在函数内。
当你在函数内定义一个与全局变量一样名字的变量时,相当于你在函数内重新定义了一个局部变量,因为在函数内重新定义这个变量后,无论你在函数内怎样改动这个函数的值,只有在函数内生效,对全局来说是没有任何影响的。也可以从推出,函数内定义的局部变量优先级大于全局变量。