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 - 类的特殊成员的更多相关文章

  1. 4.1 python类的特殊成员,偏函数,线程安全,栈,flask上下文

    目录 一. Python 类的特殊成员(部分) 二. Python偏函数 1. 描述 2. 实例一: 取余函数 3. 实例二: 求三个数的和 三. 线程安全 1. 实例一: 无线程,消耗时间过长 2. ...

  2. Python类之类的成员

    对于一个学C++的朋友来说,Python类中,哪些是私有成员,哪些是共有成员,估计一直傻傻分不清. 一.本篇博客要解决的问题: Python类中,哪些是私有成员?哪些是共有成员? 二. 关于Pytho ...

  3. Python 类的特殊成员介绍

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  4. python类的特殊成员和方法

    变量或方法 描述 调用时机 __init__ 构造方法 通过类创建对象时,即类名() ,自动触发执行 __doc__ 表示类的描述信息   __module__ 表示当前操作的对象在那个模块   __ ...

  5. 测试Python类成员的单下划线,双下划线,两头下划线的区别

    首先原谅一个菜鸟叫他“两头下划线”.记得在windows编程中,很多宏定义使用下划线+大写,给人逼格很高的错觉.对于Python下划线的认识,大概是从__dict__这个属性开始的,看__dict__ ...

  6. python 类成员函数

    http://cowboy.1988.blog.163.com/blog/static/75105798201091141521583/ 这篇文章总结的非常好 主要注意的地方是 1,在类内调用成员函数 ...

  7. python - 类成员修饰符

    在java,c#类的成员修饰符包括,公有.私有.程序集可用的.受保护的. 对于python来说,只有两个成员修饰符:公有成员,私有成员 成员修饰符是来修饰谁呢?当然是修饰成员了.那么python类的成 ...

  8. Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)

    一.属性(特性) 普通方法去执行的时候,后面需要加括号,特性方法执行的时候和静态字段一样不需要不需要加括号. 特性方法不和字段同名. 特性方法不能传参数. 在我们定义数据库字段类的时候,往往需要对其中 ...

  9. python 面向对象(类的特殊成员)

    python 面向对象: (思维导图 ↑↑↑↑) 类的特殊成员 python的类成员存在着一些具有特殊含义的成员 1.__init__: 类名() 自动执行 __init__ class Foo(ob ...

随机推荐

  1. XAML 概述

    我们将向 Windows 运行时应用开发人员介绍 XAML 语言和 XAML 概念,并介绍在使用 XAML 创建 Windows 运行时应用时,在 XAML 中声明对象和设置属性的不同方式. 什么是 ...

  2. Search 和 Select比较 - 浅谈

    Search 语法: public IFeatureCursor Search (    IQueryFilter filter,    bool Recycling); Select 语法: pub ...

  3. 在iOS虚拟机上使CLPlacemark获取中文信息

    -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ CLLocat ...

  4. Asp.Net--回调技术

    实现回调技术需要以下步骤: 1.实现ICallbakEventHandler 2.实现接口中的方法:RaiseCallbackEvent 3.实现GetCallbackResult 方法 解释 参数 ...

  5. java 修改文件名

    // 修改文件名 public static boolean modifyFileName(String serverPath, String oldFileName, String newLogin ...

  6. HTML写的第一个邮箱登陆界面

    自己动手去写才会有收获,宁可模仿也不要全部复制粘贴 不说了,直接上代码.CSS有注释,适合新手. <!doctype html> <html> <head> < ...

  7. oc 多线程UI更新

    1.在子线程中是不能进行UI 更新的,而可以更新的结果只是一个幻像:因为子线程代码执行完毕了,又自动进入到了主线程,执行了子线程中的UI更新的函数栈,这中间的时间非常的短,就让大家误以为分线程可以更新 ...

  8. uva 105 - The Skyline Problem

    一.用数组储存该位置的最高点即可(图形的连续点离散化),注意左边界及右边界的情况: 注意:无论建筑物最左边是盖到哪里,你都得从1开始输出(输入输出都是integer,所以才能离散化): #includ ...

  9. XML DOM 遍历Xml文档

    1.xml文档内容: <?xml version="1.0" encoding="utf-8" ?> <bookstore> <b ...

  10. vector容器

    vector<int> ivec; vector<Sales_item> Sales_vec; 和其他变量定义一样,定义 vector 对象要指定类型和一个变量的列表.上 面的 ...