python - 类的str

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)

obj = Foo(‘alex‘,73)

ret2 = obj[1:4:2]

out:

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
4None
__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

时间: 2024-08-02 23:46:46

python - 类的str的相关文章

【Python&amp;数据结构】 抽象数据类型 Python类机制和异常

这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Python编程,借着本次机会仔细学习一下. 抽象数据类型 最开始的计算机语言,关注的都是如何更加有效率地计算,可以说其目的是计算层面的抽象.然而随着这个行业的不断发展,计算机不仅仅用于计算,开发也不仅只关注计算过程了,数据层面的抽象也变得同样重要.虽然计算机语言一开始就有对数据的抽象,但是那些都只是对一些最基本的

第六章 Python类(面向对象编程)

什么是面向对象编程? 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.Python就是这种编程语言. 面向对象程序设计中的概念主要包括:对象.类.继承.动态绑定.封装.多态性.消息传递.方法. 1)对象:类的实体,比如一个人. 2)类:一个共享相同结构和行为的对象的集合.通俗的讲就是分类,比如人是一类,动物是一类. 3)继承:类之间的关系,比如猫狗是一类,他们都有四条腿,狗继承了这个四条腿,拥有了这个属性. 4)动态绑定:在不

python 类和元类(metaclass)的理解和简单运用

(一) python中的类 首先这里讨论的python类,都基于继承于object的新式类进行讨论. 首先在python中,所有东西都是对象.这句话非常重要要理解元类我要重新来理解一下python中的类 class Trick(object): pass 当python在执行带class语句的时候,会初始化一个类对象放在内存里面.例如这里会初始化一个Trick对象 这个对象(类)自身拥有创建对象(通常我们说的实例,但是在python中还是对象)的能力. 为了方便后续理解,我们可以先尝试一下在新式

python类高级话题

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

python类及其方法

python类及其方法 一.介绍 在 Python 中,面向对象编程主要有两个主题,就是类和类实例类与实例:类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息. 类有这样一些的优点: 1.类对象是多态的:也就是多种形态,这意味着我们可以对不同的类对象使用同样的操作方法,而不需要额外写代码. 2.类的封装:封装之后,可以直接调用类的对象,来操作内部的一些类方法,不需要让使用者看到代码工作的细节. 3.类的继承:类可以从其它类或者元类中继承它们的

python类:类方法和静态方法

http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调用:静态方法可以由类名或对象名进行调用.在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆.在python中,方法分为三类实例方法.类方法.静态方法. @classmethod和@staticmethod 他们的使用场景并不一样.在python中,两种方法的主要区别在于参数 类内部普

python类的相关知识第二部分

类的继承.多态.封装 一.类的继承 1.应用场景: 类大部分功能相同,大类包含小类的情况 例如: 动物类 共性:都要吃喝拉撒.都有头有脚 特性: 猫类.走了很轻,叫声特别,喜欢白天睡觉 狗类.的叫声很大,晚上睡觉 2.继承顺序 在python2版本中多重继承有分两种继承循序 (1).一直往上找 .找到最高级的父类再重另外一个分支找,直到找到为止. (2).一直往上找,找到最高级父类的下一层后就不找了.从另外一个分支找,另外一个分支没找到最后才找最高级的父类. 再python3中只有第一种继承循序

[python] 类常用的内置方法

内置方法 说明 __init__(self,...) 初始化对象,在创建新对象时调用 __del__(self) 释放对象,在对象被删除之前调用 __new__(cls,*args,**kwd) 实例的生成操作 __str__(self) 在使用print语句时被调用 __getitem__(self,key) 获取序列的索引key对应的值,等价于seq[key] __len__(self) 在调用内联函数len()时被调用 __cmp__(stc,dst) 比较两个对象src和dst __ge

python 类知识点总结

python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象中提取对象共同的特征和属性,构成一个类. 对象:具有数据属性和函数属性的集合体 实例化:由类生成一个对象的方法,就是实例化 实例:类的实例化就会产生一个实例(对象) 类: 对象就是类的抽象 类实例成对象的过程就是实例化 实例就是对象 2.面向对象的三大特性是什么? 继承,多态,封装 3.什么是方法?