zoukankan      html  css  js  c++  java
  • python property的用法

    用法一:

    class Test(object):
      def __init__(self):
        # 私有化
        self.__num = 100 #名字重整_Test__num

      def setNum(self,newNum):
        print("-----setter")
        self.__num = newNum

      def getNum(self):
        print("-----getter")
        return self.__num


    num = property(getNum,setNum)

    t = Test();
    # t.__num = 200;
    # print(t.__num)

    print(t.getNum())
    t.setNum(50)
    print(t.getNum())

    print('-------------------------')

    t.num = 200 #相当于调用了 t.setNum(200)

    print(t.num) # 相当于调用了 t.getNum()

    # 注意点
    # t.num 到底是调用了getNum()还是SetNum(),要根据实际的场景来判断,
    # 1.如果是给t.num赋值,那么一定调用setNum()
    # 2.如果是获取t.num的值,那么就是调用getNum()

    # property的作用:相当于把方法进行了封装,开发者在对属性设置数据的时候更方便

    用法二:

    class Test(object):
      def __init__(self):
        # 私有化
        self.__num = 100 #名字重整_Test__num

      @property
      def num(self):
        print("-----getter")
        return self.__num

      @num.setter
        def num(self,newNum):
        print("-----setter")
        self.__num = newNum

    t = Test();

    t.num = 200 #相当于调用了 t.setNum(200)

    print('--------------------------')

    print(t.num) # 相当于调用了 t.getNum()

  • 相关阅读:
    Spring--AOP--面向切面编程
    Spring ---annotation (重点)--Resource, Component 重要!!!
    Spring ---annotation (重点)--AutoWired 不常用
    ts 交集类型
    ts 使用 keyof typeof
    Dart 编写Api弃用警告
    js 反应&行动
    perl 打印简单的help文档
    perl 在windows上获取当前桌面壁纸
    perl 打印目录结构
  • 原文地址:https://www.cnblogs.com/sklhtml/p/9437590.html
Copyright © 2011-2022 走看看