。。。。。

>>> 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. 读书笔记(chapter3)

    进程管理 3.1进程 1.进程:进程就是处于执行期的程序,实际上,进程就是正在执行的程序代码的实时结果: 2.执行线程,简称线程,是进程中活动的对象(每个线程拥有独立的程序计数器.进程栈.和一组进程寄 ...

  2. Mooc总结——Linux内核分析

    朱荟潼+ 原创作品转载请注明出处 :<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习笔记链接汇总 第 ...

  3. html5制作导航条

    (1)background-repeat:no-repeat;图片不平铺 (2)使用<ul>和<li>便签,代码简介有序.易于编排. (3)在引入外部css文件时,<li ...

  4. OSG 改变窗口大小

    viewer.realize();//需要realize,否则窗口为null osgViewer::GraphicsWindow *pWnd = dynamic_cast<osgViewer:: ...

  5. 第二次作业:Git的安装与使用

    ---恢复内容开始--- 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 1.首先安装git bash软件, ...

  6. Solution of wireless link "PCI unknown" on Centos 7.1

    Pick From http://www.blogjava.net/miaoyachun/archive/2015/09/17/427366.html After Centos 7.1 tobe in ...

  7. Jmeter 发测试报告到邮箱,expand/collapse 图片不显示

    由于发送到邮箱中html文件是不包含expand/collapse 资源文件的,所以导致邮箱中这两个图片没有显示,解决方法有两种: 1. 使用http能访问的图片链接地址 修改change中的图片资源 ...

  8. mysql问题处理积累

    1.mysql errors:message from server: "Host 'xxx' is blocked because of many connection errors; u ...

  9. js timeout

    setTimeOut(“”,毫秒):調用函數時,不是立刻執行,而是間隔一定的時間后在執行: clearTimeOut():清除計時器

  10. BZOJ3456 城市规划(多项式求逆)

    设f[i]为连通图的数量,g[i]为不连通图的数量,显然有f[i]=2i*(i-1)/2-g[i],g[i]通过枚举1所在连通块大小转移,有g[i]=Σf[j]*C(i-1,j-1)·2(i-j)*( ...