10分钟学会Python函数基础知识("10分钟速成:Python函数基础入门教程")
原创
一、函数的定义与调用
在Python中,函数是组织代码的基本单元,用于封装可重复使用的代码块。下面我们来学习怎样定义和调用函数。
1. 定义函数
使用`def`关键字来定义函数,后跟函数名和一对圆括号,圆括号内可以包含参数。函数体是缩进的代码块。
def say_hello(name):
print(f"Hello, {name}!")
2. 调用函数
调用函数时,需要使用函数名和圆括号,圆括号内传入相应的参数。
say_hello("Alice")
执行上述代码将输出:`Hello, Alice!`
二、函数参数
Python函数拥护多种参数形式,包括位置参数、关键字参数、默认参数、可变参数等。
1. 位置参数
位置参数是指在调用函数时按照函数定义时参数的顺序传值的参数。
def add(a, b):
return a + b
调用`add(3, 4)`将返回`7`。
2. 关键字参数
关键字参数允许你通过参数名来传递参数值,这样参数的顺序就不重要了。
add(b=4, a=3)
同样会返回`7`。
3. 默认参数
在函数定义中,你可以为参数设置默认值,这样在调用函数时如果不提供该参数,则会使用默认值。
def greet(name="World"):
print(f"Hello, {name}!")
调用`greet()`将输出:`Hello, World!`,调用`greet("Alice")`将输出:`Hello, Alice!`。
4. 可变参数
可变参数允许你传入任意数量的参数。使用`*args`来即位置可变参数,使用`**kwargs`来即关键字可变参数。
def my_function(*args, **kwargs):
for arg in args:
print(arg)
for key in kwargs:
print(f"{key}: {kwargs[key]}")
调用`my_function(1, 2, 3, a=4, b=5)`将输出:
1
2
3
a: 4
b: 5
三、函数的返回值
函数可以使用`return`语句返回一个值。如果没有`return`语句,函数会在执行完所有代码后返回`None`。
def add(a, b):
return a + b
调用`result = add(3, 4)`后,变量`result`的值为`7`。
四、函数的嵌套
函数可以嵌套定义,即在一个函数内部定义另一个函数。
def outer_function():
def inner_function():
print("This is the inner function.")
inner_function()
outer_function()
执行上述代码将输出:`This is the inner function.`
五、作用域
在Python中,变量的作用域决定了其生命周期和可访问性。全局作用域指的是在函数外部定义的变量,而局部作用域指的是在函数内部定义的变量。
1. 全局变量
在函数外部定义的变量是全局变量,可以在函数内部和外部访问。
global_var = "I am global."
def print_global_var():
print(global_var)
print_global_var()
执行上述代码将输出:`I am global.`
2. 局部变量
在函数内部定义的变量是局部变量,只能在函数内部访问。
def print_local_var():
local_var = "I am local."
print(local_var)
print_local_var()
# print(local_var) # 这将引发NameError
执行上述代码将输出:`I am local.`,但如果尝试在函数外部访问`local_var`,则会引发`NameError`。
六、模块与函数库
Python标准库中包含了许多内置模块和函数库,可以让我们方便地使用预定义的函数和功能。
1. 导入模块
使用`import`关键字来导入模块。
import math
现在可以调用`math`模块中的函数了,例如`math.sqrt(16)`将返回`4`。
2. 导入特定函数
可以使用`from ... import ...`语法来导入模块中的特定函数。
from math import sqrt
现在可以直接使用`sqrt(16)`而不需要`math.`前缀。
3. 导入所有函数
使用`from ... import *`可以导入模块中的所有函数和变量,但通常不推荐这样做,基于它大概会让命名冲突。
from math import *
总结
通过本文的学习,我们了解了Python函数的基础知识,包括函数的定义与调用、参数传递、返回值、嵌套、作用域以及模块的使用。这些知识是Python编程的基础,掌握它们对于后续的Python学习至关重要。