[python学习] 介绍python的property,以及为什么要用setter,一个小栗子

python中的property是比较好用的。

先来一段代码

#-*- coding:utf-8 -*-

class C(object):
	status_dict = {
			1: ‘accept‘,
			2: ‘reject‘
			}
	def __init__(self):
		self._x = 1

	@property
	def status(self):
		return self.status_dict[self._x]

	@status.setter
	def status(self, val):
		if val == ‘reject‘:
			self._x = 2
		elif val == ‘accept‘:
			self._x = 1

c = C()

print c.status
print c._x
c.status = ‘reject‘
print c.status
print c._x

这段代码用了property装饰器还用了setter,我之前用property比较多,比如我已经制定了一个状态,但是想获得这个状态对应的中文描述,加一个property就好,这样可以把这个状态当作这个对象的属性来操作,但是我知道了状态的描述想要改变这个描述,该怎么办呢,而且我还不知道对应的关系,这个时候setter就上场了。

-------------------

先割一下,先写这么多,再慢慢补充。

时间: 2024-11-06 18:50:24

[python学习] 介绍python的property,以及为什么要用setter,一个小栗子的相关文章

python学习之最简单的获取本机ip信息的小程序

文章是从我的个人博客粘贴过来的,大家可以直接访问我的个人博客哦 http://www.iwangzheng.com 获取本机ip信息的命令ifconfig总是在用,这次拿到pyhton代码里,感觉python好麻烦啊,每次都要import. 可以在程序里直接read出来,也可以先在命令行执行ifconfig > xx.txt,这样可以直接访问倒入后的文本信息. 这个小程序有个问题,与朋友讨论了还没解决彻底,如果用findall是可以匹配所有的,但是怎么解决用match只匹配一次的问题呢,当然如果

总结:Python学习 和 Python与C/C++交互

本篇仅仅是Python的学习和Python和C++数据对接过程中的一些总结. 由于工作的需要,用一周的时间学习 Python. Python是基于C实现的一门解释型语言,由于其易用性,俘获了不少开发者和运维的心.据说,Python 在科学计算领域,逐步吞噬着古老语言 Fortran的份额.这门语言是Google的第二语言,国内的知乎,豆瓣,都使用纯Python开发.Python的官方网站:http://www/python.org. 为了逐步完善的我们的数据库驱动服务,我们需要为客户提供更多,更

Python学习教程(Python学习路线+Python学习视频):Python数据结构

Python学习教程(Python学习路线+Python学习视频):Python数据结构   数据结构引言:   数据结构是组织数据的方式,以便能够更好的存储和获取数据.数据结构定义数据之间的关系和对这些数据的操作方式.数据结构屏蔽了数据存储和操作的细节,让程序员能更好的处理业务逻辑,同时拥有快速的数据存储和获取方式. 在这篇文章中,你将了解到多种数据结构以及这些数据结构在Python中实现的方式.    抽象数据类型和数据结构 数据结构是抽象数据类型(ADT)的实现,通常,是通过编程语言提供的

Python学习(一) Python安装配置

我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X版本和3.X版本.我选择的是Python2.x版本.为了快速学习Python的WEB开发,我选择的Python的WEB开发框架是Django.Django有个好处就是自带了后台管理系统. 第一步,下载: 因本人使用的电脑操作系统是Windows7 64位,所以选择下载Python的windows安装

python学习笔记-python安装

我是在读的大四学生,小白一枚,想要学习人工智能.我会把我每天所学的分享出来,希望那些跟我志同道合的人,咱们一起学习和交流. 那咱们就从python开始学起.第一次写博客,心里还有点小激动..嘻嘻 本教程非常简单,如果有编程基础的人可以直接跳过.我主要是还考虑到什么都不懂的小白.虽然我也是个小白,嘻嘻. python有两个版本,一个2.x,一个3.x, 建议学python3,因为后面要学习的一些东西python2可能不支持. 首先打开度娘,百度python,进入python官网 点击下载 底下有各

Python学习 Day14 python 类和元类(metaclass)的理解和简单运用

python 类和元类(metaclass)的理解和简单运用 (一) python中的类 首先这里讨论的python类,都基于继承于object的新式类进行讨论. 首先在python中,所有东西都是对象.这句话非常重要要理解元类我要重新来理解一下python中的类 class Trick(object): pass 当python在执行带class语句的时候,会初始化一个类对象放在内存里面.例如这里会初始化一个Trick对象 这个对象(类)自身拥有创建对象(通常我们说的实例,但是在python中

Python基础教程:Python学习视频Python让你敲的代码不再是造轮子

你敲的代码是在造轮子?那就学Python呗!_Python基础教程 Bruce大神说" 人生苦短,我用Python ". 从公司角度而言: 国内基于Python创业成功的案例不在少数,豆瓣.知乎.果壳,全栈都是 Python,大家对Python自然有信心.并且从这几家公司出来的程序员与 CTO,创业的话一般都会选择Python. 从开发者个人角度而言: 计算机语言只是用来达成目的工具,?各种强大的第三方库,拿来就能用才是王道,让程序替代我们执行一些枯燥繁琐的工作.?至于句式是否优美.能

Python学习之--python概要

1 Python的优点 Python语言类库齐全,语法简洁,而且在linux上自带安装,在处理大数据以及自动化方面有其独有的特点.2 Python的解释器 Python解释器用来解释python代码,比较流行的python解释器有:   CPython, 使用C解释器,将python源码解释为.pyc文件(字节码)   JPython, 使用java解释器,将python源码解释为java识别的字节码   IronPython, 使用c#解释器解释为c#识别的字节码   PyPy,解释器解释为字

Python学习之Python简介

Python简介 Python的由来 Python(英国发音:/?pa?θ?n/ 美国发音:/?pa?θɑ?n/), 是一种面向对象.解释型计算机程序设计语言,它是吉多·范罗苏姆(Guide van Rossum)——龟叔在1989年12月时,想寻找一门“课余”编程项目来打发圣诞节前后的时间,决定为当时正构思的一个新的脚本语言写一个解释马戏团的狂热爱好者,他选择了Python作为项目的标题,使用C进行开发. 1991年 发布Python第一个版本. Python是纯粹的自由软件, 源代码和解释器