首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第11行: AttributeError:列表实例没有属性'__index__‘或'__int__’

相关·内容

简单聊聊Python中的魔术方法

字符串/字节序列表示相关:__repr__、__str__,__format__,__bytes__。这些主要是做一些格式化的操作。...数值转换:__abs__、__bool__、__complex__、__int__、__float__、__hash__、__index__。我想这些大家都很熟悉,就不过多介绍了。...我们用的列表就包括了这些方法。 迭代枚举:__iter__、__reversed__、__next__。主要用于迭代器和生成器,以后我们单独拿来讲解。 可调用模拟:__call__。...实例创建和销毁:__new__、__init__、__del__。这些都是创建类中常常使用的,我在类和元类文章中都有讲解。...这五个方法我单独写过一篇文章,主要是用于操作属性的。 属性描述符:__get__、__set__、__del__。用来定义属性描述符,也写过文章。 今天的分享就到这了,我们下期再见~

36820

Python魔方方法详解

__new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init...False __format__(self, format_spec) 定义当被 format() 调用时的行为 有关属性 __getattr__(self, name) 定义当用户试图获取一个不存在的属性时的行为...__getattribute__(self, name) 定义当该类的属性被访问时的行为 __setattr__(self, name, value) 定义当一个属性被设置时的行为 __delattr...如果你定义了一个可能在切片时用到的定制的数值型,你应该定义 __index__ 3....如果 __index__ 被定义,则 __int__ 也需要被定义,且返回相同的值 上下文管理(with 语句) __enter__(self) 1.

