zoukankan      html  css  js  c++  java
  • @property

    • 掌握@property的两个要点
      • 将方法伪装成属性
    class C:
    
        @property
        def f1(self):
            return 1
    
    obj = C()
    
    #f1在类中是方法,却和调用属性的写法一样
    obj.f1
    
      • 调用的对应关系
    class C:
    
        @property
        def f1(self):
            print(1)
    
        @f1.setter
        def f1(self, val):
            print(val)
    
        @f1.deleter
        def f1(self):
            print('del')
    
    obj = C()
    obj.f1     #调用第一个方法
    obj.f1 = 2 #调用第二个方法
    del obj.f1 #调用第三个方法
    

    扩展: property()的使用

    class C:
        def _get(self):
            print('get')
    
        def _set(self, v):
            print(v)
    
        prop = property(_get, _set)
    
    obj = C()
    obj.prop    #调用_get方法
    obj.prop = 'set'    #调用_set方法
    
  • 相关阅读:
    emacs jedi
    opencv 基本demo
    emacs列编辑
    observable operator example
    angular keydown 例子
    回调和匿名函数
    gin cors
    angular rxjs
    python dbus note
    视频截图
  • 原文地址:https://www.cnblogs.com/dongmengze/p/9508933.html
Copyright © 2011-2022 走看看