首页 > 编程 > Python > 正文

Python面向对象之类和对象实例详解

2020-02-16 00:01:13
字体:
来源:转载
供稿:网友

本文实例讲述了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',谁踢我            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表