给大家介绍对象
把乱七八糟的数据扔进列表里,称数据层面的封装
把常用的代码段打包成一个函数,称语句层面的封装
把数据和代码都封装在一起,称对象层面的封装
对象 = 属性 + 方法
对象可以从静态(属性)与动态(方法)两个特征来描述
OO(面向对象)的特征
继承
class Turtle: # Python 中的类名约定以大写字母开头
"""关于类的一个简单例子"""
1 # 属性
2 color = 'green'
3 weight = 10
4 legs = 4
5 shell = True
6 mouth = '大嘴'
7
8 # 方法
9 def climb(self):
10 print("我正在很努力的向前爬......")
11
12 def run(self):
13 print("我正在飞快的向前跑......")
14
15 def bite(self):
16 print("咬死你咬死你!!")
17
18 def eat(self):
19 print("有得吃,真满足^_^")
20
21 def sleep(self):
22 print("困了,睡了,晚安,Zzzz")
调用类中的方法:
>>> tt = Turtle() #声明tt对象继承Turtle()
>>> tt.climb()
我正在很努力的向前爬......
>>> tt.bite()
咬死你咬死你!!
定义一个带列表类MyList,将list2对象继承于它,则列表的功能继承它的对象都可以使用
1 >>> class MyList(list):
2 pass
3
4 >>> list2 = MyList()
5
6 >>> list2.append(5)
7 >>> list2.append(6)
8
9 >>> list2.append(1)
10 >>> list2
11 [5, 6, 1]
12 >>> list2.sort()
13 >>> list2
14 [1, 5, 6]
多态(下例中都调用的名字相同的方法,但实现不一样)
1 >>> class A:
2 def fun(self):
3 print('我是小A。。。')
4
5 >>> class B:
6 def fun(self):
7 print('我是小B。。。')
8
9 >>> a = A()
10 >>> b = B()
11 >>> a.fun()
12 我是小A。。。
13 >>> b.fun()
14 我是小B。。。