Python 编程深入浅出:第 6 章238


## 变量作用域
在 Python 中,作用域决定了变量的生存期和可访问性。变量的作用域是由代码块(如函数、循环或类)定义的,变量只能在定义它的代码块内访问和使用。


局部变量
局部变量在函数或其他代码块内定义,仅在该代码块内可用。当代码块执行完毕,局部变量就会被销毁。
```python
def my_function():
x = 10 # 局部变量
my_function()
# 访问局部变量 x 会导致错误
```


全局变量
全局变量在函数或其他代码块之外定义,可以在整个程序中使用。全局变量通常用于存储在程序执行期间需要访问的持久数据。
```python
x = 10 # 全局变量
def my_function():
print(x) # 访问全局变量 x
```


局部变量和全局变量的冲突
当局部变量和全局变量具有相同名称时,局部变量将覆盖全局变量,并且在局部变量的作用域内,全局变量将不可访问。
```python
x = 10 # 全局变量
def my_function():
x = 20 # 局部变量,覆盖全局变量
print(x) # 打印局部变量 x
my_function()
# 打印 20,局部变量 x 覆盖了全局变量 x
```
## 函数
函数是一组可在程序中重用的代码块。函数允许我们对复杂或重复的任务进行模块化,从而提高代码的可读性和可维护性。


定义函数
```python
def my_function(arg1, arg2):
"""函数文档字符串"""
# 函数体
```
* my_function:函数名称
* arg1, arg2:函数参数
* """函数文档字符串""":函数文档字符串,描述函数的目的和用法


调用函数
```python
my_function(1, 2)
```
* my_function:要调用的函数名称
* 1, 2:传递给函数的参数


返回值
函数可以通过 `return` 语句返回一个值。如果函数没有显式返回一个值,它将返回 `None`。
```python
def my_function():
return 10
```
## 模块
模块是一组相关函数、类和变量,它们被组织在一个文件中。模块允许我们将代码组织成不同部分,并根据需要在不同的程序中重用它们。


创建模块
```python
#
def my_function():
# 函数体
```


导入模块
```python
import my_module
my_module.my_function() # 调用模块中的函数
```
* import my_module:导入名为 `my_module` 的模块
* my_module.my_function():调用模块中的 `my_function` 函数


模块的搜索路径
Python 在特定目录中搜索模块,称为 模块搜索路径。搜索路径包含当前工作目录、标准库目录以及任何其他已添加到搜索路径中的目录。
## 包
包是一组相关的模块,它们被组织在一个文件夹中。与模块类似,包允许我们将代码组织成更细粒度的部分。


创建包
```python
# my_package/



```
* :一个空文件,指示文件夹是一个包
* 和 :包中的模块


导入包
```python
import my_package # 导入包
my_package.my_module1.my_function() # 调用包中模块的函数
```
* import my_package:导入名为 `my_package` 的包
* my_package.my_module1.my_function():调用包中 `my_module1` 模块的 `my_function` 函数


包的搜索路径
Python 在特定的目录中搜索包,称为 包搜索路径。包搜索路径包含当前工作目录、标准库目录以及任何其他已添加到搜索路径中的目录。

2025-02-04


上一篇:Python 漫画教程:轻松入门编程

下一篇:Python编程神技:揭秘大师级的代码技巧