python-类相关
class people():##类的属性:通过self.来定义#init函数在创建类对象时会自动执行,且会接收创建对象时的参数#常用来完成属性的初始化def __init__(self,name,age,sex,home):self.name=name##通过self创建属性并赋值self.age=ageself.sex=sexself.home=homeself.__abc='abc'##私有变量##类的方法def ziwojieshao(self,zwjs):print(zwjs)def koutouchan(self,ktc):print(ktc)print(self.home)##类内部调用自己的属性通过self.##魔术方法:__str__#直接打印对象或者将对象进行字符串转化时执行这个def __str__(self):return f'字符串返回值是这个'##私有属性和方法无法通过对象来获取与执行,只能在类内部自己使用##私有成员变量与方法def __siyou(self):print(self.__abc)##调用私有方法def use_siyou(self):self.__siyou()xiaoming=people('小明',29,'男','China')
xiaoming.koutouchan('ssjjssjsj')
print(xiaoming)
print(str(xiaoming))
print(xiaoming.__abc)##调用私有属性,报错
xiaoming.__siyou()#调用私有方法,报错
xiaoming.use_siyou()#调用私有方法类继承
class animal():def __init__(self,name):self.name=namedef sound(self):print('叫')##继承:同时基础父类的属性和方法
##在子类中调用父类的属性和函数:使用super().函数
class Dog(animal):def __init__(self,name):super().__init__(name)##复写:直接在子类中进行修改就行,不需要super(),属性也是,def sound(self):print(self.name)print('汪汪汪')##复写后还想调用父类的方法:使用super()##若没有复写,直接使用self.调用就行super().sound()class Cat(animal):def __init__(self,name):super().__init__(name)##复写:直接在子类中进行修改就行,不需要super(),属性也是def sound(self):print('喵喵喵')an=animal('wu')
dog=Dog('狗')
dog.sound()
cat=Cat('猫')