从14年下半年开始接触到python,自学了一段时间,后又跟别人学习了下,把基础知识基本上学过了。忽然感觉python不可能这么简单吧,就这么点东西?后来看了下书,发现还有很多的高级部分。连续看了两天,把装饰符@看了下,记录下。

@装饰符的作用就是类里的方法变成属性使用,比直接调用方法要直接简单

直接上代码(没有@的):

 class Student(object):
def get_age(self):
return self.__age=29
def set_age(self,age):
self.__age=age
s=Student()
7 print s.get_age()
s.set_age(15)
print s.get_age()

带有@的:

 class Student(object):
@property
def age(self):
return self.__age=55
@age.setter
def age(self,age):
self.__age=age
s=Student()
9 print s.age
s.age=15
print s.age

假如没有设置@age.setter,该age就是只读的,不能写。

python 中@property的使用的更多相关文章

  1. python 中 property 属性的讲解及应用

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 1. 装饰器 即:在方法上应用装饰器 2. 类属性 即 ...

  2. python 中property函数如何实现

    实际上,在python中property(fget,fset,fdel,doc)函数不是一个真正的函数,他其实是拥有很多特殊方法的类. 这特殊类总的很多方法完成了property函数中的所有工作,涉及 ...

  3. python中@property装饰器的使用

    目录 python中@property装饰器的使用 1.引出问题 2.初步改善 3.使用@property 4.解析@property 5.总结 python中@property装饰器的使用 1.引出 ...

  4. 转载-对于Python中@property的理解和使用

    原文链接:https://blog.csdn.net/u013205877/article/details/77804137 重看狗书,看到对User表定义的时候有下面两行 @property def ...

  5. python中property属性的介绍及其应用

    Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回. 使用property修饰的实例方法被调用时,可以把它当做实例属性一样 property的 ...

  6. 对于Python中@property的理解和使用

    @property 这个我们在很多代码中都会用到,简单讲即为一个只读属性的调用 如果需要有修改权限,需要再加一个@属性名.setter 例: #!/usr/bin/env python # -*- c ...

  7. Python 中@property的用法

    在绑定属性时,如果我们直接把属性赋值给对象,比如: p = Person() p.name= 'Mary' 我们先看个详细的例子(注意双下划线name和age定义为私有变量): class Perso ...

  8. python中 @property

    考察 Student 类: class Student(object): def __init__(self, name, score): self.name = name self.score = ...

  9. Python中property属性的概论和使用方法

    property属性 概念: 定义一个方法但是使用装饰器property,只可以有一个self形参 可以用这样的属性动态的获取属性的值 定义方式(经典类) class Fun(): @property ...

随机推荐

  1. 【C#】数据库备份及还原的实现代码【转载】

    [转载]http://www.codesky.net/article/200908/128600.html C#数据库备份及还原1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列 ...

  2. 使用c#检测文件正在被那个进程占用

    要检测文件被那个进程占用,需要使用微软提供的工具Handle.exe,这里有微软提供的下载 我们可以在c#中调用Handle.exe 来检测到底哪个进程占用了文件 string fileName = ...

  3. ActiveMq+zookeeper+levelDB集群整合配置

    ActiveMq+zookeeper+levelDB集群整合配置 环境:linux系统,jdk1.7  三台linux系统电脑.我这里使用一台window,分别远程3台linux电脑.三台电脑的ip分 ...

  4. PHPCMS 错误日志 Only variables should be passed by ...

    有几个网站是PHPCMS V9做的,但这两天发现一个问题,PHPCMS 的错误日志超过了20M ,后台报警,然后我看了下错误日志,其中两万多行都是一个错误,错误信息如下: 1 <?php exi ...

  5. gridview 一个列勾选框选中,同时选中同一行的另一列勾选框

    <asp:TemplateColumn > <HeaderTemplate> 是否显示 <asp:CheckBox ID="chk_Show" sty ...

  6. sql之表连接和group by +组函数的分析

    1.首先我们来先看一个简单的例子: 有[Sales.Orders]订单表和[Sales.Customers]顾客表,表的机构如下 业务要求:筛选  来自“按时打算”国家的用户以及所下的订单数 sele ...

  7. Homework3

    1. 切换路径到想要保存的目录下,使用git init创建仓库: 2. 在仓库下创建文件Readme.txt,使用git add命令添加到暂存区和 git commit 命令提交到仓库: 3.  修改 ...

  8. OC 数据类型之间的转换方法

      NSNumber转NSString: 假设现有一NSNumber的变量A,要转换成NSString类型的B 方法如下: NSNumberFormatter* numberFormatter = [ ...

  9. mv 的使用

    Linux下目录的合并以及文件的覆盖案例 功能说明:将源文件重命名为目标文件,或将源文件移动至指定目录. 用法:mv [选项]... [-T] 源文件 目标文件 或:mv [选项]... 源文件... ...

  10. js获取节点

    demo1: <!-- <div id="test" v="1">你好</div> --> // console.log(t ...