Python 类属性变量初始化详解

在 Python 中,类属性变量的初始化机制与一般变量有所不同。

不会,除了 __init__() 函数中的参数和属性会被直接初始化外,其他类属性变量需要在类中使用时才会被初始化。

例如,以下代码展示了类属性变量的声明和初始化方式:

class MainWindow(QMainWindow):
    # ########################### 类属性变量 ##############################
    # 图像地址
    __rec_imageAdr = 'rec_image//rec_image.png'
    __save_imagesAdr = 'save_images//'
    __rec_dImage1Adr = 'rec_image//rec_dImage1.png'
    __rec_dImage2Adr = 'rec_image//rec_dImage2.png'

    # 构造相机对象
    __camera_1 = HKVision()
    __camera_1_id = '00J78373614'

    # __hk_camera = HKVision()
    # __hk_cameraId = '00J78373614'

    # __jh_camera = HKVision()
    # __jh_cameraId = '457101320618'

    # 标志位
    __is_rec = False
    __is_rec_d = False
    __is_close_recThread = False
    __is_open_recThread = False

    # MyOCR
    __my_ocr = MyOCR()

在该代码中,__rec_imageAdr 等类属性变量在类定义时被声明,但只有在类的方法中使用时才会被真正初始化。

总结:

  • 类属性变量在类定义时被声明,但只有在类的方法中使用时才会被初始化。
  • __init__() 函数中的参数和属性会在实例化类时被直接初始化。
Python 类属性变量初始化详解

原文地址: https://www.cveoy.top/t/topic/m32L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录