首页
学习
活动
专区
圈层
工具
发布

总结了十个 Python 高频错误,看看你中招了没

触发场景# 访问不存在的属性list1 = [1, 2, 3]print(list1.length) # 列表没有length属性# 调用不存在的方法str1 = "hello"str1.append...("world") # 字符串没有append方法错误原因上面的代码中,列表对象根本没有length这个属性(列表用len()函数来获取长度),字符串是不可变的,也没有append()方法(这是列表的方法...解决办法访问字典的键之前,先检查这个键是否存在。有两种常用方法:一是用in关键字判断,二是用字典的get()方法。get()方法如果键不存在,会返回None或者你指定的默认值,而不会报错。...正确示例:# 正确写法# 转换字符串前先检查是否是数字str1 = "123"if str1.isdigit(): num = int(str1) print(num)else: print...("这个字符串不能转换成整数")# 移除元素前先检查是否存在list1 = [1, 2, 3]if 4 in list1: list1.remove(4)else: print("列表里没有这个元素

58900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python3内置函数表.md

    提示 (18)setattr(obj,name,value) #设置类对象属性的值,如果存在则覆盖/不存在则建立该属性 (19)selattr(obj,name) #删除对象中属性 (20)property...获取对象属性值 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...)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 rfind(str, beg=0,end=len(string...(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default (6) radiansdict.clear() 删除字典内所有元素 (7) radiansdict.keys

    1.8K20

    Python3内置函数表.md

    否则返回该msg提示 (18)setattr(obj,name,value) #设置类对象属性的值,如果存在则覆盖/不存在则建立该属性 (19)selattr(obj,name) #删除对象中属性...获取对象属性值 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...)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 rfind(str, beg=0,end=len(...(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default (6) radiansdict.clear() 删除字典内所有元素 (7) radiansdict.keys

    1.3K30

    Transformers 4.37 中文文档(十四)

    所有子类中存在的公共属性: vocab_size (int) — 词汇表中的标记数,也是嵌入矩阵的第一个维度(对于没有文本模态的模型,此属性可能缺失)。... ( d: Dict ) 检查传递的字典及其嵌套字典是否具有torch_dtype键,如果不是 None,则将 torch.dtype 转换为仅类型的字符串。...可以通过利用 get_config_dict()方法从预训练检查点中检索这样的字典。 kwargs (Dict[str, Any]) — 用于初始化配置对象的其他参数。...使用update_str中的属性更新此类的属性。 预期的格式是整数、浮点数和字符串,对于布尔值,请使用 true 或 false。...base_model_prefix (str) — 一个字符串,指示派生类中基础模型关联的属性,该属性在基础模型的顶部添加模块。

    1.4K10

    Python内置(4)类相关的内置

    要理解为什么对象只与它们自己进行比较,我们必须理解关键字is。 Python的is运算符用于检查两个值是否引用内存中相同的确切对象。...这是因为它们使用哈希值作为“索引”的替代品,并且如果相同哈希的值已经存储在集合/字典中,Python可以快速检查它是否是同一项目。此过程使检查是否存在几乎是即时的。...AttributeError: type object 'C' has no attribute 'prop' 但是字典要灵活得多:例如,您可以检查字典中是否存在属性: >>> d = {} >>> '...api.send(item) upload_data函数通过检查它是否有get_value方法来检查我们是否获得了工厂对象。...getters 和 setter 提供了一种在尝试读取或修改对象的属性时添加验证或运行一些额外代码的方法。

    3K30

    想学Python却还不知道requests模块安装及使用 ?

    ('推测出的编码字符集') 3.我们可以在网页源码中搜索charset,尝试参考该编码字符集,注意存在不准确的情况 2.1 response.text 和response.content的区别: response.text...(url)中response是发送请求获取的响应对象;response响应对象中除了text、content获取响应内容以外还有其它常用的属性或方法: response.url响应的url;有时候响应的...Cookie 'Cookie': 'xxx这里是复制过来的cookie字符串' } # 请求头参数字典中携带cookie字符串 resp = requests.get(url, headers...cookie in cookies_str.split('; ')} # 请求头参数字典中携带cookie字符串 resp = requests.get(url, headers=headers,...获取的resposne对象,具有cookies属性。

    1K40

    Python基础回顾

    string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值...也可以使用get()方法来访问字典中的值,如果键不存在,则返回指定的默认值。...print(dict1.get('gender', 'Unknown')) # 输出Unknown,键gender不存在,返回指定的默认值 修改字典元素 可以使用赋值语句对字典中的元素进行修改,如果键不存在...string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值...通过使用get/set__私有属性 ,来操作私有属性, 而不是直接通过类名来操作 。

    69110

    定制类和黑魔法

    hasattr(object, name):用来检测object(适用于类、文件、模块或对象,一切皆对象)中有没有一个name字符串对应的方法或属性。...__add__(n) >>> print(s) 7/9   代码中__repr__ = __str__的含义是在类被调用(实例化对象)时,向变量(即实例化的对象)提供__str__()里的内容。   ...使用__slots__一个不好的地方就是我们不能再给实例添加新的属性了,因为实例中已经没有了用来保存属性的__dict__字典,只能使用在__slots__中定义的那些属性,即类中的__slots__中定义了哪些属性..., name)方法,当发现属性x不存在于对象的__dict__中时,就调用了__getattr__,即属性拦截。   ...同样的,对象通过键的方式操作属性时,也会触发上面的三种方法。需要注意的是,字符串和元组只能取出其元素,不等删除和修改元素,所以字符串和元组中只有__getitem__方法。

    88310

    Python面向对象编程Day 27部分

    内置函数补充及__getattribute__ isinstance(obj,cls)检查obj是否是类cls的实例,反映族谱关系(不仅父类可以,父类的父类也可以)  issubclass(subcls...,cls)检查subcls是否是cls的子类 __getattribute__属性存不存在都会触发它 ‘大哥’ 里面抛出Attribute Error时交给小弟处理 __getattr__属性不存在触发...,采用默认格式==> 20161226 __slots__ (慎用)是一个类变量,变量值可以是字符串、列表、元组或者可迭代对象(意味着所有实例只有一个数据属性)   为何使用__slots__?...使用点来访问属性本质就是在访问类或对象的__dict__属性字典(类的字典是共享的,而每个实例是独立的)   特点:不允许设置其他数据属性。  ...__get__():调用一个属性时触发   __set__():为一个属性赋值时触发   __delete__():采用del删除属性时触发 描述符有什么用?

    41230

    odoo ORM API学习总结兼orm学习教程

    help (str) – 用户看到的字段的提示条(设置该属性后,当鼠标悬停在字段标签上方时,会自动浮现提示条,显示该属性的文字内容)。..._check_company用于检查多公司一致性。定义记录是否在公司之间共享(没有值)还是仅由给定公司的用户访问。...有关详细信息请参见write() 返回 创建的记录 引发 AccessError – 如果用户对请求的对象没有创建权限 如果用户尝试绕过访问规则在请求的对象上创建 ValidationError...,总的来说,遵守一个原则,仅更新需要更新的字段) 引发 AccessError – 如果用户对请求的对象没有创建权限 如果用户尝试绕过访问规则在请求的对象上创建 ValidationError..._1’: value, …] 引发 AccessError – 如果用户对所请求的对象没有读取权限, 如果用户尝试绕过对访问规则读取所请求对象 Model.copy_data() 拷贝当前模型记录的数据

    15.8K10

    通关Python自动化?你需要这份“技能树”全点亮指南

    :用字符串连接可迭代对象 • str.replace(old, new):替换子串 • str.isalnum():判断是否全为字母或数字 • str.isdigit():判断是否全为数字 3....为了避免这种情况,可以使用get()方法,它可以在键不存在时返回一个默认值。...• TypeError:当操作或函数应用于不适当类型的对象时引发,例如尝试连接字符串和整数。 • IndexError:当使用超出序列范围的索引时引发。...• KeyError:当尝试访问字典中不存在的键时引发。 • ValueError:当传入函数的参数类型正确但值不适当引发。 • IOError:当发生输入输出错误时引发,例如尝试打开不存在的文件。...• AttributeError:当尝试访问对象不存在的属性或方法时引发。 异常捕获 Python使用try和except语句来捕获和处理异常。

    31310

    Python常用函数

    ') 字典的get方法,如果有name键则返回其值,如果没有则返回默认值,注意不会修改原来的对象。...(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。...4、key存在判断 dict.has_key(key) 方法:判断字典是否有key键 如果键(key)在字典中存在,返回True,否则返回False....dict.get(key,default=None) 对字典dict中的存在的键key,返回它对应的值value,如果字典中不存在此键,则返回default的值(注意,参数default 的默认值为None...','diege') #存在时返回存在健的值,而不是get设置的默认值 'jin' >>> D {'name': 'jin'} 6、特别健值组合 dict.items() 返回一个包含字典中(键, 值)

    1.3K21

    python常见报错以及解决方案(持续更新)

    可能出现的原因: 1.Python内置对象没有属性。 解决:去除相关访问 2.Python自定义对象没有设置属性。 解决:在自定义对象中添加属性 3.通过类名访问实例属性。...解决:修改索引值 2.根据索引获取字符串中的某个字符时,指定的索引不存在。...可能出现的原因: 1.根据键获取字典的值时,指定的键不存在。 解决:修改为已有键 2.删除一个不存在的键。...解决: 检查数据库连接配置信息是否正确 2. 请求URL超时。 解决:检查URL是否正确以及能否正常访问 3.连接FTP服务超时。...解决:检查连接FTP的参数是否正确 TypeError: can only concatenate str (not “XXX”) to str 描述:只能进行字符串与字符串的连接。

    2.6K30

    Python入门学习(二)

    1.3 修改或添加字典元素 通过将变量赋值给字典访问类修改或者增加字典的元素,例: ? key存在字典时,重置key的value值,不存在字典时,增加一个相(key:value) ?...get通过key返回对应的value值,第一个参数为key值,第二个参数为默认返回的value值,key存在则返回对应的value,不存在字典内时返回该值,如果不提供默认为none ?...() pop(k,value)去除字典一个元素内置函数,k存在字典的key时,去除该key对应的(key,value),不存在时返回value的值,value不提供时报错。...,并实现相应的功能 在此例中应注意,easygui.textbox函数会在返回字符串后边追加一个行结束符("\n"),因此在比较字符串是否发生改变的时候,如果没有人工忽略这个行结束符,则没有对文本内容做任何改变时也将提示内容发生了变换...Python也是一种面向对象的编程语言,在其内部可谓是无处部队向,我们所熟知的列表list、字符串str等工厂函数本质上都是对象。

    1.8K81
    领券