python 之用装饰器@property,把方法变成一个特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 之用装饰器@property,把方法变成一个特性相关的知识,希望对你有一定的参考价值。

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:19:03 2016

@author: toby
"""
#知识点:用装饰器@property,把方法变成一个特性

class Province:
    memo = ‘One of China\‘s 23 provinces‘ #静态字段
    
    def __init__(self,name,capital,leadership):
        self.Name = name #动态字段
        self.Capital = capital #动态字段
        self.Leadership = leadership #动态字段
        
    def sports(self): #定义一个动态方法,类不能访问动态方法
        print self.Name + ‘The sports meeting‘
    
    #把方法变成一个特性
    @property #自带的装饰器
    def Bar(self):
        print self.Name
        return ‘somthing‘ #也是可以有一个返回值的
        
#实例化两个对象,对象名分别是:hb、sd
hb = Province(‘hebei‘,‘shjiazhuang‘,‘liyang‘)
sd = Province(‘shandong‘,‘jinan‘,‘angshenghui‘)

#通过对象访问这个属性,把方法的访问形式变成访问字段的访问形式
print hb.Bar


本文出自 “FA&IT运维-Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1874165

以上是关于python 之用装饰器@property,把方法变成一个特性的主要内容,如果未能解决你的问题,请参考以下文章

Python的黑魔法@property装饰器的使用技巧

python之内置装饰器(property/staticmethod/classmethod)

二十三Python 中 property() 函数及 @property 装饰器的使用

十四 —— 装饰器

Python高级property属性详解

python--把一个方法变成属性调用