Python定义变量及共享
时间: 2024-10-20 17:08:05 浏览: 17
Python全局变量操作详解
在Python中,变量不需要事先声明其类型就可以直接赋值,这是一种动态类型的特性。你可以简单地给一个变量名赋一个值,如整数、字符串或列表等。例如:
```python
x = 5 # 定义一个整数变量
y = "Hello" # 定义一个字符串变量
my_list = [1, 2, 3] # 定义一个列表变量
# Python支持变量作用域的概念,全局变量和局部变量
global_var = "Shared globally"
def my_func():
local_var = "Shared locally within the function"
my_func()
print(global_var) # 输出:Shared globally
print(local_var) # NameError: name 'local_var' is not defined
```
当涉及到共享数据,Python有两种主要方式:
1. **引用传递(Pass by reference)**:对于复杂的数据结构(如列表和字典),当你将它们作为参数传递给函数时,实际上是传递了它们的引用而不是副本。这意味着函数内的修改会影响到原始数据。
2. **可变不可变(Mutable vs Immutable)**:对于可变类型(如列表和字典),如果在函数内部修改,会改变原变量;而对于不可变类型(如元组和大多数数字),则不会。这是因为在尝试修改不可变对象时,Python会创建一个新的对象。
阅读全文