目录
1、学习交流
2、内容介绍
3、理论与实操
作者:
编辑:
版本:
水...琥珀
李鑫
python3
对于新手而言,做了这么多每日一练,看了这么多历史文章中高大上的爬虫、深度学习等,怎么感觉对python仍旧没有底气呢,我掐指一算,套路缺你,亦或你缺套路,套路是什么,就是我们接下来的《Python自定义函数》教程。
对于不太新也不太老的python学习者而言,很多小伙伴应该和我一样,在自定义函数的实践方面,自己定义了成千上百了吧,这个就算没有专门学习也快要无师自通了,但是还是建议查漏补缺,比如在参数的设置方面,比如,默认参数、不定长参数,比如global调用全局变量等知识性问题。
对于老手便可选择看一下面的内容介绍,进行性阅读啦,老铁!
学习交流
关于函数的学习,之前和新入手的小伙伴交流过,他带着哭腔说Python这么多函数怎么记住呢(此处给他一个抱抱)。其实呢,Python一些特定的函数,使用频率也许不高,你可以不清清楚楚地记得拼写规则,但是你要知道这个功能python有、在哪个模块下面,在用的时候能够快速的描述需求,进而找到所需。
内容介绍
Python自定义函数学习内容:
查漏补缺系统学习一下Python自定义函数,本知识点分为两个部分:
函数部分,包含1.定义一个函数语法及简单规则;2.通俗实例;3.函数调用。
参数部分,包含1. 四种参数类型介绍;2.全局变量和局部变量;3. global 和 nonlocal关键字。
本次进行函数部分。
理论与实操
(一)全局变量和局部变量
顾名思义哈,站得高看得也远,定义在函数内部的变量拥有一个局部视野(作用域),定义在函数外的拥有全局视野(作用域)。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到该函数局部作用域中。看看实例更明白呦!
(二)通俗实例
total =#这是一个全局变量
#可写函数说明
defsum( arg1,arg2 ):
#返回2个参数的和."
total = arg1 + arg2# total在这里是局部变量.且此total非彼total
print("函数内是局部变量: ",total)
returntotal
#调用sum函数
sum(10,20)
print("函数外是全局变量: ",total)
以上实例输出结果:
函数内是局部变量 : 30
函数外是全局变量 : 0
(三)global 和 nonlocal关键字
当内部作用域想修改外部作用域的变量时“越俎代庖”,或者全局变量想进入定义的函数内部 “作威作福”,这时就要用到global和nonlocal关键字了。
global 英语的意思是全球的,python用以将外部的全局变量引入到定义函数中,在全局中有一个变量已经被定义,比如在统计党员信息表的时候,政治面貌先是作为全局变量已经被定义,在自定义的函数里面也需要使用政治面貌这个变量,那就用global将政治面貌情况变量引入自定义函数。
修改或者使用全局变量实例:
num =100
deffun1():
globalnum#需要使用global关键字声明
print(num)#使用全局变量
num =123#修改变量,同时这个变量的身份是全局变量
print(num)
fun1()
print(num)
运行结果:
100
123
123
Nonlocal,英语意思非局部的,对于一个定义函数,有多个层级或者说函数嵌套函数,内部嵌套的函数想要用外层函数的变量(不是全局变量)时使用。修改嵌套作用域(enclosing 作用域,外层非全局作用域)实例:
defouter():
num =100
definner():
nonlocalnum# nonlocal关键字声明
num =1001
print(num)
inner()
print(num)
outer()
运行结果:
1001
1001
试想,如果全局变量里面也有num,那这里的结果会怎么样呢,提示要分两种情况,是否global引入
配套教学视频
本系列练习可以配合计算机二级视频一起食用,观看地址为:
https://study.163.com/course/introduction.htm?courseId=1006044085
领取专属 10元无门槛券
私享最新 技术干货