python - 类的特殊成员
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __str__(self):
- return "%s - %d" %(self.name,self.age)
- obj1 = Foo('alex',73)
obj2 = Foo('eric',84)
print(obj1)
out:
alex - 73
__getitem__
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __getitem__(self, item):
- return 123
- obj = Foo('alex',73)
- ret = obj['ab']
- print(ret)
out:
123
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __getitem__(self, item):
- print(item.start)
- print(item.stop)
- print(item.step)
print(type(item),item)- obj = Foo('alex',73)
- ret2 = obj[1:4:2]
out:
1
4
2
<class 'slice'> slice(1, 4, 2)
- __setitem__
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __getitem__(self, item):
- return 123
- def __setitem__(self, key, value):
- print('setitem')
- obj = Foo('alex',73)
- obj['k1'] = 111
out:
setitem
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __setitem__(self, key, value):
- print(type(key),type(value))
- print(key.start)
- print(key.stop)
- print(key.step)
- obj = Foo('alex',73)
- obj[1:4] = [11,22,33,44]
out:
- <class 'slice'> <class 'list'>
- 1
- 4
None
- __delitem__
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __delitem__(self, key):
- print('del item')
- obj = Foo('alex',73)
- del obj['k1']
out:
del item
- class Foo:
- #构造方法
- def __init__(self,name,age):
- pass
- self.name = name
- self.age = age
- def __delitem__(self, key):
- print(type(key))
- print(key.start)
- print(key.stop)
- print(key.step)
- obj = Foo('alex',73)
- del obj[1:4]
out:
<class 'slice'>
1
4
None
python - 类的特殊成员的更多相关文章
- 4.1 python类的特殊成员,偏函数,线程安全,栈,flask上下文
目录 一. Python 类的特殊成员(部分) 二. Python偏函数 1. 描述 2. 实例一: 取余函数 3. 实例二: 求三个数的和 三. 线程安全 1. 实例一: 无线程,消耗时间过长 2. ...
- Python类之类的成员
对于一个学C++的朋友来说,Python类中,哪些是私有成员,哪些是共有成员,估计一直傻傻分不清. 一.本篇博客要解决的问题: Python类中,哪些是私有成员?哪些是共有成员? 二. 关于Pytho ...
- Python 类的特殊成员介绍
类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...
- python类的特殊成员和方法
变量或方法 描述 调用时机 __init__ 构造方法 通过类创建对象时,即类名() ,自动触发执行 __doc__ 表示类的描述信息 __module__ 表示当前操作的对象在那个模块 __ ...
- 测试Python类成员的单下划线,双下划线,两头下划线的区别
首先原谅一个菜鸟叫他“两头下划线”.记得在windows编程中,很多宏定义使用下划线+大写,给人逼格很高的错觉.对于Python下划线的认识,大概是从__dict__这个属性开始的,看__dict__ ...
- python 类成员函数
http://cowboy.1988.blog.163.com/blog/static/75105798201091141521583/ 这篇文章总结的非常好 主要注意的地方是 1,在类内调用成员函数 ...
- python - 类成员修饰符
在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...
- Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)
一.属性(特性) 普通方法去执行的时候,后面需要加括号,特性方法执行的时候和静态字段一样不需要不需要加括号. 特性方法不和字段同名. 特性方法不能传参数. 在我们定义数据库字段类的时候,往往需要对其中 ...
- python 面向对象(类的特殊成员)
python 面向对象: (思维导图 ↑↑↑↑) 类的特殊成员 python的类成员存在着一些具有特殊含义的成员 1.__init__: 类名() 自动执行 __init__ class Foo(ob ...
随机推荐
- MVC Controller 基类中的Request
今天在测试自己MVC程序的时候发现之前写代码的一个BUG,需求是每个页面要获取当前URL链接中包含的城市ID,我把获取url的方法写到了Controller的基类BaseController(Base ...
- HTML5 Canvas图像放大、移动实例1
1.前台代码 <canvas id="canvasOne" class="myCanvas" width="500" height=& ...
- excel运行最多行数
2003及以前版本为65536(即6万多)行,256列2007版:1048576(即1百零多万)行,16384(即1千多)列
- iOS项目名称、版本号与屏幕分辨率
iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到. Version在plist文件中的key是“CFBundle ...
- 关于PagedDataSource,非常好用的一个分页属性!
Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeate ...
- Sed命令学习
1.Sed简介 流数据编辑器 Stream editer(sed),它是一种行编辑器(对应于全屏编辑器),一次处理一行的内容.默认不编辑原文件内容(-i会直接修改原文件).处理时,它先将当前符 ...
- uva 352 - The Seasonal War
題意: 要確認畫面中有幾隻Eagles,每個pixel如果是'1'代表為一隻Eagles,但上下左右(包含斜角共8個方向)相連的'1'只能算是同一隻. 想法: 使用DFS找'1'有幾個區域. #inc ...
- event对象具有的方法
// dataTransfer,toElement,fromElement,y,x,offsetY,offsetX,webkitMovementY,webkitMovementX,relatedTar ...
- javascript学习教程之---如何从一个tab切换到banner幻灯片的转换
一个简单的tab切换代码: <!doctype html> <html> <head> <meta charset="utf-8"> ...
- php DOMDocument 递归 格式化缩进HTML文档
function format(\DOMNode $node, $treeIndex = 0) { //不格式化的标签 if (in_array($node->nodeName, array(& ...