# -*- coding: utf-8 -*-
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
print('self:', self)
# 定义一个build方法,返回一个person实例对象,这个方法等价于Person()。
@classmethod
def build(cls,name,age):
# cls()等于Person()
p = cls(name, age)
print('cls:', cls)
return p
def __inner(self):
print "inner 私有属性"
p = Person.build("pg",20)
# p.__inner() 无法访问
print Person._Person__inner
p._Person__inner() //可以访问
总结:实际上__ 修饰的变量方法并不能从根本上限制访问,这种声明只是一种强有力的信号,告诉你不要在外部访问.