91410
  • Python学习【魔术方法】

    __new__是用来创建类并返回这个类的实例(一般) __init__只是将传入的参数来初始化该实例,称为**构造方法** __del__在释放对象时调用,称为**析构方法** ---- 控制访问...(item为属性名) __getattribute__(self,item):访问属性就会调用(无论item属性是否存在)。...常见容器数据类型包括(列表/元组/集合/字典/字符串等) __len__(self):返回容器的长度。 __getitem__(self, key):利用索引访问容器内元素时调用的方法。...__ixor__(self, other) 异运算符,相当于 ^= 运算符 类型转换 __int__(self) 转换成整型 __long__(self) 转换成长整型 __float...__(self) 转换成浮点型 __complex__(self) 转换成 复数型 __oct__(self) 转换成八进制 __hex__(self) 转换成十六进制 __index

    66820

    Python学习——struct模块的pack、unpack示例

    ======== Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种) 它只定义了六种基本类型:字符串,整数,浮点数,元组(set),列表...但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台语言之间的类型进行互相转换问题。...struct模块的内容不多,也不是太难,下面对其中最常用的方法进行介绍: 1、 struct.pack struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(...Byte)类型,可以把这里的字符串理解为字节流,字节数组)。...If no __index__() method exists, or the call to __index__() raises TypeError, then the __int__() method

    2.2K20

    【Python大神秘籍Top10】这些窍门99%的人都不知道

    它们总是使用双下划线(比如__init____lt__),但它们的文档没有很好地把它们表现出来。所有这些神奇方法都出现在Python的官方文档中,但内容相对分散,组织结构也显得松散。...这对捕捉和重定向常见的拼写错误,给出使用属性警告是有用的(只要你愿意,你仍旧可选计算,返回那个属性抛出一个AttributeError异常。...它允许你为一个属性赋值时候的行为,不论这个属性是否存在。这意味着你可以给属性值的任意变化自定义规则。然而,你需要在意的是你要小心使用__setattr__,在稍后的列表中会作为例子给出。...# 如果你想阻止其他属性被创建,抛出AttributeError(name)异常 super(AccessCounter, self)....这也可抛出适当的异常:TypeError 当key的类型错误,没有值对应Key时。

    70220

    详解Python类与对象(上)

    对象:集合中的一个事物,这里对应由 class 生成的某一个 实例(object)。 我们首先来举个简单的例子,动物是类,那狗、猫就是动物这个类的两个实例属性:类似于变量,用来存储数据。...例如,动物都会有毛发颜色(属性),发出叫声的能力(方法)。 初体验 看完了基本概念,如果你还一知半解的话,没有关系,我们从Python中我们最常用的int类型出发,对面向对象来一个初体验。...i = 23 type(i) 我们这里的i其实就是int类的一个实例(或者叫对象),实例一般都有属性和方法,我们可以用dir来查看。...__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod...以此类推,我们常用的列表字典等数据类型,也是一样的,大家也可以自己尝试用一用。 小试牛刀 我们再来看看上面我们举的案例,动物这个类,有属性和方法,本节我们就来实现这个类,我们先来看代码。

    30020

    Python3内置函数表.md

    test是t1实例化对象 #16.hasattr 注意对象属性是要传入字符串 print(hasattr(test,'x')) #‘x’是test对象的属性 返回 True #17.getattr...获取对象属性值 print(getattr(test,'x')) #1024 print(getattr(test,'e','实例化对象中没有 e 属性')) #有实例化对象中没有 e 属性 #18....setattr 设置对象属性值 setattr(test,e,'Hello world') print(getattr(test,'e','实例化对象中没有 e 属性')) #hello world...__new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init...如果 __index__ 被定义,则 __int__ 也需要被定义,且返回相同的值 (8)上下文管理(with 语句) __enter__(self) 1.

    1.4K20

    Python3内置函数表.md

    test是t1实例化对象 #16.hasattr 注意对象属性是要传入字符串 print(hasattr(test,'x')) #‘x’是test对象的属性 返回 True #17.getattr...获取对象属性值 print(getattr(test,'x')) #1024 print(getattr(test,'e','实例化对象中没有 e 属性')) #有实例化对象中没有 e 属性 #18....setattr 设置对象属性值 setattr(test,e,'Hello world') print(getattr(test,'e','实例化对象中没有 e 属性')) #hello world...__new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init...如果 __index__ 被定义,则 __int__ 也需要被定义,且返回相同的值 (8)上下文管理(with 语句) __enter__(self) 1.

    91030

    介绍Python的魔术方法 - Mag

    __getattribute__调用 try: access.attr2 # 属性不存在, 先调用__getattribute__, 后调用__getattr__ except AttributeError...描述器对象可以访问到其拥有者实例属性,比如例子中Foot的instance.meter。 在面向对象编程时,如果一个类的属性有相互依赖的关系时,使用描述器来编写代码可以很巧妙的组织逻辑。...other) __irshift__(self, other) __iand__(self, other) __ior__(self, other) __ixor__(self, other) 类型转化 __int...__index__(self) 在切片运算中将对象转化为int, 因此该方法的返回值必须是int。用一个例子来解释这个用法。...通过实现Thing的__int__方法能否达到这个目的呢? 显然不能。如果真的是这样的话,那么list_[1.1:2.2]这样的写法也应该是通过的。

    1.2K20

    python 魔术方法(四)非常用方法与运算符重载方法大合集

    python 魔术方法(一) 自定义容器类与类属性控制 python 魔术方法(二) 对象的创建与单例模式的实现 python 魔术方法(三)对象的打印 -- __repr__ 与 __str__ 还有一些并不是那么常用...利用特殊的魔术方法 — __call__ 我们可以让类实例也具有和普通方法一样的特性 — 可调用。...__or__(self, other) — 实现一个按位进行操作的行为。 __xor__(self, other) — 实现异操作。 6.3....类型转换 __int__(self) — 转换成整型。 __long__(self) — 转换成长整型。 __float__(self) — 转换成浮点型。...__index__(self) — 如果你定义了一个可能被用来做切片操作的数值型,你就应该定义 __index__ __trunc__(self) — 当 math.trunc(self) 使用时被调用

    40810

    非常全的通俗易懂 Python 魔法方法指南

    当定义你自己的数值类型字符串类型时,你可能想提供某些特殊的格式化选项,这种情况下这个魔法方法会非常有用。 __hash__(self) 定义对类的实例调用 hash() 时的行为。...__nonzero__(self) 定义对类的实例调用 bool() 时的行为,根据你自己对类的设计,针对不同的实例,这个魔法方法应该相应地返回TrueFalse。...__dir__(self) 定义对类的实例调用 dir() 时的行为,这个方法应该向调用者返回一个属性列表。一般来说,没必要自己实现 __dir__ 。...这个可以用于捕捉错误的拼写并且给出指引,使用废弃属性时给出警告(如果你愿意,仍然可以计算并且返回该属性),以及灵活地处理AttributeError。...它允许你自定义某个属性的赋值行为,不管这个属性存在与否,也就是说你可以对任意属性的任何变化都定义自己的规则。然后,一定要小心使用 __setattr__ ,这个列表最后的例子中会有所展示。

    1.9K32

    Python 一切皆对象

    同理,像我们学习的数字,字符串,列表,字典等都可以看做一个对象,我们对其可以做的事情,仅仅是它们提供的方法而已。...floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index...__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod...所以以后当你想要让python帮助你解决一个问题或者干一件事情的时候,你需要问你自己,有没有什么工具能够将我要处理的东西加载进计算机作为一个对象,对于这个对象提供了哪些操作方法。...从需求出发学习,无需求无想法时,那就学习python自带的语法规则和计算机本身的一些知识,打好基础永不过时。

    40220

    Python基础(下)

    我们可以看到列表的变量的值随其它同引用变量对值的修改而发生了变化,但数值类型的变量却没有发生变化,这是因为python中类型分为可变类型与不可变类型。...因为当类初始化时会得到实例,self就是用于代表初始化得到的实例。在python设计之初,完全可以考虑似于Javascript中的thisC#隐藏掉实例让人无感知(除非需要用到this)。...下面是python魔法方法的整理列表(整理自网络): 魔法方法 含义 基本的魔法方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法2....__new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init...如果 __index__ 被定义,则 __int__ 也需要被定义,且返回相同的值 上下文管理(with 语句) __enter__(self) 1. 定义当使用 with 语句时的初始化行为2.

    50350
    领券