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()

  • 相关阅读:
    i++与++i
    acm语录
    c# SQL2000 access 远程连接操作
    C# 四舍五入函数
    WINDOWS 2003 远程桌面记录登陆IP
    jquery 资源
    php google baidu 分页
    Solutions to place plus or minus signs to a nonzero digits sequence 123456789 so that result of thus described arithmetic opera
    VB获取网页下文字的链接地址
    php cache 缓存方法类一
  • 原文地址:https://www.cnblogs.com/sklhtml/p/9437590.html
Copyright © 2011-2022 走看看