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 -*-# ------------------------------------------------------- ...
随机推荐
- 【实践报告】Linux实践二
3.编译并安装内核与模块 sudo make bzImage –j3 编译内核 sudo make modules –j3 编译模块 sudo make modules ...
- linux及安全第六周总结
进程控制块pcb——task_struct 操作系统三大功能: 进程管理(核心) 内存管理 文件系统 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息: 进程状态 ...
- 《Linux内核分析》第六周学习笔记
<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- PAT L2-021 点赞狂魔
https://pintia.cn/problem-sets/994805046380707840/problems/994805058485469184 微博上有个“点赞”功能,你可以为你喜欢的博文 ...
- Docker(二十七)-Docker 清理占用的磁盘空间
1. docker system命令 docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况: docker system dfTYPE TOTAL A ...
- windows下git显示文件被修改,实际没有改动的问题解决办法
不少开发者可能遇到过这个问题:从git上拉取服务端代码,然后只修改了一处地方,准备提交时,用diff软件查看,却发现整个文件都被修改了.这是git自动转换换行符导致的问题. 原因 不同操作系统使用的换 ...
- 使用Hexo搭建Github静态博客
1. 环境环境 1.1 安装Git 默认配置就好 1.2 安装node.js 下载:http://nodejs.org/download/ 安装时直接保持默认配置即可. 2. 配置Github 1.1 ...
- Delphi.XE2破解方法
我安装的是Delphi.XE2.RTM.v16.0.4256.43595.Lite.v5.0 ,安装完后打开显示是15天试用. 退出XE2后把C:\Program Files\Embarcadero\ ...
- html 统一资源定位器(url)和url编码
url,即统一资源定位器,也叫网址. 点击<a>标签就会连接到url指定的服务器web资源,文档或者其它数据: url的命名规则:url可是域名或者IP地址 url="shcem ...
- 设计模式【PHP案例】
内容来源: 波客 菜鸟教程 策略模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改.这种类型的设计模式属于行为型模式. 在策略模式中,我们创建表示各种策略的对 ...