首页 > 其他分享 >property

property

时间:2023-04-24 17:46:28浏览次数:22  
标签:aaa temp self bbb value property

property

使用property相当于把这个函数作为一个属性而不是方法,调用的时候获得的是一个只读的属性

一般用于外部访问内部参数,并保护内部参数不被外部更改(只读)

既然有只读的方法,当然也有对应的setter方法

setter的前面必须要先property

得先有属性才能做setter

这种的另一个好处是写得方便,直接用赋值的就行,然后在处理数据的时候对其进行验证处理,比方说看它是不是符合你这个变量因有的格式,是否为空,是否纯数字之类的

from copy import deepcopy

class TempDemo:
    def __init__(self):
        self.__aaa = 0
        self.__bbb = 1

    @property
    def aaa(self):
        return self.__aaa

    @aaa.setter
    def aaa(self, value):
        value_temp = deepcopy(value)
        """对传入的数据进行验证处理"""
        self.__aaa = value_temp

    @property
    def bbb(self):
        return self.__bbb

    @bbb.setter
    def bbb(self, value):
        if isinstance(value, int):
            value_temp = deepcopy(value)
            """对传入的数据进行验证处理"""
            self.__bbb = value_temp
        else:
            raise ValueError("不是整数")


if __name__ == '__main__':
    temp = TempDemo()
    print(temp.aaa)
    print(temp.bbb)
    temp.aaa = 5
    temp.bbb = 9
    print("aaa", temp.aaa)
    print("bbb", temp.bbb)

标签:aaa,temp,self,bbb,value,property
From: https://www.cnblogs.com/code3/p/17350295.html

相关文章

  • TypeError: Cannot read property 'upgrade' of undefined
    解决方案:在你的.env.dev配置文件中配置VUE_APP_BASE_API并对target赋值 ......
  • 解决vue2.0路由 TypeError: Cannot read property 'matched' of undefined 的错误问题
      找了很久这个问题 解决vue2.0路由TypeError:Cannotreadproperty'matched'ofundefined的错误问题-北桥苏-博客园(cnblogs.com)  解决办法改为   问题解决  没有找到为什么 好像高版本的router没有这个问题 我因为需要降级到了3.1.3 ......
  • Avalonia属性编辑器控件(Avalonia.PropertyGrid)
    Nuget: https://www.nuget.org/packages/bodong.Avalonia.PropertyGridGitHub: https://github.com/bodong1987/Avalonia.PropertyGrid ......
  • 关于项目组件打包时遇到 `Uncaught TypeError: Cannot read property 'toLowerCase' o
    在全局注册组件时采用遍历组件池的方法时 每个组件都应该具备name属性 否则会出现UncaughtTypeError:Cannotreadproperty'toLowerCase'ofundefined  ......
  • Investigating Div-Sum Property UVA - 11361
     定问在[A,B]中,有多少个整数本身能被m整除,各个数位上数字之和也能被m整除?  #include<iostream>#include<cstring>#include<vector>usingnamespacestd;vector<int>a;intm,f[40][105][105][2];intdfs(intx,intv1,intv2,intflg){ if(x<0) retur......
  • ts报错:Property '$xxx' does not exist on type
    问题在catch中统一处理异常信息,就想着写到一个函数里面,然后需要用到的地方自行调用就可以。一般两种方法,要不通过mixin,要不绑定到vue的prototype上面。这里采用的是后者。在以前没引入ts之前,是那么简单的一件事情。//先绑定Vue.prototype.$catchRequestError=function(......
  • wpf使用propertygrid控件
    1.首先在引用里右键管理NuGet程序包查找extendedwpftoolkit并安装2.    引用DLL  xmlns:extoolkit="http://schemas.xceed.com/wpf/xaml/toolkit"3.<extoolkit:PropertyGridName="PropertyGrid1"Margin="0,45,-0.333,-0.333"></extoolkit......
  • Visual Stadio 编译提示 The BaseOutputPath/OutputPath property is not set for pr
    完整的错误信息是:TheBaseOutputPath/OutputPathpropertyisnotsetforproject'xx.csproj'.PleasechecktomakesurethatyouhavespecifiedavalidcombinationofConfigurationandPlatformforthisproject.Configuration='Debug'Plat......
  • 运行项目报错Cannot read property 'styles' of undefined
    原因是安装依赖版本不对,以下是我的解决办法:1、先删除项目中package-lock.json文件及node_modules文件(可使用rimraf指令删除node_modules,直接删文件很慢)2、执行npmi--legacy-peer-deps  指令,会发现自动帮我们生成了package-lock.json及node_modules,这个命令是用来安装......
  • Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
    网上一堆说的,启动类的加@MapperScan,mybatis指定mapper路径,甚至说实体类与数据库连不上等等。都不行,后来比对下与另一个能正常启动的pom文件比对,发现是依赖没加入,包括connector依赖都没有。综上,思路是未连接数据库的原因。......