• 关于面向对象的属性访问


    ```
    class Car:
    car_address = '河南省郑州市' #类属性

    def __init__(self,color):
    self.color = color #实例属性

    #实例方法 只能用实例对象访问
    def move(self):
    print('move....')

    #类方法,可以使用类对象和实例对象调用
    @classmethod
    def start(cls):
    print('类方法start....')

    #静态方法,可以用类对象和实例对象调用
    @staticmethod
    def stop():
    print('静态方法stop...')
    ```
    类属性在类里面,父级就是类本身,可以被类和实例对象调用,实例对象可以对类属性进行重写,但不会影响类属性本身,类调用时一样可以使用原属性,类可以修改类属性,修改之后实例对象调用的就是修改以后的值

    实例方法是类下面默认的函数类型 ,其中__init__函数下面的变量都是实例属性,实例属性和实例方法只能被类进行调用

    类方法需要用@classmethod修饰,可以被类,实例对象调用

    静态属性需要用@staticmethod修饰,可以被类和实例对象调用,但都不能对其进行修改


    ```
    class A:
    str0 = 'hi,'

    def __init__(self):
    self.__str1 = 'hello'
    self._str2 = 'world'

    def f1(self):
    print(self.__str1)


    mc = A()

    print(mc.str0)
    print(mc._A__str1)
    print(mc._str2)
    ```
    以上是关于类属性,共享属性,私有属性的访问测试,值得注意的是,双下划线的str1属性访问时有两种方式(1、在类的内部写一个方法,调用方法访问;2、即上面的方法)

  • 相关阅读:
    尺取法 C
    并查集
    欧拉路与欧拉回路
    C
    最大连续区间和算法总结
    C
    python中的random函数方法
    Python可视化
    MFC学习之模态对话框和非模态对话框
    dropna
  • 原文地址:https://www.cnblogs.com/Zhao01/p/10082840.html
Copyright © 2020-2023  润新知