7.1 创建函数
在 Python 中,创建函数是编程的一个基本方面,使代码更模块化、可重用和易读。Python 中的函数通过
关键字 def
来定义,后面跟着函数名称和带参数的圆括号。
你可以把函数想象成一组命令,把这些命令组合成一个组,并给这个组一个名字。声明函数的一般形式如下:
def 名称(参数):
命令1
命令2
命令N
Python 中最简单的函数可以这样写:
def greet():
print("Hello, World!")
调用函数时,只需写上它的名字和圆括号即可:
greet() # 输出: Hello, World!
调用函数相当于在调用处写出它的内部代码。与其一遍又一遍地写同样的代码,不如将其分成独立的块,并给它们命名。
7.2 向函数传递参数
如果函数每次都做同样的事情,那就没那么有趣了——仅仅是一个有名字的命令块而已。相反,函数立刻有了参数——通过这些参数可以向函数传递不同的值。
函数内部的变量称为函数的参数。当具体调用时传递给它们的值称为函数的参数。函数的参数只是接收参数的值。
def greet(name):
print("Hello,", name)
greet("Alice") # 输出: Hello, Alice!
带有两个参数的函数示例:
def print_sum(a, b):
print(f"和 {a} 和 {b} 是 {a + b}")
print_sum(10, 15) # 输出: 和 10 和 15 是 25
当然,你也可以传递完整的表达式作为参数:
def print_sum(a, b):
print(f"和 {a} 和 {b} 是 {a + b}")
print_sum(10*10-123, 15//2) # 输出: 和 -23 和 7 是 -16
有用提示! 对于 C/C++ 爱好者来说— 所有 Python 中的变量——从 C++ 的角度来看——是引用。函数参数也是如此。赋值时值从不被复制或重复——总是只分配引用。
7.3 函数是一个对象
在 Python 中,函数是一等公民对象,这意味着它们可以像其他对象一样使用。这为开发人员提供了强大的工具来创建灵活的软件解决方案。
函数作为对象
作为一等公民对象,Python 中的函数可以:
- 被赋值给变量
- 作为参数传递给其他函数
- 从其他函数返回
- 包含在数据结构中,例如列表、字典
示例:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Hello") # 调用函数
print(greeting)
greet(shout)
将来我们会多次讨论这个话题,不过现在请记住— Python 中的一切都是对象。函数、类、错误、列表、模块——一切都是。
GO TO FULL VERSION