#!/usr/bin/env python# !-*-coding:utf-8-*-class Setting(): name = "asdfa" age = "18" def __init__(self): passclass MyClass(): def _...
分类:
其他好文 时间:
2014-12-10 21:06:21
阅读次数:
197
本函数是用来显示当前作用域里的属性列表,或者参数对象object的属性列表。当没有参数对象时,显示当前作用域所在的属性列表;如果有参数对象,就会显示这个对象拥有的属性列表。本函数在显示对象的属性列表时,查看对象是否存在__dir__()函数,如果存在,就调用这个函数,并显示这个函数返回的属性列表。当然用户也可以使用__getattr__()或__getattribute__()函数来定制属性的显示...
分类:
编程语言 时间:
2014-11-22 10:37:41
阅读次数:
252
attribute和property都有属性之意,但对于attribute和property的区分其实并不难。从对象来说,attribute是html文档上标签属性,而property则是对应dom元素的自身属性。从操作方法上来看,attribute可以通过dom core规范的接口 getAttr...
分类:
Web程序 时间:
2014-11-19 10:43:16
阅读次数:
359
管理属性有四种方式:1、__getattr__和__setattr__:把未定义的属性获取和所有的属性赋值指向通用的处理器方法。2、__getattribute__:把所有的属性获取和赋值指向Python2.6中的新式类和Python3.0中的所有类的中的一个处理器方法3、property内置函数,把特定属性访问定位到get..
分类:
编程语言 时间:
2014-11-09 06:29:22
阅读次数:
261
其中,__getattribute__是无条件被调用.
对任何对象的属性访问时,都会隐式的调用__getattribute__方法,比如调用t.__dict__,其实执行了t.__getattribute__("__dict__")函数.所以如果我们在重载__getattribute__中又调用__dict__的话,会无限递归,用object大神来避免,即object.__getattribut...
分类:
编程语言 时间:
2014-10-09 14:53:54
阅读次数:
193
?代码: class?Chain(object):
????def?__init__(self,?path=‘‘):
????????self._path?=?path
?
????def?__getattr__(self,?path):
????????return?Chain(‘%s/%s‘?%?(self._...
分类:
编程语言 时间:
2014-10-02 09:17:32
阅读次数:
206
Python对象的属性可以通过obj.__dict__获得,向其中添加删除元素就可以实现python对象属性的动态添加删除的效果,不过我们应该使用更加正规的getattr和setattr来进行这类操作getattr(object, name[, default]) Return the value ...
分类:
编程语言 时间:
2014-09-26 22:52:18
阅读次数:
446
>>>importstring
>>>fornindir(string):
...ifn.startswith(‘_‘):
...continue
...v=getattr(string,n)
...ifisinstance(v,basestring):
...print‘%s=%s‘%(n,repr(v))
...print
...
ascii_letters=‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘
..
分类:
其他好文 时间:
2014-09-25 10:36:49
阅读次数:
241
参考资料
__setattr__、__getattr__和__delattr__以及__getattribute__可以拦截对对象属性的访问;
>>> s = Something()
>>> s.age = 3
set 'age' = 3
>>> s.age
3
注意到,s.age并没有调用__getattr__,是因为...
分类:
编程语言 时间:
2014-09-20 10:05:47
阅读次数:
188
从socket模块学习中的一段奇怪代码说起前言:在学习python标准库中的Socket模块中,发现了一段奇怪的代码。import socketdef get_constants(prefix):dicts=dict((getattr(socket,n),n) for n in dir(soc...
分类:
编程语言 时间:
2014-09-17 23:08:32
阅读次数:
478