Python基础之类与对象笔记
1 #_author: liu.cao 2 #date: 2018/7/8 3 4 # 定义类并执行类中的方法: 5 # class 类名: 6 # def 方法名(self,arg): 7 # print(arg) 8 # return 1 9 # 中间人=类名() 10 # ret=中间人.方法名(1) 11 # print(ret) 12 13 class Bar: 14 15 def foo(self,arg): 16 print(self,self.name,self.age,self.gender,arg) 17 18 z=Bar() 19 z.name='xiaohai' 20 z.age=18 21 z.gender='male' 22 z.foo(888) 23 24 z1=Bar() 25 z1.name='hello' 26 z1.age=10 27 z1.gender='famale' 28 z1.foo(666) 29 30 31 #构造方法init 32 # class Bar: 33 # def __init__(self): 34 # pass 35 # 36 37 38 39 40 class Person: 41 def __init__(self,name,age):#构造方法:构造方法的特性:类名()自动执行构造方法 42 self.name=name 43 self.age=age 44 def show(self):#普通方法 45 print("%s-%s"%(self.name,self.age)) 46 xiaohai=Person('小明',20) 47 xiaohai.show() 48 49 #--封装的适用场景-- 50 # 1,如果多个函数中有一些相同的参数时,转换成面向对象 51 52 #继承 53 class F: 54 55 def f1(self): 56 print("F.f1") 57 58 def f2(self): 59 print('F.f2') 60 61 class S(F): 62 def s1(self): 63 print('S.s1') 64 65 def f2(self):#继承F的方法并重写 66 #super(S,self).f2()#执行父类(基类)中的f2方法,推荐用这种方法(super是固定写法) 67 #F.f2(self) #执行父类(基类)中的f2方法 68 print('S.f2') 69 70 """ 71 obj=S() 72 obj.s1() 73 obj.f2() 74 """ 75 ''' 76 obj=S() 77 obj.s1()#s1中的self是形参,此时代指obj 78 obj.f1()#self永远是指调用方法的调用者 79 ''' 80 obj=S() 81 obj.f2()