鱼C论坛

 找回密码
 立即注册
查看: 6368|回复: 35

[技术交流] 《零基础入门学习Python》19讲内容归纳

[复制链接]
发表于 2015-9-22 16:31:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


评分

参与人数 1鱼币 +1 收起 理由
poiulp + 1 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-22 16:32:30 | 显示全部楼层
本帖最后由 醉酒青牛 于 2015-9-22 16:33 编辑

自己先顶一下,关于变量作用域问题,欢迎各位鱼油过来交流
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-22 17:52:36 | 显示全部楼层
迎来了第19集了。
从这些例子和分析以及整理笔记段落内容来说。
青牛兄愈来愈成熟了,
在不久的将来,青牛兄亦能成为和鱼神一般的灵魂人物。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-22 19:35:07 | 显示全部楼层
太空军校生 发表于 2015-9-22 17:52
迎来了第19集了。
从这些例子和分析以及整理笔记段落内容来说。
青牛兄愈来愈成熟了,

感谢军校生支持,小牛也只是刚入门而已,现在作总结只是站在巨人的肩膀上的的一点点的前进,希望咱们多探讨这些知识点本身的知识,一起坚持下去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-22 22:03:36 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-24 12:44:11 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-24 19:55:32 | 显示全部楼层

感谢支持,感兴趣的话可以订阅小牛的淘贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-28 08:03:09 | 显示全部楼层
跟~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-28 13:58:46 | 显示全部楼层
也就是说在函数体外想修改局部变量的值,只能在函数体内重新赋值,如果函数体外需要这个值,在通过return返回。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-29 10:52:54 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-31 22:31:00 | 显示全部楼层
预赞下,再看视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-31 23:48:54 | 显示全部楼层
loco_v 发表于 2015-9-28 13:58
也就是说在函数体外想修改局部变量的值,只能在函数体内重新赋值,如果函数体外需要这个值,在通过return返 ...

还能在函数体外修改局部变量,貌似不能吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-31 23:49:59 | 显示全部楼层
这一节是比以前的难懂了…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-1 22:55:49 | 显示全部楼层
回文联那个这样是不是也行
def pd(hua):
    a=len(hua) #zifuchang
    b=a//2
    i=0
    while i <=b :
        if hua[i] == hua[-(i+1)]:
            i+=1
        else:
            print('不是回文联')
            break
    print('是回文联')
         

str1=input('请输入一句话:')
pd(str1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-1 22:57:18 | 显示全部楼层
看着视频没觉得太难,只是有的地方稍有点晕,一做后边的习题才感觉好难
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-8 15:49:30 | 显示全部楼层
看小牛整理的帖子必赞  :lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-8 16:13:05 | 显示全部楼层
阿鸿 发表于 2015-11-8 15:49
看小牛整理的帖子必赞

感谢阿鸿,一起加油,共同进步,早日入门。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-17 22:46:21 | 显示全部楼层
这一节有点绕晕
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-22 17:57:23 | 显示全部楼层
全局变量  局部变量再加上函数嵌套,都快弄晕了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-24 21:08:29 | 显示全部楼层
函数会返回值,过程是不会返回值 python 只有函数,返回可以返回一个或者多个值。
局部可以访问全局,全局不可以访问局部
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表