set和get方法:在python中,没有特定的set和get方法,只是人为定义出来的而已,方法名随便取,可取为set_count或者get_count,这两个的方法的作用就是在于筛选他们传递过去的值,比如年龄不能为负数之类的。
class student: def __init__(self,name,sex,age): self.name=name self.sex=sex self.age=age def my_set(self,new_age): if self.age<0: print('年龄错误') self.age = new_age def my_get(self): return self.age tan=student('tanzhenhua','nan',-2) tan.my_set(22) tan.my_get() print(tan.age)》》》年龄错误
》》》22
__str__:
__str__用于输出一串字符串,在外部新建一个对象时并输出对象是, 不写__str__则会输出一串地址,而写了则输出里面return里面返回的东西列:class car: def __init__(self,name,rbj): self.name=name self.rbj=rbj
def __str__(self): return '%s的颜色是%s色'%(self.name,self.rbj) kc=car('奔驰','银') print(kc)》》》奔驰的颜色是银色
继承里面有三种定义方法:
第一种:
class A: def __init__(self,a,b): self.a=a self.b=b class B(A): def __init__(self,a,b,c): self.a=a self.b=b self.c=c
第二种:class A: def __init__(self,a,b): self.a=a self.b=b class B(A): def __init__(self,a,b,c): A.a=a A.b=b self.c=c第三种:class A: def __init__(self,a,b): self.a=a self.b=b class B(A): def __init__(self,a,b,c): A.__init__(self,a,b) self.c=c
_del_():程序运行完毕后会自动调用,如果外部用del销毁,del更快,里面可以输出一句话查看一个对象有几个引用
在子类的方法中使用父类的方法用super().method()
多继承中,如果继承的类中至少两个类里面的方法名相同时,若是父类中有相同的方法名,而在子类使用时未指定,
python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。