python property属性

能够检查參数,一直没注意这个语言特性,忽略了非常多细节,感谢 vitrox

class Person( object ):

    def __init__( self, name ):
        if not isinstance( name, str ):
            raise TypeError( '...' )
        else:
            self.__name = name

    @property
    def name( self ):
        print 'get name.'
        return self.__name

    @name.setter
    def name( self, newname ):
        print 'set name.'
        if not isinstance( newname, str ):
            raise TypeError( '...' )
        else:
            self.__name = newname
            print 'set ok.'

p = Person( 'A' )
p.name = 'B'
print p.name
时间: 2024-08-09 22:00:21

python property属性的相关文章

Python @property 属性

Python @property 修饰符 python的property()函数,是内置函数的一个函数, 会返回一个property的属性: 可以在以下网页查看它的描述:property 文档上面说property()作为一个修饰符, 这会创建一个只读的属性. class Parrot: def __init__(self): self._voltage = 100000 @property def voltage(self): """Get the current volt

Python——@property属性描述符

@property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的 假设定义了一个类Cls,该类必须继承自object类,有一私有变量__x 1. 第一种使用属性的方法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #!/usr/bin/env python # -*- coding: utf-8 -*- # blog.i

property属性[Python]

一.property解释 根据文档资料解释: property([fget[, fset[, fdel[, doc]]]]) Return a property attribute for new-style classes (classes that derive from object) 使用这个内建函数时,类必须继承object,才有效. property有可选参数fget, fset, fdel, doc.fget是获取值函数,fset是设置函数值,fdel是删除函数,doc文档说明.

python中的property属性

目录 1. 什么是property属性 2. 简单的实例 3. property属性的有两种方式 3.1 装饰器方式 3.2 类属性方式,创建值为property对象的类属性 4. property属性-应用 4.1. 私有属性添加getter和setter方法 4.2. 使用property升级getter和setter方法 4.3. 使用property取代getter和setter方法 1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # #

Python中property属性详解

1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ############### class Foo: def func(self): pass # 定义property属性 @property def prop(self): pass # ############### 调用 ############### foo_obj = Foo() foo_obj.func() # 调用实例方法 foo_obj.p

【转】python之property属性

1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ############### class Foo: def func(self): pass # 定义property属性 @property def prop(self): pass # ############### 调用 ############### foo_obj = Foo() foo_obj.func() # 调用实例方法 foo_obj.p

python property

python property 在2.6版本中,添加了一种新的类成员函数的访问方式--property. 原型 class property([fget[, fset[, fdel[, doc]]]]) fget:获取属性 fset:设置属性 fdel:删除属性 doc:属性含义 用法 1.让成员函数通过属性方式调用 class C(object): def __init__(self): self._x = None def getx(self): return self._x def set

Python @property 详解

本文讲解了 Python 的 property 特性,即一种符合 Python 哲学地设置 getter 和 setter 的方式. Python 有一个概念叫做 property,它能让你在 Python 的面向对象编程中轻松不少.在了解它之前,我们先看一下为什么 property 会被提出. 一个简单的例子 比如说你要创建一个温度的类Celsius,它能存储摄氏度,也能转换为华氏度.即: class Celsius: def __init__(self, temperature = 0):

Python中“*”和“**”的用法 || yield的用法 || ‘$in’和'$nin' || python @property的含义

一.单星号 * 采用 * 可将列表或元祖中的元素直接取出,作为随机数的上下限: import random a = [1,4] print(random.randrange(*a)) 或者for循环输出: import random a = [1,4] for i in range(*a): print(i) ''' result : 1 2 3 ''' 二.双星号 ** 双星号 ** 可将字典里的“值”取出,如下例 class Proxy(object): def __init__(self,