python进阶-面向对象

最近有些忙,有好几天没有写公众号原创文章了。今天又有时间了,继续啊。

上一篇讲到模块,python包含了丰富的标准库和强大的第三方库,使得python这门程序设计语言很好用。在强大的库模块的基础上,python还具备了面向对象的功能,这使得python能够很好很容易很快捷的满足各种各样的应用需求。

今天来介绍一下python的面向对象的功能。

类的使用

类 一般由 类变量 和 类方法 组成。

重点1:__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法。

重点2:self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

通过下面例子,我们来看一下类的使用。

#!/usr/bin/python

class person:

count = 0

def __init__(self,name):

self.name=name

person.count += 1

print "Initializing %d" %person.count

def display(self):

print "name is %s" %self.name

lisan = person("lisan")

lisan.display()

wangsan = person('wangsan')

wangsan.display()

执行上面程序,打印结果如下:

Initializing 1

name is lisan

Initializing 2

name is wangsan

类的继承

重点1:基类的构造(__init__()方法)不会被自动调用,它需要在其子类的构造中调用。

重点2:子类中调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数。子类中调用普通函数时并不需要带上self参数。

重点3:先在本类中查找调用的方法,找不到才去基类中找。

通过如下程序,我们看看类的继承。

#!/usr/bin/python

class parent:

number = 100

def __init__(self):

print "parent class initialize"

def setattr(self, number):

parent.number = number

def getattr(self):

print "number :", parent.number

class child(parent):

def __init__(self):

parent.__init__(self)

print "child class initialize"

def display(self):

print "display function"

childc = child()

childc.display()

childc.setattr(100)

childc.getattr()

执行上面程序,打印结果如下:

parent class initialize

child class initialize

display function

number :100

子类可以重写父类的方法

#!/usr/bin/python

class parent:

def display(self):

print "parent display"

class child(parent):

def display(self):

print "child display"

childc = child()

childc.display()

执行上面程序,打印结果如下:

child display

面向对象的基础就先介绍到这。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180426G20X0T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券