class Person: def __init__(self,name=None,age=None,sex=None): self.name=name self.age=age self.sex=sex def __str__(self): return "我的姓名:{0},我的年龄:{1},我的性别:{2}".format(self.name,self.age,self.sex) class Student(Person): def __init__(self,name=None,age=None,sex=None,score=None): self.name=name self.age=age self.sex=sex self.score=score def __str__(self): return "我的姓名:{0},我的年龄:{1},我的性别:{2},我的成绩:{3}".format(self.name, self.age, self.sex,self.score) stu=Student("Mary",21,'female',80) print(stu) @classmethod def test(cls): print("这是一个类方法") @staticmethod def statictest():
print("这是静态方法")
构造方法:
class A: def __new__(cls,name): return object.__new__(cls) def __init__(self,name): self.name=name a=A("tom") print(a) #单例 class SingleTone: __instance=None def __new__(cls): if cls.__instance==None: cls.__instance=object.__new__(cls) return cls.__instance else: return cls.__instance s=SingleTone() ss=SingleTone() print(id(s),id(ss))
对象排序:
class Car: def __init__(self,brand=None,price=None): self.brand=brand self.price=price def __gt__(self, other): # return self.brand<other.brand # return self.price<other.price return self.brand.encode("gbk")>other.brand.encode("gbk") def __str__(self): return self.brand+str(self.price) lists=[Car("特斯拉",300000),Car("奥迪",350000),Car("奔驰",400000)] lists.sort() for i in lists: print(i)异常:
def devide(): try: 1/0 except ZeroDivisionError as zd: print("除数不能为0") print(zd) devide() for i in range(1,11): if i%3==0: print(i) break; else: print("没有被整除")