class CPerson:
name = "default"
__name2 = "inaccessable name" #类作用域内的变量可以被所有实例访问
def setname(self, name): #第一个参数self,是对象本身的引用,它也是方法和函数的重要区别元素,如果方法里面没有引用任何东西,可以不用有这个参数
self.name = name
def getname(self):
return self.name
def greeting(self):
print("hello " + self.name)
man = CPerson()
man.setname("sysnap")
print(man.getname())
#man.name = "xxxx"
man.greeting()
greeting = man.greeting #引用绑定方法
greeting()
#默认情况下,程序可以从外部访问一个对象的特性,Python并不直接支持私有方式
#可以在类的方法或者特性前加个双下划线,这样就不可以直接访问了
#print(man.__name2) #这样会出错
print(man._CPerson__name2) #因为被翻译成
class Ctest:
count = 0
def inccount(self):
self.count += 1
def getcount(self):
return self.count
test0 = Ctest()
test1 = Ctest()
test0.inccount()
test1.inccount()
print(test0.getcount())
print(test1.getcount())