python如何定义函数:语法与实操要点

python如何定义函数使用def关键字完成声明,基础语法结构为def函数名(参数列表):缩进书写函数体,末尾可通过return返回运算结果,该写法适配Python3.x全部正式发行版本,适合需要复用代码、拆分业务逻辑、封装重复计算流程的开发者,初学者、后端脚本编写、数据处理脚本场景均可直接套用,若你需要无参数、带默认参数、可变长参数、带类型注解的函数,只需要调整括号内参数部分,函数名命名需遵守Python标识符规则,不能以数字开头,不能使用if、for这类保留关键字。

python如何定义函数的基础语法

你输入def之后紧跟空格,接着写自定义函数名称,名称推荐使用小写字母搭配下划线,例如calc_sum,后面紧跟英文圆括号,括号内部填写形参,圆括号之后必须写英文冒号,换行之后使用4个空格缩进编写函数内部代码,这是Python官方PEP8编码规范推荐的缩进标准,函数体内如果需要向外传递计算结果,使用return语句,没有return的函数执行结束后默认返回None。基础示例代码:defadd_num(a,b):result=a+breturnresult调用时写add_num(3,5),程序就会执行函数内部代码并拿到返回值8。

函数定义完成后不会自动运行代码,只有调用函数时才会执行函数体内部语句,这是很多新手容易混淆的点,只写def代码块不调用,控制台不会输出任何运算结果。

python如何定义函数的参数类型写法

Python函数参数支持多种形态,普通位置参数按传入顺序匹配形参,默认参数在形参后面赋值,调用时不传该参数就使用预设值,*args接收不定数量的位置参数,会打包成元组,kwargs接收不定数量的关键字参数,会打包成字典,Python3.5之后支持类型注解,在形参后面加冒号标注类型,例如defgreet(name:str)->str:,类型注解仅做提示,解释器运行时不会强制校验类型,传入不匹配类型依然可以执行。

参数形式书写格式适用场景
普通位置参数deffunc(a,b)参数数量固定,按顺序传值
默认参数deffunc(a,b=10)部分参数有固定初始值,调用可省略
可变位置参数deffunc(*args)参数个数不确定,收集多组位置值
可变关键字参数deffunc(kwargs)参数名不固定,收集键值对数据

默认参数如果使用可变对象作为默认值,例如deffunc(data=[]),多次调用函数时会复用同一个列表对象,多次追加数据会累积保留之前修改内容,这属于该写法的适用边界,需要累积数据可保留该写法,需要每次调用重置数据,应当把默认值设置为None,在函数内部新建空列表。

python如何定义函数的补充写法与调用规则

除了def定义命名函数,Python还支持lambda匿名函数,写法为lambda参数:表达式,适合单行简单运算,不需要单独命名,但是lambda只能写单行表达式,不能包含循环、多分支多行语句,复杂业务逻辑仍然推荐使用def定义命名函数。

你定义函数时,函数内部变量属于局部作用域,默认不能直接修改函数外部全局变量,若需要修改全局变量,需要在函数体内添加global声明,未添加声明时,读取全局变量允许,赋值操作会新建同名局部变量。

函数定义支持文档字符串,在函数体第一行写三引号包裹的说明文本,调用help(函数名)就可以查看这段说明,便于后续维护代码,PEP8规范推荐公开函数补充文档字符串,标注参数含义、返回值、功能说明。

定义函数时缩进必须统一,同一层级代码缩进空格数保持一致,混用空格与Tab会触发IndentationError缩进报错,编写代码时优先统一使用4空格缩进。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于python如何定义函数的文章欢迎访问:百科