Python函数入门指南
发表时间: 2024-03-20 06:26
函数使代码更易于阅读,因为无需在代码库中一遍又一遍地复制相同的代码。通过接收来自其他代码块的参数,函数还减少了相关代码块的使用。
'def' 关键字用于在 Python 中定义函数。然后,函数的名称写在括号和冒号之后。这样,就可以创建一个没有参数的函数。函数的代码必须在下一行缩进一个制表符或四个空格。例如:
def my_func(): print(“Hello world”)
函数必须按名称调用并给定必要的输入参数才能使用。例如:
my_func()
在 Python 中,使用括号来定义函数的参数。可以将该参数用作函数内部的常规变量。例如:
def my_func(name): print(“Hello”, name)my_func(“Sarper”)
在本例中,输出为 Sarper 。使用多个参数与使用单个参数相同。
def my_func(word1, word2): print(word1, word2)my_func(“Hello”, ”World”)
此函数的输出为 Hello World 。
*args 是 Python 函数中一种特殊类型的变量,它允许将多个参数传递给函数。使用 *args ,可以将任意数量的参数传递给函数,这些参数将作为函数内部的元组收集。例如
def func(*args): print("Type:", type(args)) for i in args: print(i)func(1, 2, 3)# OUTPUT# Type: <class 'tuple'># 1# 2# 3
也可以使用 *args 不同的名称。
def func(*numbers): print("Type:", type(numbers)) for i in numbers: print(i)func(1, 2, 3)# OUTPUT# Type: <class 'tuple'># 1# 2# 3
**kwargs 是 Python 函数中的另一个特殊变量,它允许将关键字参数传递给函数。使用 **kwargs ,可以在函数内收集任意数量的关键字参数作为字典。当需要从用户那里收集自定义或其他信息时,这可能很有用。例如:
def print_info(name, **kwargs): print("Name:", name) for key, value in kwargs.items(): print(key.capitalize() + ":", value)print_info("John", age=25, city="New York", job="Developer")# OUTPUT:# Name: John# Age: 25# City: New York# Job: Developer
可以通过在变量前面使用 ** 来与其他名称一起使用 **kwargs 。
def example_function(name, age, *args, **kwargs): print("Name:", name) print("Age:", age) for arg in args: print("Extra argument:", arg) for key, value in kwargs.items(): print(key.capitalize() + ":", value)example_function("John", 25, "extra_arg1", "extra_arg2", city="New York", job="Developer")
Name: JohnAge: 25Extra argument: extra_arg1Extra argument: extra_arg2City: New YorkJob: Developer