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()

 

posted @ 2018-07-16 22:51  乐观的小孩  阅读(98)  评论(0编辑  收藏  举报