python中property方法有用_python中@property和property函数常见使用方法示例
本文实例讲述了python中@property和property函数常见使用方法。分享给大家供大家参考,具体如下:
1、基本的@property使用,可以把函数当做属性用
class Person(object):
@property
def get_name(self):
print('我叫xxx')
def main():
person = Person()
person.get_name
if __name__ == '__main__':
main()
运行结果:
我叫xxx
2、@property的set,deleter,get
class Goods(object):
@property
def price(self):
print('@property')
@price.setter
def price(self,value):
print('@price.setter:'+str(value))
@price.deleter
def price(self):
print('@price.deleter')
obj = Goods()
obj.price = 50
obj.price
del obj.price
运行结果:
@price.setter:50
@property
@price.deleter
3、@property demo
class Goods(object):
def __init__(self):
#原价
self.original_price = 100
#折扣
self.discount = 0.8
@property
def price(self):
#实际价格=原价*折扣
new_price = self.original_price*self.discount
return new_price
@price.setter
def price(self,value):
self.original_price = value
@price.deleter
def price(self):
del self.original_price
obj = Goods()
obj.price
obj.price = 200
del obj.price
4、property函数使用
class Foo(object):
def get_name(self):
print('get_name')
return 'laowang'
def set_name(self, value):
'''必须两个参数'''
print('set_name')
return 'set value' + value
def del_name(self):
print('del_name')
return 'laowang'
NAME = property(get_name, set_name, del_name, 'description.')
obj = Foo()
obj.NAME #调用get方法
obj.NAME = 'alex' #调用set方法
desc = Foo.NAME.__doc__ #调用第四个描述
print(desc)
del obj.NAME #调用第三个删除方法
运行结果:
get_name
set_name
description.
del_name
5、property函数操作私有属性的get和set方法
class Person(object):
def __init__(self, age):
self.__age = age
def set_age(self, value):
self.__age = value
def get_age(self):
return self.__age
AGE = property(get_age, set_age)
person = Person(15)
person.AGE = 20
print(str(person.AGE))
运行结果:
20
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
python中property方法有用_python中@property和property函数常见使用方法示例相关推荐
- python计算长方形周长代码_python微元法计算函数曲线长度的方法
计算曲线长度,根据线积分公式: ,令积分函数f(x,y,z) 为1,即计算曲线的长度,将其微元化: 其中 根据此时便可在python编程实现,给出4个例子,代码中已有详细注释,不再赘述 ''' 计算曲 ...
- python中ttk详解_Python 中的Property 动态属性和特性详解
在Python开发时,考虑到安全性,我们会通过使用 '__' 定义私有属性,以限制类外或者子类都不能直接进行访问.操作.但同时,这些私有属性并不是一成不变的,所以我们还需要提供私有属性的对外操作方式. ...
- python判断字符串中包含某个字符串_Python中最常用的字符串方法!
译 / 忧郁的红秋裤 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这 ...
- python列表方法语句_Python中列表和元组的相关语句和方法讲解
列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数-- list(iter):把可迭代对象转换为列表. str(obj):把obj对象转换为字符串,即用字符串来表示这个对象. tup ...
- python把字符串放到列表_python中for循环把字符串或者字典添加到列表的方法
python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog' alist = [ ...
- python的requests模块功能_python中requests模块的使用方法
本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合 ...
- python复制文件的方法是_Python中复制文件的9种方法
Python 中有许多"开盖即食"的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作.在这篇文章中,你将会看到一些用 Python 实现文件复制的 ...
- python 获取 字典中的指定键_python中字典方法的详细教程
上篇文章讲到了python字典的基础知识,今天继续python中哈希(字典的应用)方法的应用. 前章回顾: python字典的应用及案例分析 字典方法: dict.clear() 删出字典内所有的元素 ...
- python实现链表的删除_Python中 为我们提供了一些独特的解决方案的方法特性
实际上,在日常的工作中,我们很多需求,无论是常见的.还是不常见的,Python 都为我们提供了一些独特的解决方案,既不需要自己造轮子,也不需要引入新的依赖(引入新的依赖势必会增加项目的复杂度). 但是 ...
最新文章
- 迷宫android游戏代码,C++打造迷宫游戏,直接上代码
- kubernetes1.8.4 安装指南 -- 8. 安装Kube DNS
- openkruise 缩容_Linus 本尊也来了!为什么 KubeCon 越来越火了?
- python动态图形_利用matplotlib实现根据实时数据动态更新图形
- html5+自动更换背景图片,html 随机切换背景图片
- 计算机自检报错无法开机,电脑开机不自检无显示是怎么回事?
- 计算机无法打开pdf文件夹,计算机打开PDF文档时发生错误. 如何修复损坏的文件...
- 分布式轻量级任务调度框架-XXL-JOB(最全面,附带本人实战)
- python在煤矿的用途-息烽高校邦数据科学通识课【Python爬虫】答案
- mac正常连wifi,无法解析域名
- 赋值表达式与赋值语句
- 写一个函数,使给定的一个3 × 3的二维整型数组转置,即行列互换。
- ¥符号在安卓上显示只有一个横杠的问题
- node js批量导出PDF 导出压缩为zip 拆分设计 文件压缩 批量导出设计
- 手把手Excel图表美化(1)--仪表图
- 中国中药提取物市场深度研究分析报告
- 一个陌生女人的来信-未完不续
- Android支付宝错误码62009,[payment支付宝:62009]未知错误;到底什么问题啊啊啊啊啊...
- Android开发免费短信验证码SDK。
- springboot1:项目启动
热门文章
- yum安装php5.6 nginx,CentOS 7 yum安装 Nginx1.16 + MySQL5.5 PHP5.6
- c语言330转化成字符,c/字符串,字符转数字,数字转字符(转)
- ajax请求 禁用缓存,jQuery ajax缓存禁用无法正常工作?
- 苹果mac休眠快捷键_Mac技巧|如何高效使用苹果便笺?用便笺快捷键快速完成操作...
- 无极菜单 php,ThinkPHP菜单无极分类 ThinkPHP菜单无极分类实例讲解
- html5图片自动翻转特效,CSS3带动态阴影效果的3D图片翻转特效
- 【Docker】docker-compose安装
- Win10上rabbitmq 安装
- 【JavaScript】【JQuery】获取 data-* 属性值
- jquery : 动态构建表单自动提交请求