Python 中的函数定义和调用
在Python中,定义一个函数通常需要使用`def`关键字,后面跟着函数名和括号,括号内可以包含参数。函数体用冒号`:`开始,并且缩进。下面是一个简单的Python函数定义的例子:
```python
def greet(name):
print("你好, " + name + "!")
```
在这个例子中,`greet`是一个函数名,而`name`是函数的一个参数。函数体包括一个`print`语句,用于向调用者问候。
调用这个函数,你可以把参数传递给函数,用圆括号`()`包围函数名,并在括号内提供相应的值,如下所示:
```python
greet("张三")
```
当调用`greet("张三")`时,程序会输出:
```
你好, 张三!
```
你可以不带任何参数调用一个函数,如果函数定义时没有参数,调用时也无需使用括号:
```python
greet()
```
如果函数有多个参数,可以像下面这样调用:
```python
def add(a, b):
return a + b
result = add(5, 10)
print(result) # 输出 15
```
Python还允许使用默认参数、可变参数列表以及关键字参数,使函数定义和调用更加灵活。
- 默认参数:在定义函数时为参数指定一个默认值,如果调用时没有提供该参数的值,将使用这个默认值。
- 可变参数列表:使用`*`操作符,可以让函数接受任意数量的位置参数,这些参数会打包成一个元组。
- 关键字参数:使用`**`操作符,可以让函数接受任意数量的关键字参数,这些参数会被打包成一个字典。
使用这些高级特性,函数可以更加通用和灵活,以下是相应的例子:
```python
# 默认参数
def greet_with_default(name, greeting="你好"):
print(greeting + ", " + name + "!")
greet_with_default("李四") # 输出 "你好, 李四!"
greet_with_default("王五", "您好") # 输出 "您好, 王五!"
# 可变参数列表
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3, 4)) # 输出 10
# 关键字参数
def describe_pet(animal_type, pet_name="小猫"):
print("我有一只" + animal_type + ",名字叫" + pet_name + "。")
describe_pet("狗狗", pet_name="旺财") # 输出 "我有一只狗狗,名字叫旺财。"
describe_pet(pet_name="喵喵") # 输出 "我有一只宠物,名字叫喵喵。"
```
以上就是在Python中定义和调用函数的基础知识。