最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 详解Python面向对象编程之类、实例、方法

    正文概述    2020-02-04   344

    详解Python面向对象编程之类、实例、方法

    面向对象编程

    面向过程编程:Procedure Oriented Programming,简称POP。在之前的介绍中,多是用面向过程的思想。面向过程的思想是一种是事件为中心的编程思想,即分析出解决问题所需的步骤,然后用函数把这写步骤实现,把大块函数切成小块函数,并按顺序调用。

    面向对象编程:Object Oriented Programming,简称OOP。面向对象的思想就是以对象为中心的编程思想,程序的执行过程就是一系列信息在各个对象之间传递的过程。

    什么是对象?在Python中,一切的数据类型都可视为对象,“万物皆对象”。

    类 Class

    Class,类,是面向对象编程最重要的概念之一。类是抽象的模板,而实例就是根据类创建出来的对象。比如:

    实例
    杯子马克杯、玻璃杯、高脚杯...动物猫、狗、兔子...电器冰箱、电视、空调...

    类的定义

    在Python中,通过class关键字来定义一个类:

    class Animal(object):
        pass

    Animal是类名,类名一般以大写字母开头,后面( )表示该类从哪一类继承,若没有合适的继承类,就用object,因为所有类都会继承该类,继承是面向对象的三大特征之一,后面会介绍。

    类的属性

    完成了类的定义之后,我们可以定义类的属性,如:

    class Animal(object):
        name = 'animal'

    调用其属性时,用“对象名.属性名”的形式来调用,如:

    >>>Animal.name
    animal

    实例 Instance

    Instance,实例,是面向对象编程最重要的概念之一。实例就是根据类创建出来的对象。事实上,面向对象编程就是对“类”和“实例”的使用。

    实例的定义

    有了类之后,就可以根据类来定义对应的实例。

    >>>dog = Animal()>>>dog
    <__main__.Animal object at 0x0000000001DB8780>

    上面dog就是Animal的一个实例,后面的0x0000000001DB8780便是内存地址。

    实例的属性

    同样的,我们可以定义实例的属性

    >>>dog.name = 'dog'
    >>>dog.name
    dog

    由于类是实例的一个模板,一般而言,我们在定义类的时候就可以把对应实例的属性给绑定上去。这需要在类里面定义一个__init__方法(方法类似于函数,在后面会介绍),如

    class Animal(object):
    
        name = 'animal'
        
        def __init__(self,name,age):
            self.name = name
            self.age = age

    注意到__init__方法的第一个参数永远是self,表示创建实例本身,self就是指向实例的,随后加入需要的参数。这样在创建实例时就要输入对应的参数了,但是self参数不需要输入,因为Python解释器自己会把实例变量传进去。

    >>>dog = Animal('dog',3)
    >>>dog.name
    dog
    >>>dog.age
    3

    需要注意的是,实例可以访问到其类的属性,如我们将dog的name属性删掉再调用。

    >>>del dog.name
    >>>dog.name
    animal

    可见,在dog访问了Animal的name属性,而当dog有name属性时则优先访问dog的属性。

    方法

    方法可以理解成在类中定义的函数,与函数不同的一点是,方法的第一个参数一定是self,而其他与函数相同,同样可以用默认参数、可变参数、关键字参数和命名关键字参数。

    上面的__init__就是一个方法,当然,我们还能定义其他的方法,比如我们在Animal中增加一个say方法:

    class Animal(object):
    
        name = 'animal'
        
        def __init__(self,name,age):
            self.name = name
            self.age = age
    
        def say(self):
            print('wow...wow')

    可以通过实例来调用方法,形式是“实例名.方法名(参数)”,如

    >>>dog = Animal('dog',3)
    >>>dog.say()
    wow...wow

    起源地下载网 » 详解Python面向对象编程之类、实例、方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元