python如何使变量变成公共的
时间: 2023-07-07 20:42:25 浏览: 111
在 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中,公共变量是可以在不同的函数或类中共享和访问的变量。公共变量通常在全局范围内定义,并且可以在整个代码中使用。
例如,我们可以在全局范围内定义一个公共变量,并在不同的函数中使用它:
```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中,声明变量是通过给变量赋值来实现的。Python是一种动态类型语言,这意味着你不需要显式地声明变量的类型,Python会根据赋给变量的值自动推断出变量的类型。以下是Python声明变量的示例:
```
# 声明一个整数类型的变量
num = 10
# 声明一个字符串类型的变量
name = "John"
# 声明一个浮点数类型的变量
pi = 3.14
# 声明一个布尔类型的变量
is_true = True
```
在上面的示例中,我们分别声明了一个整数类型的变量`num`,一个字符串类型的变量`name`,一个浮点数类型的变量`pi`,以及一个布尔类型的变量`is_true`。
需要注意的是,Python是一种动态类型语言,所以你可以在程序中随时改变变量的类型。例如:
```
x = 10 # x是整数类型
x = "Hello" # 现在x是字符串类型
```
这就是Python声明变量的基本方式。如果你有任何其他问题,请随时提问。