• python--类、对象


    Class 类

    Class 类

    一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备的属性(variables(data))、共同的方法

    Object 对象

    一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同的属性,就像人类是指所有人,每个人是指具体的对象,人与人之前有共性,亦有不同

    • 对象:实例化一个类后得到的对象
    • 即有类变量也有实例变量,没有类方法的状态下先用实例变量
    • 其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去。
    1. 类名+()产生一个实例(对象,对象空间.)
    2. 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
    3. 给对象封装相应的属性.

    操作类中的方法(除了类方法,静态方法 需要类名调用之外,剩下的方法都要对象调用)

    r1 = Role('zou','police','AK47’)

    此时self 相当于 r1 , Role(r1,'zou','police','AK47’)

    r2 = Role('Jack','terrorist','B22’)

    此时self 相当于 r2, Role(r2,'Jack','terrorist','B22’)

    class Person:
        mind = '思想'  # 静态变量,静态字段
        animal = '高级动物'
    
        def __init__(self, name, age):  # 构造方法
            self.name = name
            self.age = age
    
        def work(self):  # 方法 ,动态变量
            print('都会工作...')
    
        def func(self):
            Person.money = '货币'
            self.hight = 175
    
    
    print(Person.__dict__)
    
    print(Person.mind)  #
    Person.money = '货币'  #
    Person.animal = '低等动物'  #
    del Person.mind  #

    结果:

    {'__module__': '__main__', 'mind': '思想', 'animal': '高级动物', '__init__': <function Person.__init__ at 0x03634CD8>, 'work': <function Person.work at 0x03634C48>, 'func': <function Person.func at 0x03634C90>, '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}
    思想
    class Dome:
        n = 123  # 类变量
    
        def __init__(self, name):  # 构造函数,相当于给类声  明变量
            self.name = name  # 实例变量,作用域就是实例本身
    
        def talk(self):  # 每一个函数里都要有一个self
            print('%s:say hello' % self.name)
    
    
    f = Dome('zou')  # 实例化,初始化一个类。把一个类变成一个对象的过程叫做实例化
    f.talk()  # Dome('zou').talk()

    结果:

    zou:say hello
  • 相关阅读:
    Django基础命令
    ubuntu中python项目独立的虚拟环境
    Springboot项目的小问题
    redis
    ubuntu系统根目录下各个目录用途说明
    SpringBoot 在IDEA中实现热部署
    SpringBoot访问不到webapp下的内容
    httpServeltRequest和Model传值的区别
    map的输出
    主流框架排名
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/13021578.html
Copyright © 2020-2023  润新知