十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中函数的定义与创建详解》。本文的主要内容有:函数的定义、函数的定义规则、函数的创建。
创新互联是一家专注于成都做网站、网站设计与策划设计,华州网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:华州等地区。华州做网站价格咨询:18982081108
我们在中学的时候,在数学课中学过函数,函数是数学最重要的一个模块。在Python中,函数的应用非常广泛。在前面我们已经多次接触过函数。例如,用于输出的print()函数,用于输入的input()函数,以及用于生成一系列整数的range()函数。但这些都是Python内置的标准函数,可以直接使用。除了可以直接使用的标准函数外,Python还支持自定义函数。即通过将一段有规律的、重复的代码定义为函数,来达到一次编写、多次调用的目的。使用函数可以提高代码的重复利用率。
那什么是函数呢?
1、函数的定义
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数的输入可称为参数,输出可称为返回值。
2、函数的定义规则
2.1、函数代码块要以 def 关键词开头,后接函数标识符名称与括号(),同时不要忘记冒号':'的使用
2.2、不主动调用函数时,函数不会被使用
2.3、圆括号之间可以用于定义参数,任何入参数和自变量必须放在圆括号中间。
2.4、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
2.5、函数内容以冒号起始,并且缩进。
2.6、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3、函数的创建
创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具。使用def关键字实现,具体的语法格式如下:
def functionname([parameterlist]): ['''comments'''] [functionbody]
参数说明如下:
functionname:函数名称,在调用函数时使用。
parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用逗号“,”分隔。如果不指定,则表示该函数没有参数。在调用时,也不指定参数。
'''comments''':可选参数,表示为函数指定注释,注释的内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。
functionbody:可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用return语句返回。
站长在线提醒你:
1、函数体“functionbody”和注释“'''comments'''”相对于def关键字必须保持一定的缩进。
2、如果想定义一个什么也不做的空函数,可以使用pass语句作为占位符。
例如,定义一个过滤危险字符的函数filterchar(),代码如下:
运行上面的代码,将不显示任何内容,也不会抛出异常,因为filterchar()函数还没有调用。
在下一个知识点,站长在线就来讲解《在Python中函数的调用》。关注站长在线,学习Python不迷路!欢迎你对站长在线进行关注,评论,点赞,分享、转发!
简答来说:通过外部的一个变量 \x0d\x0aT=fasle\x0d\x0adef regist():\x0d\x0a""" 注册"""\x0d\x0a print “注册”\x0d\x0a T=true\x0d\x0a\x0d\x0adef login():\x0d\x0a""" 登陆"""\x0d\x0a if not T:\x0d\x0a print "先注册"\x0d\x0a return\x0d\x0a print “登陆成功”\x0d\x0a\x0d\x0adef logout():\x0d\x0a""" 注销"""\x0d\x0a T=fasle\x0d\x0a\x0d\x0a一般的话 \x0d\x0a注册后都会在数据库中 记录注册信息 \x0d\x0a登陆的时候 先去到数据库中查看是否有 没有返回空 有的话返回注册信息 ,比如登陆密码 用于下步的密码核对
没有结束符。Python是通过缩进代码来区分函数、For循环、IF语句等。
简答来说:通过外部的一个变量
T=fasle
def regist():
""" 注册"""
print “注册”
T=true
def login():
""" 登陆"""
if not T:
print "先注册"
return
print “登陆成功”
def logout():
""" 注销"""
T=fasle
一般的话
注册后都会在数据库中 记录注册信息
登陆的时候 先去到数据库中查看是否有 没有返回空 有的话返回注册信息 ,比如登陆密码 用于下步的密码核对
首先分两种情况:
1.交互窗口处执行:这个时候由于python的强制缩进,因此想要结束函数的定义只需要按两下enter即可。
2.在.py文件中编写,结束函数只需要不再缩进即可
调用函数方法相同,把函数名及参数写上就可以了,如果有返回值可以
r=functionA(var1)
附:测试代码(python3运行通过)
# -*- coding:utf-8 -*-
#author:zfxcx
def pt():
print("hello")
pt()
一、函数的定义
函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用函数名即可
特性:
减少重复代码
使程序变得可扩展
使程序变得易维护
二、函数的参数
2.1、形参和实参数
形参,调用时才会存在的值
实惨,实际存在的值
2.2、默认参数
定义:当不输入参数值会有一个默认的值,默认参数要放到最后
2.3、 关键参数
定义: 正常情况下,给函数传参数要安装顺序,不想按顺序可以用关键参数,只需要指定参数名即可,(指定了参数名的就叫关键参数),但是要求是关键参数必须放在位置参数(以位置顺序确定对应的参数)之后
2.4、非固定参数
定义: 如你的函数在传入参数时不确定需要传入多少个参数,就可以使用非固定参数
# 通过元组形式传递
# 通过列表形式传递
# 字典形式(通过k,value的方式传递)
# 通过变量的方式传递
三、函数的返回值
作用:
返回函数执行结果,如果没有设置,默认返回None
终止函数运行,函数遇到return终止函数
四、变量的作用域
全局变量和局部变量
在函数中定义的变量叫局部变量,在程序中一开始定义的变量叫全局变量
全局变量作用域整个程序,局部变量作用域是定义该变量的函数
当全局变量与局部变量同名是,在定义局部变量的函数内,局部变量起作用,其他地方全局变量起作用
同级的局部变量不能互相调用
想要函数里边的变量设置成全局变量,可用global进行设置
五、特殊函数
5.1、嵌套函数
定义: 嵌套函数顾名思义就是在函数里边再嵌套一层函数
提示 在嵌套函数里边调用变量是从里往外依次调用,意思就是如果需要调用的变量在当前层没有就会去外层去调用,依次内推
匿名函数
基于Lambda定义的函数格式为: lambda 参数:函数体
参数,支持任意参数。
匿名函数适用于简单的业务处理,可以快速并简单的创建函数。
# 与三元运算结合
5.3、高阶函数
定义:变量可以指向函数,函数的参数可以接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 只需要满足一下任意一个条件,即是高阶函数
接收一个或多个函数作为输入
return返回另一个函数
5.4、递归函数
定义:一个函数可以调用其他函数,如果一个函数调用自己本身,这个函数就称为递归函数
在默认情况下Python最多能递归1000次,(这样设计师是为了防止被内存被撑死)可以通过sys.setrecursionlimit(1500)进行修改
递归实现过程是先一层一层的进,然后在一层一层的出来
必须有一个明确的条件结束,要不然就是一个死循环了
每次进入更深层次,问题规模都应该有所减少
递归执行效率不高,递归层次过多会导致站溢出
# 计算4的阶乘 4x3x2x1
# 打印数字从1-100
5.5、闭包现象
定义:内层函数调用外层函数的变量,并且内存函数被返回到外边去了
闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域