本文实例讲述了Python面向对象之类和对象。分享给大家供大家参考,具体如下:
类和对象(1)
对象是什么?
对象=属性(静态)+方法(动态);
属性一般是一个个变量;方法是一个个函数;
#类的属性 就是 类变量
#实例变量:定义在方法中的变量,只作用于当前实例的类。
例子:
class Turtle:#python 中类名约定以大写字母开头 '''关于类的简单例子。。。''' #属性 == 类变量 color ="green" weight="10kg" legs=4 shell=True mouth='big' #方法 def climb(self): self.name = "test" #实例变量:定义在方法中的变量,只作用于当前实例的类。 print("我在很努力爬。") def run(self): print('我在很努力跑。') def bite(self): print('我要要要要要') def sleep(self): print('我要睡觉啦。')#创建一个实例对象也就是类的实例化!tt =Turtle() #类的实例化,也就是创建一个对象,类名约定大写字母开头tt.bite() #创建好类后就能调用类里面的方法叻;tt.sleep()
面向对象的特征:
oo = Object Oriented(面向对象)
1.封装(信息隐蔽技术)
python的列表list其实就是一个对象,它提供了很多方法:sort()、append()
封装后就可以直接调用里面的方法了!!!
2.继承
子类自动共享父类之间数据和方法的机制。
class MyList(list):#创建一个类继承list的所有方法和属性 pass #相当于一个占位符list1=MyList() #类实例化list1.append(1) #继承后调用list的方法append()
3.多态
不同对象对同一方法响应不同行动。就是名字一样方法不一样:
>>> class A: def fun(self): print('aaaa')>>>class B (): def fun(self): print('bbb')>>> a=A()>>>b=B()>>>a.fun()aaaa>>>b.fun()bbb
类和对象(2)
self是什么?
如果把类当做图纸,那么由类实例化后的对象就是可以住人的房子。self就相当于房子的门牌号,由self就可以找到对象。
一个类可以生成无数个对象,对象之间都很相似,因为都是来源与类的方法属性。当对象方法被调用时,对象就会将自己作为第一个参数传给self,python就是根据self知道哪一个对象在调用方法;
>>>class Ball(): def setname(self,name): self.name=name def kick (self): print("我叫%r,谁踢我"%self.name)>>>a=Ball() 实例化生成a对象>>>a.setname('a') 调用方法设名为a>>>b=Ball()>>>b.setname('b')>>>c=Ball()>>>c.setname()>>>a.kick () 通过self知道是哪个对象调用kick方法我叫'a',谁踢我>>>b.kick()我叫'b',谁踢我
新闻热点
疑难解答