概述
我们先上结论┗( ▔, ▔ )┛
结论
__xx__:这种系统属性或方法,还没想好怎么测试,我们就看看用户自定义的吧
variate
from module import *
类外
继承
xx :公有变量
✔
✔
✔
_xx :单前置下划线
✘
✔
✔
__xx:双前置下划线
✘
✘
✘
from module import * 测试部分
a.py
name = "name"
_name = "_name"
__name = "__name"
test.py
from a import *
print(name)
# print(_name) #NameError: name '_name' is not defined
# print(__name) #NameError: name '__name' is not defined
类外 测试部分
class Person(object):
name = "name"
_name = "_name"
__name = "__name"
@staticmethod
def method():
print("method()")
@staticmethod
def _method():
print("_method()")
@staticmethod
def __method():
print("__method()")
instance = Person
print(instance.name) # name
print(instance._name) # _name
# print(instance.__name) # AttributeError: type object 'Person' has no attribute '__name'
instance.method() # method()
instance._method() # _method()
# instance.__method() #AttributeError: type object 'Person' has no attribute '__method'
继承 测试部分
class PersonChild(Person):
def out(self):
print(instance.name) # name
print(instance._name) # _name
# print(instance.__name) # AttributeError: 'PersonChild' object has no attribute '__name'
self.method() # method()
self._method() # _method()
# self.__method() # AttributeError: 'PersonChild' object has no attribute '__method'
instance = PersonChild()
instance.out()
最后
以上就是鳗鱼毛衣为你收集整理的python定义类的私有成员_Python 类的公有、私有成员的全部内容,希望文章能够帮你解决python定义类的私有成员_Python 类的公有、私有成员所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复