。。。。。

>>> class Foo(object):
def __init__(self,name):
self._name = name
@property
def get_name(self):
return self._name >>> f1=Foo('yuyang')
>>> f1.get_name
'yuyang'
>>> f1.get_name = 'dfd'
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
f1.get_name = 'dfd'
AttributeError: can't set attribute

大概VC

>>> class Foo(object):
def __init__(self,name):
self._name = name
@property
def get_name(self):
return self._name
@get_name.setter
def get_name(self,value):
self._name = value >>> f2=Foo('yuyagng')
>>> f2.get_name
'yuyagng'
>>> f2.get_name = 'alex'
>>> f2.get_name
'alex'

收费电视

>>> class Foo(object):
def __init__(self,name):
self._name = name
def get_name(self):
return self._name
def set_name(self,value):
self._name = value
property(get_name,set_name) >>> f3 = Foo('dsadsa')
>>> f3.get_name
<bound method Foo.get_name of <__main__.Foo object at 0x0000000002F13EF0>>
>>> f3.get_name()
'dsadsa'
>>> f3.set_name('wupeiqi')
>>> f3.get_name()
'wupeiqi'
>>> class Foo(object):
def __init__(self,name):
self._name = name
def get_name(self):
return self._name
def set_name(self,value):
self._name = value
name = property(get_name,set_name) >>> f3 = Foo('dsadsa')
>>> f3.get_name()
'dsadsa'
>>> f3.name = 'laoda'
>>> f3.get_name()
'laoda'

VC下

vc

>>> class Mycalss(object):
d={'a':1,'b':2,'c':3}
def __getitem__(self,value):
return self.d[value]
def __setitem__(self,key,value):
self.d[key] = value >>> myclass = Myclass()
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
myclass = Myclass()
NameError: name 'Myclass' is not defined
>>> myclass = Mycalss()
>>> myclass['a']
1
>>> myclass['b']
2
>>> myclass['f']=4
>>> myclass['f']
4
>>> myclass['a']='aaaa'
>>> myclass['a']
'aaaa'
import base64

>>> a= 'asdasdfas'
>>> a2 =a.encode('utf-8')
>>> a64 = base64.b64encode(a2)
>>> a2
b'asdasdfas'
>>> a64
b'YXNkYXNkZmFz'
>>> base64.b64encode(a64)
b'WVhOa1lYTmtabUZ6'
>>> a64
b'YXNkYXNkZmFz'
>>> base64.b64decode(a64)
b'asdasdfas'
>>> a64.decode('utf-8')
'YXNkYXNkZmFz'
>>> a64_de = base64.b64decode(a64)
>>> a64_de
b'asdasdfas'

property getitem setitem的更多相关文章

  1. JS中sessionstorage的getItem/setItem/removeItem/clear

    function people(){ } var animal = { name: "cc", age:16, say:function(m1,m2){ alert("他 ...

  2. GETATTR,DELATTR,SETATTR与GETITEM,SETITEM,DELITEM区别

    通过对象.属性的方式触发的是__getattr__,__delattr__,__setattr__ 通过对象['属性']触发__getitem__,__setitem__,__delitem__ cl ...

  3. localStorage请使用getItem 和setITem

    最近看别人的代码,发现他们在从localStorage里面的时候喜欢用dot来操作,而不是get setItem,记得以前说过这个事.下面再说一次吧. 用dot方式来操作(   每次以'hello'= ...

  4. localStorage.getItem

    WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...

  5. python 入门总结(一)

    自然语言用双引号,机器语言用单引号 例如dict的key 单行注释 # 多行注释 ''' ''' 输入print %s 字符串的占位符 %d 数字的占位符 如语句中有占位符那么所有的%都是占位符,可以 ...

  6. [JS] ECMAScript 6 - Object : compare with c#

    Ref: 对象的扩展 Outline: 属性的简洁表示法 属性名表达式 方法的 name 属性 Object.is() Object.assign() 属性的可枚举性和遍历 Object.getOwn ...

  7. ES6常用七大特性

    ES6可谓是对JS语言的一个颠覆性改变,增加了Module改善JS一直被诟病的模块化.Promise解决异步函数的回调地狱.Class的面相对象编程... 在学习ES6的过程中,大家或多或少都有看过阮 ...

  8. ES6的新特性(9)——对象的扩展

    对象的扩展 属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. const foo = 'bar'; const baz = {foo}; baz // {f ...

  9. day28-描述符应用与类的装饰器

    #!/usr/bin/env python# -*- coding:utf-8 -*-# ------------------------------------------------------- ...

随机推荐

  1. 【BUAA软件工程】第一次阅读作业

    BUAA软件工程 第一次阅读作业 项目 内容 这个作业属于哪个课程? 北航软工 这个作业的要求在哪里? 第一次个人作业 我在这个课程的目标是? 学习高效严谨的软件工程开发过程,建立团队意识 这个作业在 ...

  2. 《Linux内核分析》实践3

    <Linux>实践--程序破解 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅 ...

  3. Linux 第七周实验 及总结

    姬梦馨 原创作品 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 Linux内核如何装载和启动一 ...

  4. 个人git链接和git学习心得总结

    个人git链接和git学习心得总结 个人git链接: https://github.com/hanzhaoyan Git 是 Linux 的创始人 Linus Torvalds 开发的开源和免费的版本 ...

  5. vue js 在组件中对数组使用splice() 遇到的坑。。。

    遇到的问题: 用el-dialog写了个子组件 要实现在子组件中增删数据 点击确定后把值返回给父组件 父组件在每次点开子组件时都会把自己的值传进去. //父组件传值 this.$refs.transf ...

  6. HTTP协议整理

    一.概念 1.HTTP协议:即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和Web服务器之间互相通信的规则,它允许将超文本标记语言(HTML)文档从 ...

  7. jest & puppeteer & 单元测试 & 集成测试

    jest & puppeteer 单元测试 & 集成测试 单元测试,就是测试一个函数或某个代码片段,通过模拟输入确保输出符合预期 集成测试,测的是一个功能模块,比如用户注册功能,集成测 ...

  8. 使用nexus搭建maven私服教程详解

    私服是什么 私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视.Nexus是常用的私用Maven服务器,一般是公司内部使用.下载地址是http://www.sona ...

  9. AGC005F Many Easy Problems(NTT)

    先只考虑求某个f(k).考虑转换为计算每条边的贡献,也即该边被所选连通块包含的方案数.再考虑转换为计算每条边不被包含的方案数.这仅当所选点都在该边的同一侧.于是可得f(k)=C(n,k)+ΣC(n,k ...

  10. 注册页面手机验证码无跳转接收[html+js+ajax+php]

    [学习笔记] 来源:注册时需要使用短信验证码,但是注册的时候,点击接收验证码时,会产生跳转(尼玛,这不是我想要的啊!o(╥﹏╥)o) 查询资料和看书之后,知道使用js+ajax可以实现,就从网上找了一 ...