property getitem setitem
。。。。。
>>> 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的更多相关文章
- JS中sessionstorage的getItem/setItem/removeItem/clear
function people(){ } var animal = { name: "cc", age:16, say:function(m1,m2){ alert("他 ...
- GETATTR,DELATTR,SETATTR与GETITEM,SETITEM,DELITEM区别
通过对象.属性的方式触发的是__getattr__,__delattr__,__setattr__ 通过对象['属性']触发__getitem__,__setitem__,__delitem__ cl ...
- localStorage请使用getItem 和setITem
最近看别人的代码,发现他们在从localStorage里面的时候喜欢用dot来操作,而不是get setItem,记得以前说过这个事.下面再说一次吧. 用dot方式来操作( 每次以'hello'= ...
- localStorage.getItem
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...
- python 入门总结(一)
自然语言用双引号,机器语言用单引号 例如dict的key 单行注释 # 多行注释 ''' ''' 输入print %s 字符串的占位符 %d 数字的占位符 如语句中有占位符那么所有的%都是占位符,可以 ...
- [JS] ECMAScript 6 - Object : compare with c#
Ref: 对象的扩展 Outline: 属性的简洁表示法 属性名表达式 方法的 name 属性 Object.is() Object.assign() 属性的可枚举性和遍历 Object.getOwn ...
- ES6常用七大特性
ES6可谓是对JS语言的一个颠覆性改变,增加了Module改善JS一直被诟病的模块化.Promise解决异步函数的回调地狱.Class的面相对象编程... 在学习ES6的过程中,大家或多或少都有看过阮 ...
- ES6的新特性(9)——对象的扩展
对象的扩展 属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. const foo = 'bar'; const baz = {foo}; baz // {f ...
- day28-描述符应用与类的装饰器
#!/usr/bin/env python# -*- coding:utf-8 -*-# ------------------------------------------------------- ...
随机推荐
- SCRUM 12.21
从爬虫遇到的问题中我们学会了: 1.有的网站是有反爬虫机制的,外卖网站(我们猜测基本所有盈利性质的网站可能都是)全部都有. 2.我们对于反爬虫机制有了一定的了解. 本次爬虫测试中,我们最后连美团网 ...
- Week 2 代码规范
Question 1: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. My opinion: 我认为恰恰相反,这个可以提高人们的开发效率. 在团队合作当中,如果 ...
- Beta版测试报告
Beta版测试报告 测试中发现的Bug: Version 2.0 Bug List 1. 在动态监测界面,若随便点击“开始”.“关闭”.“结束”.红叉,会出现不定式崩溃现象. 2. 处理空数据时可能会 ...
- Linux内核分析 读书笔记 (第三章)
第三章 进程管理 3.1 进程 1.进程: 进程就是处于执行期的程序. 进程就是正在执行的程序代码的实时结果. 进程是处于执行期的程序以及相关的资源的总称. 进程包括代码段和其他资源. 2.线程:执行 ...
- 第三个sprint冲刺第三阶段
公测版:
- Quartz中时间表达式的设置-----corn表达式 (转)(http://www.cnblogs.com/GarfieldTom/p/3746290.html)
Quartz中时间表达式的设置-----corn表达式 (注:这是让我看比较明白的一个博文,但是抱歉,没有找到原作者,如有侵犯,请告知) 时间格式: <!-- s m h d m w(?) y( ...
- Docker 安装私有镜像库的简单使用
公司的网络实在是太差了, 想着自己搭建一个私有的镜像库进行使用测试使用.... docker pull registry.docker-cn.com/library/registry docker t ...
- 深入浅出——float
FLOAT 参考张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]的CSS float浮动的深入研究.详解及拓展 1.FLOAT的特性 float属性的初衷只是为了实现文字 ...
- jquery遍歷
遍歷是什麼? jquery的遍歷指的是移動,就是從選中的元素根據元素之間的關係移動,直到找到目標元素.從DOM樹中,可以進行向上移動(祖先),向下移動(子孫)和水平移動(同胞). 祖先就是父,祖父,曾 ...
- js數字
js數字只有一種類型:不是類型語言. js的數字可以使用科學計數法或者不使用科學計數法: js都是64位的, 如果是整數,(不使用科學計數法或者是小數點)最大15位的: 如果是浮點數,最大17位的,浮 ...