python 公共变量
时间: 2023-11-10 20:02:06 浏览: 48
在Python中,公共变量是可以在不同的函数或类中共享和访问的变量。公共变量通常在全局范围内定义,并且可以在整个代码中使用。
例如,我们可以在全局范围内定义一个公共变量,并在不同的函数中使用它:
```python
x = 10
def func1():
print(x)
def func2():
print(x)
func1() # 输出:10
func2() # 输出:10
```
在上面的示例中,变量`x`是一个公共变量,可以在`func1()`和`func2()`函数中共享和访问。
然而,如果你想在一个函数中修改全局的公共变量,你需要使用`global`关键字来声明变量,在函数内部标记变量为全局范围。
```python
x = 10
def func():
global x
x = 20
print(x) # 输出:10
func()
print(x) # 输出:20
```
在上面的示例中,我们使用了`global`关键字将变量`x`标记为全局范围,并在`func()`函数内部修改了它的值。
相关问题
python如何使变量变成公共的
在 Python 中,可以通过在变量名前添加下划线(_)或者双下划线(__)来表示变量的访问权限。以单个下划线开头的变量表示这是一个受保护的变量(protected),它可以被类的内部和子类访问,但不应该被外部访问。以双下划线开头的变量表示这是一个私有变量(private),只能由类的内部方法访问,子类和外部都不能访问。
如果要让变量变成公共的(public),则不需要在变量名前添加任何下划线。在类的内部和外部都可以访问这个变量。例如:
```python
class MyClass:
def __init__(self):
self.public_variable = 42
self._protected_variable = "hello"
self.__private_variable = "world"
obj = MyClass()
print(obj.public_variable) # 可以访问
print(obj._protected_variable) # 也可以访问,但不推荐
print(obj.__private_variable) # 无法访问,会报错
```
需要注意的是,Python 中的访问权限并不是强制性的,而是一种约定。因此,如果你真的想访问一个受保护的变量或私有变量,也可以通过一些技巧实现。但是,这种做法是不推荐的,因为它会破坏类的封装性,增加代码的复杂性。
python定义私有变量
在Python中,可以使用双下划线来定义私有变量。例如,使用以下语法可以定义私有变量:
```
class MyClass:
def __init__(self):
self.__private_var = 10
def get_private_var(self):
return self.__private_var
```
在上面的例子中,变量`__private_var`被定义为私有变量。这意味着它只能在类的内部使用,并且不能被外部访问。如果您尝试在类的外部直接使用它,将会抛出AttributeError异常。为了访问这个变量,我们必须使用类的公共方法,如在上面的例子中所示。