• Python面向对象编程


    Django编程是采用面向对象的编程,要想学好Django,尤其是Django的优秀框架DRF,必须掌握好Python的面向对象基本知识。

    一、类(Class)与对象(Object)

    类(Class)是用来描述具有相同属性(Attribute)和方法(Method)对象的集合。对象(Object)是类(Class)的具体实例。比如每个用户都有名字和地址,这是他们共同的属性。这时我们就可以设计一个用户类, 用于记录用户的名字和地址,并自定义方法打印出他们的名字和地址。

    属性(Attribute): 类里面用于描述所有对象共同特征的变量或数据。比如用户的名字和地址。

    方法(Method): 类里面的函数,用来区别类外面的函数, 用来实现某些功能。比如打印出用户的名字和地址。

    1. # 创建一个用户类
    2. class User(object):
    3. # 定义用户属性,初始化方法
    4. def __init__(self,name,address):
    5. self.name = name
    6. self.address = address
    7. # 定义打印用户信息的方法
    8. def show(self):
    9. print("{}的地址是:{}".format(self.name,self.address))

     在上面,我们只定义了一个抽象的类,并没有创建存储空间。只有当我们完成类的实例化(Instance)时,才会创建一个具体的对象(Object),并为之分配存储空间。所以对象(Object)是类(Class)的一个实例

    要创建一个具体的用户对象(Object),还需要如此调用:

    1. user1=User("王小明","北京西城区")
    2. user1.show()

    在这个案例中,User是类,user1是我们创建的具体的用户对象。当我们输入上述代码时,Python会自动调用默认的__init__初始构造函数来生成具体的对象。关键字self是个非常重要的参数,代表创建的对象本身。

    当你创建具体的对象后,你可以直接通过user1.nameuser1.address来分别获取用户的名字和地址,也可以通过user1.show()来直接打印用户的名字和地址。

     

    二、类变量(class variables)与实例变量(instance variables)

    三、类方法(Class method)

    四、类的私有属性(private attribute)和私有方法(private method)

    五、@property的用法与神奇之处

    六、类的继承(Inheritance)

    七、super()关键字调用父类方法

    八、静态变量(static variable)和静态方法(static method)

  • 相关阅读:
    iOS(Object C) 冒泡排序
    《前端运维》一、Linux基础--06Shell流程控制
    Redis(主从复制、哨兵模式、集群)概述及部署
    腾讯云轻量数据库是什么?轻量数据库测评详细介绍
    【Python】解决Python报错:ModuleNotFoundError: No module named ‘xxx.yyy‘
    位运算 离散化 区间和算法
    VS+CUDA环境配置
    C++ Reference: Standard C++ Library reference: C Library: cwctype: iswpunct
    UJNOJ_1000-1007_python
    Redis(8)五大数据类型——Hash(哈希)
  • 原文地址:https://blog.csdn.net/weixin_47401101/article/details/134462979