|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小牛有话说:
各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击帖子右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了 。
本期主要内容导读:
这一期我们归纳一下鱼神第十九讲“函数:我的地盘我做主”。这一期里面鱼神主要是介绍了在Python中全局变量和局部变量的概念以及区别。下面我们就来详细介绍一下各个知识点吧~~~~~~
1. 函数和过程的区别
函数和过程都是指一段实现特定功能的代码段,如果该段代码有返回值则称为函数,否则称为过程。在Python中只有函数而没有过程,就算是函数体内没有return语句返回一个值,Python程序也会返回一个空的返回值,举例说明:
>>> def empty():
print('就算没有使用return语句,我也是有返回值滴^_^')
>>> receive = empty()
就算没有使用return语句,我也是有返回值滴^_^
>>> type(receive)
<class 'NoneType'>
2. 函数可以返回多个值
在Python中函数是可以返回多个值的,因为它有列表和元组这些数据类型,举例说明:
>>> def back():
return '小甲鱼',3.14,10,True
>>> receive = back()
>>> receive
('小甲鱼', 3.14, 10, True)
>>> isinstance(receive,tuple)
True
>>>
3. 全局变量和局部变量
在Python中局部变量指的是在函数体内定义的变量,出了这个函数体程序就不认识它了,也就是其作用域仅限该函数体内部;而全局变量则是在函数体外定义的变量,它的作用域为整个代码段。这种作用域的差别从机理上讲是因为函数调用时其代码段和变量被临时存放到栈空间内,函数调用结束就收回该空间,所以函数体内定义的变量只在其函数体内有效。而全局变量则在整个程序代码段期间均有效,它只有在整个程序执行完成之后才会失效。所以在函数体内可以直接访问全局变量而不可以在函数体外访问局部变量(函数内定义的变量),举例说明:
>>> def discount(price,rate):
print('在函数体内访问全局变量old_price的值',old_price)
new_price = price*rate
print('这里输出局部变量new_price的值',new_price)
>>> old_price = 100
>>> discount_rate = 0.8
>>> discount(old_price,discount_rate)
在函数体内访问全局变量old_price的值 100
这里输出局部变量new_price的值 80.0
>>> print('这里试图在函数体外访问局部变量new_price的值',new_price)
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
print('这里试图在函数体外访问局部变量new_price的值',new_price)
NameError: name 'new_price' is not defined
在任何程序语言中全局变量的修改都必须谨慎,Python也不例外,当在函数体内对对全局变量进行修改时,Python程序会自动生成一个与全局变量名一样的局部变量,从而达到对全局变量保护(在函数体内的操作不会改变全局变量值)的作用,举例说明:
>>> def modify():
num = 50
print('输出全局变量letter的值',letter)
print('输出函数体内重新修改后的num的值',num)
>>> num = 100
>>> letter = 'A'
>>> modify()
输出全局变量letter的值 A
输出函数体内重新修改后的num的值 50
>>> print('输出全局变量letter的值',letter)
输出全局变量letter的值 A
>>> print('函数体外定义的num的值',num)
函数体外定义的num的值 100
|
评分
-
查看全部评分
|