完美解决丨2. `TypeError: list indices must be integers or slices, not str`

  1. ‘tuple’ object does not support item assignment

原因:

tuple 是一个元素不可变的列表,如果尝试对 tuple 中的某个元素进行修改,会报错。

解决办法:

需要将 tuple 转换为 list,然后再把 list 转换为 tuple。

示例:

```python strs = ('a', 'bc', 'def') strs[1] = 'bcd' 报错

strs = list(strs) strs[1] = 'bcd' strs = tuple(strs) ```

  1. TypeError: list indices must be integers or slices, not str

原因:

list 中的元素只能通过整数来访问,如果使用字符串,会报错。

解决办法:

可以通过 .index() 方法来查找字符串在 list 中的位置,然后通过整数来访问。

示例:

```python strs = ['a', 'bc', 'def'] strs['bc'] = 'bcd' 报错

index = strs.index('bc') strs[index] = 'bcd' ```

  1. AttributeError: 'function' object has no attribute 'x'

原因:

如果要从函数中访问其他函数,需要使用 self 参数。

解决办法:

将其他函数的调用改为 self.x() 。

示例:

```python class A: def init(self): self.x = 1 def y(self): return self.x

a = A() a.y() 1

x = a.y x() 报错

x = x.self x() 1 ```

  1. NameError: name 'x' is not defined

原因:

如果要使用某个变量,需要确保该变量已经声明。

解决办法:

确保该变量已经声明。

示例:

```python x = 1 print(x) 1 print(y) 报错 ```
  1. SyntaxError: invalid syntax

原因:

语法错误,可能是缩进不正确,或者缺少某个符号。

解决办法:

检查代码,确认是否缩进正确,是否缺少某个符号。

示例:

```python if x 5: print(x)

顺便介绍一下我的另一篇专栏, 《100天精通Python - 快速入门到黑科技》专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架;黑科技应用篇以实战为主,包括办公效率小工具、爬虫、数据分析、机器学习、计算机视觉、自然语言处理、数据可视化等等,让你会用一段简单的Python程序,自动化解决工作和生活中的问题,甚至成为红客。

订阅福利原价299,限时1折订阅专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导/学习方法指引),群里大佬可以抱团取暖(大厂/外企内推机会)

订阅福利简历指导、招聘内推、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

专栏地址: 点击《100天精通Python - 快速入门到黑科技》

100天精通Python - 订阅福利

你可能感兴趣的:(Python,Debug,你说梦想遥不可及却从不起早)