python 如何修改双下划线变量
发布网友
发布时间:2022-04-21 05:38
我来回答
共2个回答
热心网友
时间:2022-06-18 06:46
应当没有问题的,你看代码是可以直接赋值的:
>>> 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'
>>>
追问已解决,sqlalchemy修改__tablename__ 的方法是:
__tablename__ ='table_a'
self.__table__.name = 'table_b'
虽然您的解答没有错误但是这个比较特殊
感谢您的回答
热心网友
时间:2022-06-18 06:47
1、_xxx 不能用于’from mole import *’ 以单下划线开头的表示的是protected类型的变量。
即保护类型只能允许其本身与子类进行访问。
2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也
不可以
3、__xxx___ 定义的是特列方法。像__init__之类的