零基础入门学习Python(16):对象(1)
Python无处不对象,对象 = 属性 + 方法(变量+函数)
>>> class FirstClass: #Python中的类名约定以大写字母开始
#属性
color = 'red'
name = 'Jessica'
#方法
def eat(self): #类中方法定义时把self写进第一个参数,这是默认的要求
print("I want to eat something...")
def sleep():
print("I want to sleep...")
面向对象(Object Oriented)的特征
1、封装:信息隐蔽技术
>>> test1 = FirstClass() #test1是FirstClass类的一个实例对象
>>> test1
<__main__.FirstClass object at 0x026E5A90>
>>> test1.name #可以通过实例调用类的属性和方法
'Jessica'
>>> test1.eat()
I want to eat something...
2、继承:子类自动共享父类数据和方法的机制
>>> class MyList(list): #创建自己的列表类MyList,让它继承Python中的列表类list
pass #pass是一个占位符,表示这个类不做任何事情
>>> list1 = MyList() #生成一个MyList的对象,即生成了一个空列表,相当于list1 = list()
>>> list1
[]
>>> list1.append(2) #由MyList生成的对象可以调用父类list的方法
>>> list1
[2]
3、多态:当不属于同一类时,不同类可以有相同的属性名和方法名
>>> class A:
name = 'xiuxiu'
def fun(self):
print("I like playing...")
>>> class B:
name = 'Jessica'
def fun(self):
print("I like eating...")
>>> a = A()
>>> b = B()
>>> a.name #因为是不同类的对象,所以会调用相应类的属性和方法
'xiuxiu'
>>> a.fun()
I like playing...
>>> b.name
'Jessica'
>>> b.fun()
I like eating...