python 如何修改双下划线变量

2025-03-11 04:36:56
推荐回答(2个)
回答1:

应当没有问题的,你看代码是可以直接赋值的:

>>> class tb:
    def __init__(self):
        self.__tablename__ = ''
    def settablename(self, s):
        self.__tablename__ = s

        
>>> t = tb()
>>> t.settablename('abc')
>>> 
>>> t.__tablename__
'abc'
>>> t.settablename('cde')
>>> t.__tablename__
'cde'
>>> t.__tablename__ = 'efg'
>>> t.__tablename__
'efg'
>>>

回答2:

1、_xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。
即保护类型只能允许其本身与子类进行访问。
2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也
不可以
3、__xxx___ 定义的是特列方法。像__init__之类的