Python 类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 类相关的知识,希望对你有一定的参考价值。
一、面向对象
(1) 对象:在 Python 中,一切皆对象,也就是说,变量也是一个对象,元组也是一个对象,函数也是一个对象,所有的东西都可以称为对象
(2) 面向对象与面向过程:面向过程实际上是分析出解决问题的一些步骤,然后把这些步骤一步一步地通过函数去实现,强调过程;而面向对象是把变量和函数放在一起,作为相互依存的整体,这个整体称为对象,简单来讲就是把变量和函数放在一起组成类,只是在类中把变量称为类的属性,把函数称为类的方法
(3) 注意:对象 ≠ 类 ,类是对事物的抽象,比如人类、球类,而对象是类的一个具体实例,比如足球、篮球,也就是说,类可以根据属性和方法进行抽象然后实例化出一个对象
二、面向对象的思想
(1) 封装:封装实质上就是类的定义,把需要的变量和函数封装在一起组成类
(2) 继承:继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等
(3) 多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果
#!/usr/bin/env python class People(object): # 定义类,object 是超级类,所有的类都必须继承这个类 color = ‘yellow‘ # 定义类的属性 def think(self): # 定义类的方法(self表示类本身) print "I am a thinker" ren = People() # 通过类实例化出一个对象ren print ren.color # 可以通过对象访问类的属性 ren.think() # 可以通过对象执行类的方法
三、python构造器:__init__
__init__ 用于类的初始化,也就是说,当实例化一个对象时,自动执行 __init__ 下面的属性和方法:
#!/usr/bin/env python class People(object): color = ‘yellow‘ def __init__(self): self.color = ‘black‘ ren = People() # 这里实例化一个对象,那么就会执行__init__下的内容,则 color 的值变为 black print ren.color # 当对象去调用的时候,color 值为 black print People.color # 当类去调用的时候,color 值不变,还是 yellow
[[email protected] ~]# python 1.py black yellow
四、类的继承
继承是相对两个类而言的父子关系,子类继承了父类的所有公有属性和方法,继承可以重用已经存在的方法和属性,减少代码的重复编写,Python 在类名后使用一对括号来表示继承关系,括号中的类即为父类,如 class Myclass(ParentClass) 表示 Myclass(子类) 继承了 ParentClass(父类) 的方法和属性
#!/usr/bin/python class People(object): color = ‘yellow‘ def think(self): print "I am a thinker" class Chinese(People): # 这里表示 Chinese 继承了 People pass cn = Chinese() # 因为 Chinese 继承了 People ,所以可以直接调用 People 里面的属性和方法 print cn.color cn.think()
如果父类定义了 __init__ 方法,子类必须显式调用父类的 __init__ 方法:
#!/usr/bin/python class People(object): color = ‘yellow‘ def __init__(self, c): print "Init...." def think(self): print "I am a thinker" class Chinese(People): def __init__(self): People.__init__(self,‘red‘) # 显式调用父类的__init__方法 cn = Chinese()
以上是关于Python 类的主要内容,如果未能解决你的问题,请参考以下文章