版权声明:本文为博主原创文章,转载请注明出处,谢谢! https://blog.csdn.net/Binbin_IT/article/details/78338718
面向对象
1.类
#Filename:PyClass.py
class Animal:
count = 0 #类成员,所有对象共享
__privateVal = 2 #双下划线代表私有变量,只能在内部函数中调用
def __init__(self,name): #构造函数,self默认加上否则函数中无法调用自己
self.name = name #name是创建的对象变量,由该对象独享
Animal.count +=1 #调用类成员变量必须要有类名
def __del__(self): #析构函数,何时执行很不确定,可以在外部手动调用
print('%s bye'%self.name)
Animal.count -=1
def CheckCount(self):
print('left:',Animal.count)
def ShowPrivate():
print('private:',Animal.__privateVal) #调用类私有变量
def __PrivateFunc(): #私有函数
print('I am private')
dog = Animal('dog')
if True:
cat = Animal('cat') #域内创建对象,出域并不一定会调用__del__
cat.__del__() #可以手动调用析构__del__
dog.CheckCount()
print('animal:',Animal.count)
#print('animal:',Animal.__privateVal) #这一步会出错,外部无法调用私有成员变量
Animal.ShowPrivate()
#Animal.__PrivateFunc() #这一步会出错,外部无法调用私有成员函数
#Filename:inherit.py
class parent1:
def __init__(self,name):
self.name = name
class parent2:
def __init__(self,age):
self.age = age
class child(parent1,parent2): #继承的方式 多重继承
def __init__(self,name,age): #初始化父类方式
parent1.__init__(self,name)
parent2.__init__(self,age)
def ShowName(self):
print('name',self.name) #继承自父类1的成员变量
def ShowAge(self):
print('age',self.age) #继承自父类2的成员变量
ch = child('dv',3)
ch.ShowName()
ch.ShowAge()