Python Property属性的2种用法

   这篇文章主要介绍了Python Property属性的2种用法,本文分别给出了两种用法的代码实例,需要的朋友可以参考下

  假设定义了一个类:C,该类必须继承自object类,有一私有变量_x

  代码如下:

  class C:

  def __init__(self):

  self.__x=None

  1.现在介绍第一种使用属性的方法:

  在该类中定义三个函数,分别用作赋值、取值和删除变量(此处表达也许不很清晰,请看示例)

  def getx(self):

  return self.__x

  def setx(self,value):

  self.__x=value

  def delx(self):

  del self.__x

  x=property(getx,setx,delx,'')

  property函数原型为property(fget=None,fset=None,fdel=None,doc=None),所以根据自己需要定义相应的函数即可。

  现在这个类中的x属性便已经定义好了,我们可以先定义一个C的实例c=C(),然后赋值c.x=100,取值y=c.x,删除:del c.x。是不是很简单呢?请看第二种方法

  2.下面看第二种方法(在2.6中新增)

  首先定义一个类C:

  代码如下:

  class C:

  def __init__(self):

  self.__x=None

  下面就开始定义属性了

  @property

  def x(self):

  return self.__x

  @x.setter

  def x(self,value):

  self.__x=value

  @x.deleter

  def x(self):

  del self.__x

  同一属性的三个函数名要相同哦。。

时间: 2024-09-20 00:18:25

Python Property属性的2种用法的相关文章

Python类属性与实例属性用法分析

  本文实例分析了Python类属性与实例属性用法.分享给大家供大家参考.具体如下: 类属性:类名.属性名 实例属性:实例.属性名 ? 1 2 3 4 5 6 7 8 9 10 11 12 >>> class test(): ... ver=1 ... >>> a=test() >>> test.x=8 >>> a.__dict__ {} >>> a.x 8 >>> a.x=9 >>&g

用Python解析XML的几种常见方法的介绍_python

一.简介        XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用.它是web发展到一定阶段的必然产物,既具有SGML的核心特征,又有着HTML的简单特性,还具有明确和结构良好等许多新的特性.         python解析XML常见的有三种方法:一是xml.dom.*模块,它是W3C DOM API的实现,若需要处理DOM API则该模块很适合,注意xml.dom包

native2ascii命令的一种用法

native2ascii命令的一种用法! 在JDK文件中这样描述这个命令的: native2ascii Convert text to Unicode Latin-1. 语法如下: native2ascii [options] [inputfile [outputfile]] 具体的选项有: -reverse Perform the reverse operation: convert a file with Latin-1 and/or Unicode encoded characters t

flex复选框和下拉列表的几种用法整理

这几天接触了flex的很多控件,让我印象最深刻的就是控件的数据绑定几乎所有控件都可以这样做,基本上来说原理和html一样,我自己闲暇时间就整理了有关复选框可下拉的几种用法,下面就给大家分享一下. 1.复选框 这里我主要研究的该控件的全选,全不选,反选以及选中的操作,原理也就是也能用selected这个属性,true表示选中,只需遍历就能实现,此处我使用的是动态的复选框,页面代码如下 复制代码 代码如下: <mx:VBox top="50"> <mx:VBox>

讲解Python中if语句的嵌套用法

  这篇文章主要介绍了讲解Python中if语句的嵌套用法,是Python入门当中的基础知识,需要的朋友可以参考下 可能有这样一种情况,当你想检查其他条件后一个条件解析为真.在这种情况下,可以使用嵌套的if结构. 在嵌套的 if 语句结构,可以在一个 if... elif... else 结构里面可有另外一个 if... elif... else 结构. 语法: 嵌套 if...elif...else 结构的语法可以是: ? 1 2 3 4 5 6 7 8 9 10 11 12 if expre

js中继承的几种用法总结

 本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承   js中有三种继承方式   1.js原型(prototype)实现继承   代码如下: <SPAN style="BACKGROUND-COLOR: #ffffff"><SPAN style="FONT-SIZE: 18px"><html>   <body>  

python property装饰器

直接上代码: 1 #!/usr/bin/python 2 #encoding=utf-8 3 4 """ 5 @property 可以将python定义的函数"当做"属性访问,从而提供更加友好访问方式 6 """ 7 8 class Parrot: 9 #class Parrot(object): #报错,AttributeError: can't set attribute' 10 def __init__(self): 1

flex复选框和下拉列表的几种用法整理_Flex

这几天接触了flex的很多控件,让我印象最深刻的就是控件的数据绑定几乎所有控件都可以这样做,基本上来说原理和html一样,我自己闲暇时间就整理了有关复选框可下拉的几种用法,下面就给大家分享一下. 1.复选框 这里我主要研究的该控件的全选,全不选,反选以及选中的操作,原理也就是也能用selected这个属性,true表示选中,只需遍历就能实现,此处我使用的是动态的复选框,页面代码如下 复制代码 代码如下: <mx:VBox top="50"> <mx:VBox>

浅谈python类属性的访问、设置和删除方法_python

类属性和对象属性 我们把定义在类中的属性称为类属性,该类的所有对象共享类属性,类属性具有继承性,可以为类动态地添加类属性. 对象在创建完成后还可以为它添加额外的属性,我们把这部分属性称为对象属性,对象属性仅属于该对象,不具有继承性. 类属性和对象属性都会被包含在dir()中,而vars()是仅包含对象属性.vars()跟__dict__是等同的. 类属性和对象属性可类比于Java中的static成员和非static成员,只不python中的类属性和对象属性都是可以动态添加(和删除)的. clas