`
luozhaoyu
  • 浏览: 347190 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python的property函数

阅读更多
python的builtin函数property其实很简单,其实就像java中bean的概念一样。可以控制类中变量的访问规则,property()函数实现的原理应该就是几天前写的__getattr__,__getattribute__等等函数有关。
有人回想,为什么python要控制变量的访问?难道实现不了private和protected么?变量命名是用两条下划线不能使变量private么?
很遗憾,不可以。两条下划线只是起到规范的作用,可能会报警,但是如果你愿意的话,还是可以无碍访问的。而且随着python版本变化搞不好以后这招还有可能不灵。所以我们需要property函数

class Propt(object):


    def __init__(self):
        self.__a2 = 'a2'
        self._a1 = 'a1'
        self.a = 'a'
        self._field1 = 'field1'


    @property
    def field1(self):
        print("field1 got")
        return self._field1

    
    @field1.setter
    def field1(self, val):
        print("field1 set")
        self._field1 = val

    
p = Propt()
print(p.field1)
p.field1 = 'a'

输出结果是:
field1 got
field1
field1 set

真的是非常简单,如果你把函数field加上@property,那么_field1就是只读的,除非你再加上field1.setter。
有个小疑问是,变量名可不可以改成其它的?比如说abcdefg,而保持函数名不变?嗯,这是没问题的,只不过千万不要改成field这个名字,变量名和函数名重复的话会死循环的。
分享到:
评论

相关推荐

    Python内置函数案例演示.pdf

    49. property()函数:获取、设置和删除属性的函数。 50. range()函数:生成一个整数序列。 51. repr()函数:返回对象的“官方”字符串表示。 52. reversed()函数:返回一个反向的迭代器。 53. round()函数:返回...

    python函数文档_python函数_python文档_python_

    Python函数是Python编程语言的核心元素之一,用于组织代码并使其可重用。它们是执行特定任务的代码块,可以通过调用其名称来执行。在Python中,函数的定义使用关键字`def`,后跟函数名和圆括号,其中可能包含参数。...

    python中@property和property函数常见使用方法示例

    主要介绍了python中@property和property函数常见使用方法,结合实例形式分析了Python @property和property函数功能、使用方法及相关操作注意事项,需要的朋友可以参考下

    Python中property函数用法实例分析

    在Python编程语言中,property函数是一项非常实用的特性,它允许开发者以函数的形式来封装属性的获取(get)、设置(set)和删除(delete)操作,使得属性的访问变得更加安全和规范。property函数的这种机制被称为...

    学学Python_45类的成员04 property函数

    Python中属性的概念,property函数,对应文件:ClassElement4。文章:https://blog.csdn.net/yysyangyangyangshan/article/details/84455039

    通过实例了解python property属性

    Python的`property`属性是一种强大的工具,它允许开发者创建看起来像普通实例属性的访问器方法,但实际上执行了自定义逻辑。这种特性使得代码更加整洁,同时保护了内部数据的完整性,因为可以对属性的访问进行控制和...

    Python property 介绍1

    Python 的 `property` 内置函数是面向对象编程中的一个重要特性,它允许开发者创建属性的访问器、修改器和删除器,从而实现对类中数据的控制和封装。`property` 不仅可以增强代码的可读性和安全性,还能提供额外的...

    python函数速查手册,留作备用

    在这个Python函数速查手册中,我们主要探讨的是Python中的内建函数和字符串内置方法。 首先,让我们来了解一下内建函数。内建函数是Python语言自带的一系列预定义函数,可以直接在任何地方使用,无需额外导入。以下...

    selenium中python常用函数

    根据提供的文件信息,我们可以总结出Selenium中Python常用的函数及其用法。Selenium是一个强大的工具,主要用于Web应用程序的自动化测试。下面将详细介绍这些函数的功能及使用场景。 ### 1. 初始化WebDriver实例 - ...

    python基于property()函数定义属性

    在Python编程语言中,`property()` 是一个内置的装饰器函数,它允许我们将类的属性包装成可控制的访问方式,以确保数据的正确性并维护类的封装性。通过`property()`,我们可以定义getter、setter和deleter方法,分别...

    python函数与方法的区别总结

    内置函数:python内嵌的一些函数。 匿名函数:一行代码实现一个函数功能。 递归函数 自定义函数:根据自己的需求,来进行定义函数。 (2)方法的分类: 普通方法:直接用self调用的方法。 私有方法:__函数名,只能...

    Python Property属性的2种用法

    Python 提供了两种方式来定义属性:一种是通过 `property` 函数,另一种则是利用装饰器。本文将详细介绍这两种用法,并提供具体的代码示例。 #### 第一种用法:使用 `property` 函数 在 Python 中,`property` 是...

    Python内置函数property()如何使用

    Python的内置函数`property()`是一个非常实用的工具,它允许我们创建类的属性,这些属性在访问时可以具有额外的行为,比如验证输入、缓存计算结果或者触发其他操作。通过`property()`,我们可以将原本直接操作实例...

    一文详述 Python 中的 property 语法

    `property`函数在新式类(即继承自`object`的类)中特别有用,可以提高代码的可读性和可维护性。 首先,让我们了解`property`的基本用法。当定义一个类时,有时我们希望某些属性是私有的,即不能直接访问或修改。...

    Python中property属性实例解析

    本文主要讲述的是对Python中property属性(特性)的理解,具体如下。 定义及作用: 在property类中,有三个成员方法和三个装饰器函数。 三个成员方法分别是:fget、fset、fdel,它们分别用来管理属性访问; 三个...

    Python内置函数

    Python内置函数是Python编程语言的核心组成部分,提供了许多预先定义好的功能,可以帮助开发者高效地完成各种任务。以下是对一些常见Python内置函数的详细说明: 1. `abs()`: 这个函数接收一个数值作为参数,返回其...

    Python2 内置函数大全

    Python 内置函数 内置函数 abs() divmod() input() open() staticmethod() all() enumerate() int() ord() str() any() eval() isinstance() pow() sum() basestring() execfile()...

Global site tag (gtag.js) - Google Analytics