技术标签: python中的属性property Python
1. 私有属性添加getter和setter方法
class Money(object):
def __init__(self):
self.__money = 0
def getMoney(self):
return self.__money
def setMoney(self, value):
if isinstance(value, int):
self.__money = value
else:
print("error:不是整型数字")
2. 使用property升级getter和setter方法
class Money(object):
def __init__(self):
self.__money = 0
def getMoney(self):
return self.__money
def setMoney(self, value):
if isinstance(value, int):
self.__money = value
else:
print("error:不是整型数字")
money = property(getMoney, setMoney)
运行结果:
In [1]: from get_set import Money
In [2]:
In [2]: a = Money()
In [3]:
In [3]: a.money
Out[3]: 0
In [4]: a.money = 100
In [5]: a.money
Out[5]: 100
In [6]: a.getMoney()
Out[6]: 100
3. 使用property取代getter和setter方法
@property 成为属性函数,可以对属性赋值时做必要的检查,并保证代码的清晰短小,主要有2个作用:
1)将方法转换为只读
2)重新实现一个属性的设置和读取方法,可做边界判定
class Money(object):
def __init__(self):
self.__money = 0
@property
def money(self):
return self.__money
@money.setter
def money(self, value):
if isinstance(value, int):
self.__money = value
else:
print("error:不是整型数字")
运行结果
In [3]: a = Money()
In [4]:
In [4]:
In [4]: a.money
Out[4]: 0
In [5]: a.money = 100
In [6]: a.money
Out[6]: 100
UIImageView *imageView = [[UIImageView alloc]initWithImage:image]; [self.view addSubview:imageView];// 给图片设置阴影 // 提示,在imageView中,图层不止一个,如果要实现圆角效果,需要设置一个遮罩属性 // masksToBounds属性可以让imageVi...
AppDelegate.m- (void)dealloc{ [_window release]; [super dealloc];}- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.
1. install Apache Httpd server # intall path, ie. /apache2.2gunzip -d httpd*.tar.gztar -xvf httpd*.tarcd httpd*./configure --prefix=/ apache2.2 --enable-sslmakemake install ...
hibernate不同版本创建 sessionFactory 的不同方式
参数作用-P设置默认策略:iptables -P INPUT(DROP)-F清空所有的规则(清空规则链)-L列出所有的规则条目(查看规则链)-n以数字形式形式地址,端口等信息-v以更加详细的方式形式规则信息查看规则时,显示规则的序号-A在规则链的末尾加入新规则-I num在规则链的头部(或者指定序号)加入新规则-D num删除链内指定序号(或者内容)的一条规则删除某一条规则-s匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。-d匹配目标地址-i。
SQLyog语句新建表单显示语句SELECT * FROM 表名;添加数据INSERT INTO 表名(列1,列n) VALUES (值1,'值n');删除数据和删除所有数据(删除所有数据表还在)DELETE FROM 表名 WHERE 列1=值1;TRUNCATE TABLE 新表名;修改数据UPDATE 表名 SET 列n = '值n' WHERE 列1=值1;查询数据select 列1,列n from 表名;修改表添加列UPDATE 表名 SET 需
1. 什么是webworker理论多代码少的一个新特性MDN是这样说的Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法。线程可以执行任务而不干扰用户界面一个worker是使用一个构造函数创建的一个对象(e.g. Worker()) 运行一个命名的JavaScript文件这个文件包含将在工作线程中运行的代码;workers 运行在另一个全局上下文中,不同于当前的window因此,使用 window快捷方式获取当前全局的范围 (而不是self) 在一个 W
在学python机器学习,网上找了实战教程,有需要从yahoo获取股票数据,但一开始就遇到问题了,折腾了一天。以下给出问题以及解决方法。编程环境:Linux Ubuntu16, python3.6, anaconda 1.6.14, conda 4.5.4, pandas 0.23===========================================================...
第三题算式这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 Answer29// 深搜#include <stdio.
目录Android 热修复核心原理, ClassLoader类加载ART 和 Dalvikdexopt与dexaotClassLoader介绍双亲委托机制热修复在线源码Android 热修复核心原理, ClassLoader类加载又在写bug?这句话虽然是句玩笑话,但是也正因为我们是人不是神,但也不能面面俱到,什么都考虑完美,出现bug是不可避免的。那...
目标和环境 三个基于名字服务的虚拟主机配置。 软件下载载址 http://java.sun.com/j2se http://www.apache.org/dist 假设所有的下载文件全部放在/tmp下 软件环境 · RedHat Linux 9.0 · Jakarta-tomcat-5.0.19.tar.gz · Jakarta-tomcat-connnectors-jk2-src-current
问题描述overflow:auto 子元素超过父元素高度或者宽度时会出现滚动条(需要设置高度和宽度),当我这么设置之后出现了滚动效果却没有滚动条。问题原因全局写了滚动条宽度为0。::-webkit-scrollbar : {width:0}当我用样式覆盖后还是没有出现。::-webkit-scrollbar : {width:0}可能原因是样式没有写完整。解决办法将样式写全.printLogFather::-webkit-scrollbar { widt