亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

精通Python函数:语法、类型与实战示例

Python函数

本文讲解函数是什么、语法、组成部分、类型,并教你在Python中创建函数。

视频:Python函数简介

Python中什么是函数?

Python中,函数是执行特定任务的一组相关语句。

函数帮助将程序拆解为更小、模块化的块。程序越大,函数使其更有条理、可管理。

此外,避免重复,使代码可复用。

函数语法

def function_name(parameters):
    """docstring"""
    statement(s)

上述函数定义包含以下组成部分:

  1. 关键字 def 标记函数头开始。
  2. 函数名唯一标识函数。命名遵循Python标识符规则。
  3. 参数(实参)用于向函数传值。可选。
  4. 冒号(:)标记函数头结束。
  5. 可选文档字符串(docstring)描述函数功能。
  6. 一个或多个有效Python语句组成函数体。语句缩进一致(通常4空格)。
  7. 可选 return 语句从函数返回值。

函数示例

def greet(name):
    """This function greets to the person passed in as a parameter"""
    print("Hello, " + name + ". Good morning!")

如何在Python中调用函数?

定义函数后,可从另一函数、程序甚至Python提示符调用。调用函数只需输入函数名加适当参数。

>>> greet('Paul')
Hello, Paul. Good morning!

在包含函数定义的Python程序中运行上述代码查看输出。

def greet(name):
    """This function greets to the person passed in as a parameter"""
    print("Hello, " + name + ". Good morning!")
greet('Paul')

注意:Python中函数定义必须在函数调用前出现。否则报错。例如:

# 函数调用
greet('Paul')
# 函数定义
def greet(name):
    """This function greets to the person passed in as a parameter"""
    print("Hello, " + name + ". Good morning!")
# Error: name 'greet' is not defined

文档字符串

函数头后的第一个字符串称为docstring,即文档字符串简写。简要说明函数功能。

虽可选,但文档是良好编程实践。除非你能记起上周晚餐吃什么,否则始终为代码写文档。

上例中,函数头下紧跟docstring。通常用三引号使docstring可跨多行。该字符串可作为函数的 __doc__ 属性访问。

例如:

在Python shell运行以下代码查看输出。

>>> print(greet.__doc__)
This function greets to the person passed in as a parameter

深入了解Python文档字符串,访问Python Docstrings。


return语句

return 语句用于退出函数并回到调用处。

return语法

return [expression_list]

语句可含表达式,求值后返回该值。若语句无表达式或函数内无 return,函数返回 None 对象。

例如:

>>> print(greet("May"))
Hello, May. Good morning!
None

此处 None 为返回值,因 greet() 直接打印名字且未用 return。


return示例

def absolute_value(num):
    """This function returns the absolute value of the entered number"""
    if num >= 0:
        return num
    else:
        return -num
print(absolute_value(2))
print(absolute_value(-4))

输出

2
4

Python中函数如何工作?

精通Python函数:语法、类型与实战示例

变量作用域与生命周期

变量作用域是程序中识别该变量的部分。函数内定义的参数和变量从外部不可见,故为局部作用域。

变量生命周期是变量在内存中存在的期间。函数内变量生命周期持续到函数执行结束。

返回函数时它们被销毁。因此函数不记忆前次调用的变量值。

示例说明函数内变量作用域:

def my_func():
    x = 10
    print("Value inside function:", x)
x = 20
my_func()
print("Value outside function:", x)

输出

Value inside function: 10
Value outside function: 20

此处 x 初始为20。虽函数 my_func() 将 x 改为10,但未影响函数外值。

因为函数内 x 不同(局部于函数)于外部。虽同名,实为不同作用域的两个变量。

另一方面,函数外变量从内部可见,拥有全局作用域。

可从内部读取这些值但不能修改(写入)。要修改函数外变量,必须用 global 关键字声明为全局变量。


函数类型

基本可将函数分两类:

  1. 内置函数 - Python内置的函数。
  2. 用户定义函数 - 用户自定义的函数。

Python

  1. Stratasys FDM打印优化必知:Insight软件10大核心功能
  2. 精通Python运算符:全面指南
  3. 精通Python函数参数:位置、关键字与默认参数
  4. Python Lambda匿名函数实战指南
  5. 精通 Python 字典:创建、操作与进阶技巧
  6. Python 生成器:高效迭代与进阶用例
  7. Python 闭包详解:嵌套函数如何捕获变量
  8. 精通 Python 装饰器:专家技巧增强函数
  9. Python strip() 方法完全指南:去除首尾空白与自定义字符实战
  10. 精通 Python Lambda 函数:实用示例与最佳实践
  11. Python round() 函数详解与实战示例
  12. 精通 Python map() 函数:语法、示例与最佳实践