• Python笔记_第三篇_面向对象_2.第一个Python类


    1. 设计一个类

      设计一个类主要从三个方面进行考虑:

      第一:类名:类名要见名知意。首字母大写。

      第二:属性。

      第三:方法。

    备注:在Python中有些东西并不是绝对化的事情,有些根据Python社区里面有些约定俗称的规定,在Python这种动态语言当中随处可见,比如像__、_单双下划线的使用就是这个问题的一个体现。

    2. 创建一个类

      类:一种数据类型,本身并不占内存空间,根据所学过的number、string、boolean等类似,用类创建实例化对象。

      格式:

        class 类名(父类列表):

        属性

        方法

    备注:Object:是一个基类,也可以叫做超类,所有类的父亲,后面说道继承的时候回详细说明,所有的类最终都会继承自object,一般没有合适的父类就写Object,或者不写也可以。

    class Person(object):
        # 定义属性(定义变量)
        name = ""
        age = 0
        height = 0
        weight = 0
    
        # 定义方法(定义函数)
        # 注意:方法的参数必须以self当第一个参数,self代表类的实例(某个对象)
        def run(self):
            print("run")
        def eat(self,food):
            print("eat " + food)
        def openDoor(self):
            print("我已经打开了冰箱门")
        def fillEle(self):
            print("我已经把大象装进冰箱了")
        def closeDoor(self):
            print("我已经关闭了冰箱门")

    3. 使用一个类

      使用一个类的过程也叫实例化一个类。

      格式:对象名 = 类名(参数列表) ---- 如果没有参数列表括号也不能省略

      注意:没有参数,小括号也不能省略(在C#这种面相对象的语言中要用new 类名的方法去实例化一个类,在Python这种语言中不需要,另外,其他面相对象语言有静态类和动态类这么一说,Python应该都是动态类,因为静态类不需要实例化)

      举例说明:

    # 实例一个对象
    per1 = Person()
    print(per1)
    # 返回值:<__main__.Person object at 0x000002A85E0A1080>
    # __mian__表示入口
    # at 0x000002A85E0A1080 表示内存地址
    
    per2 = Person()
    print(per2)
    # 返回值:<__main__.Person object at 0x0000025F9B1611D0>
    # 我们发现内存地址不一样,他们两个对象是没有关系的。

      注意:我们发现两个内存地址是不一样的。另外,__main__表示这个类的入口是对应main下的.Person这个类。因为在Python语言中不像类似于C#这样,需要些一个mian函数作为整个代码的入口。但是这些内容通过下划线的方式标识出来,隐含在类当中。通过实例化我们发现,两个内存地址是不一样的。也就是任何使用者都可以去实例化这个类,拿给自己用。

    4. 访问类的属性:

      格式:

        对象名.属性名

      赋值:

        对象名.属性名 = 值

      举例说明:

    # 实例化一个类        
    per = Person()  # C# 语言Person per = new Person()这种实例化方法,Python省去很多了
    per.name = "Thomas"
    per.age = 18
    per.height = 160
    per.weight = 80
    print(per.name,per.age,per.height,per.weight)
    # 返回值:Thomas 18 160 80

    5. 访问类的方法:

      格式:

        对象名.方法

      赋值:

        对象名.方法(参数列表)

    per.openDoor()
    # 我已经打开了冰箱门
    per.fillEle()
    # 我已经把大象装进冰箱了
    per.closeDoor()
    # 我已经关闭了冰箱门
    
    # 带参数的方法访问
    per.eat("apple")
    # eat apple

    总结:

      这样我们把在Python下面一个最基本的类的设计、建造、访问属性、访问方法介绍完了。后面根据类的需求和特点进行详细的分析。

  • 相关阅读:
    [GUIDE] How to Setup Ubuntu 16.04 LTS Xenial Xerus for Compiling Android ROMs
    设置Ubuntu 16.04 LTS的Unity启动器的位置命令
    sed系列:行或者模式匹配删除特定行
    HDOJ 4923 Room and Moor
    Office365client通过本地方式批量部署(即点即用部署)
    hdu 1867 A + B for you again
    Photoshop经常使用快捷键(2)
    SQL_为表和列加凝视
    从头认识java-17.5 堵塞队列(以生产者消费者模式为例)
    Unity5 怎样做资源管理和增量更新
  • 原文地址:https://www.cnblogs.com/noah0532/p/10858225.html
Copyright © 2020-2023  润新知