Python的学习⼼得和知识总结(五)Python函数
2020年4⽉13⽇10:12:26
编程先学c语言还是pythonPython函数
提及函数,对于熟悉C语⾔的⼈⽽⾔ 过程化的编程语⾔⾥⾯的函数简直就是灵魂般的存在。函数是⼀段可以重复使⽤,完成⼀个功能(或者⼀个任务)的程序代码块。函数的作⽤如下:
1、代码复⽤
2、代码⼀致性:只要修改函数的代码内容,该函数所有的调⽤处 都会被影响。因此函数功能的分割要尽量简单 单⼀ 明确。
⽽函数的编写和调⽤,也是⾮常简单的。主要包括:代码封装、函数调⽤、传递参数和函数返回等部分。
函数的概念和分类
1、⼀个程序由⼀个个⼩的⼦任务组成:⼀个个的函数就可以代表这些任务或者功能
2、函数是代码复⽤的通⽤机制
在Python⾥⾯,函数主要是分为以下⼏类:
1. 内置函数:可以拿来直接使⽤的,例如:str()、list()、len()等
2. 标准库函数:使⽤import语句 导⼊这些库,直接使⽤其中定义好的函数
3. 第三⽅库函数:下载这些库之后,也是通过import来导⼊
4. ⽤户⾃定义函数:为了完成⾃⾝某项需求的⾃定义函数
前⾯也说了,在Python⾥⾯ ⼀切皆对象。当然这⾥的函数也是对象。执⾏完成def之后,系统新创建的函数对象由前⾯的函数名变量来引⽤。
上⾯例⼦的整个过程如下:
函数的定义和调⽤
在Python⾥⾯,定义⼀个函数的语法规则如下:
def functionname (【参数列表】):
----函数体(⼏条语句)
注意事项如下:
1、当使⽤def来定义函数的时候,紧接着是⼀个空格和functionname 。具体的动作:Python执⾏def时,创建⼀个函数对象,然后
将其绑定到functionname 变量上⾯。函数对象是“function”类型
2、【参数列表】:⽆参数时,也得有⼩括弧;有形参时,之间⽤逗号隔开。形参不需要声明类型,也不需要指定函数返回值类型。但
是形参必须和实参⼀⼀对应。
3、return 返回值:若是函数体⾥⾯有return 语句,则函数结束 执⾏return(返回 值);若是没有,则
返回NONE值
4、调⽤肯定在定义之后(即:先调⽤def创建函数对象)。对于内置函数对象 会⾃动创建;标准库或者第三⽅库,通过import导⼊
模块时,会执⾏模块⾥⾯的def语句
实例1:
函数的形参和实参
形式参数是在定义函数时使⽤,其命名只要符合“标识符命名规则”即可(使⽤在函数体⾥⾯,相当于局部变量)。实参是在调⽤该函数的时候,传递的参数。实例如下:
上⾯就是在函数定义之后(def的下⾯第⼀⾏),使⽤三个 双引号or单引号,即:⽂档字符串来进⾏函数的注释说明。
若是我们想看⼀下某个函数的⽂档字符串是怎么说明函数的,如下:
def_myadd(a,b):
"""
这是注释:下⾯的函数实现两个整数相加
可以是多⾏ or ⼀⾏
"""
c=a+b
return c
print(_myadd(1,1))
print('******************')
for i in range(4):
c=_myadd(i,1)
print(c)
help(_myadd.__doc__)#传递函数名(也就是变量),其__doc__属性保存⽂档字符串
上⾯的help函数 就可以实现,如下:
函数的返回值说明
函数的返回值是使⽤return来完成的,主要注意事项有下⾯⼏点:
1、若是函数体⾥⾯包含return语句,则由其结束函数并返回值
2、若是没有,则函数的返回值是None值
3、若是返回多个返回值,使⽤列表、元组、字典和集合将多个值“存起来”即可
OK 下⾯我们来对return 做⼀个简单的介绍,return有两个作⽤:
1、结束⽅法的运⾏
2、返回值
注:我们通常并不将return放到异常处理的结构中,⽽是放在⽅法的最后。
Python变量作⽤域
说到变量的作⽤域:也就是在说 全局变量和局部变量。变量起作⽤的范围称之为变量作⽤域,在不同的作⽤域内 即使同名的变量也互不影响。
全局变量:
1、在函数和类定义 外⾯声明or定义的变量。作⽤域:⾃开始定义的地⽅直到模块结束
2、应避免全局变量的使⽤:因为降低函数的通⽤性和可读性
3、在Python⾥⾯,全局变量⼀般作为常量使⽤(供其他函数的使⽤)
4、若是需要在函数内改变全局变量的值,需要使⽤global声明⼀下
局部变量:
1、在函数体⾥⾯(包括形参)声明or定义的变量
2、要优先使⽤局部变量:因为其引⽤⽐全局变量更快
3、若是局部变量和全局变量同名,在函数内则 隐藏全局变量,⽽是使⽤这个局部变量(就近原则)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论