面向对象
'''

#类class bar: def foo(self,arg): print(self.name,self.age,self.gender,arg)z = bar()#封装公有部分到内存里z.name = 'hao'z.age = 11z.gender = '男'z.foo(666)z1 = bar()z.name = 'xue'z.age= 18z.gender = '女'z.foo('hahaha')''''''class bar: def __init__(self,name,age): self.name = name self.age = age def show(self): print('%s:%s' %(self.name,self.age))z = bar('hao',11)z.show()z1 =bar('haha',33)z1.show()#输出结果:hao:11haha:33'''

#继承 class F: def f1(self): print('F.f1') def f2(self): print('F.f2') class s(F): def s1(self): print('s.s1') def f2(self): super(s,self).f2() #执行父类(基类)中的方法 print('s.f2') h = s() h.s1() h.f1() #输出结果: s.s1 F.f1 h.f2() #结果 F.f2 s.f2

# class foo:# def __init__(self):# self.name = "a"## def bar(self):# print('bar')## @property# def per(self):# return 1# @per.setter# def per(self,var):# print(var)## obj = foo()## r = obj.per# # print(r)## obj.per = 123class pagenation: def __init__(self,current_page): try: p = int(current_page) except enumerate as e: p = 1 self.page = p @property def start(self): val = (self.page -1) * 10 return val @property def end(self): val = self.page * 10 return valli = []for i in range(100000): li.append(i)while True: p = input('请输入你的页码:') obj = pagenation(p) print(li[obj.start:obj.end])

输出结果

成员修饰符
'''

class F: def __init__(self): self.ag =12 self.__ag = 34class S(F): def __init__(self,name): self.name = name self.__age =18 super(S,self).__init__() def show(self): print(self.name) print(self.__age) #间接调用私有字段 print(self.ag) # print(self.__ag) #无法继承父类的私有字段obj = S('hao')obj.show()''''''class Foo: def __init__(self): print('hah') def __call__(self, *args, **kwargs): print('123') def __int__(self): return 111 def __str__(self): return 'hao'Foo()() #调用__call__方法a = int(Foo()) #调用__int__方法print(a)b = str(Foo()) #调用__str__方法print(b)'''# class Foo:# def __init__(self,name,age):# self.name = name# self.age = age# self.n = 123# obj = Foo('hao',18)## r = obj.__dict__ #结果:{'name': 'hao', 'age': 18, 'n': 123}# print(r)'''class Foo: def __init__(self,name,age): self.name = name self.age = age self.n = 123 def __getitem__(self, item): return item+10 def __setitem__(self, key, value): print(key,value) def __delitem__(self, key): print(key)obj = Foo('hao',18)r = obj[8] #r=itemprint(r) #调用__getitem方法,结果:18obj[10]=888 #调用__setitem方法,结果:10,888del obj[999] #调用__delitem方法,结果:999'''# class Foo:## def __iter__(self):## return iter([11,22,33,44])# obj = Foo()## for i in obj:# print(i)#输出结果# 11# 22# 33# 44