经过整理与在实际中遇到的问题,将新手经常遇到的汇总下,以便自己犯傻又这么干了

1)“SyntaxError :invalid syntax”,语法错误

A、查看是否在 if , elif , else , for , while , class ,def 声明末尾添加 “:

1 if number == 42 #未加‘:’,应该为if number == 42:

2 print("The number is right!")

B、使用 “=” 而不是 “==”

= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:

1 if number= 42: #赋值操作符错误,应该为if number == 42:

2 print(' The number is right!')

C、在python中使用++ 或者 -- 自增自减操作符。

如果你习惯于例如 C++ , Java , PHP 等其他的语言,也许你会想要尝试使用 ++ 或者 -- 自增自减一个变量。在Python中是没有这样的操作符的。

该错误发生在如下代码中:

1 number = 1

2 number++ #python 中只能使用:number += 1

D、在字符串首尾忘记加引号

该错误发生在如下代码中:

print(Hello!')

#或者:

print('Hello!)#或者:

Str1= 'Abc'

print('My name is ' + Str1+ . How are you?')

2)“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”错误的使用缩进量

记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:

print('Hello world!')

print('welcome!')

#或者:

if number == 42:

print('Hello world!')

print('welcome!')

#或者:

if number == 42:

print('Hello world!')

3)“TypeError: 'list' object cannot be interpreted as an integer”,在 for 循环语句中忘记调用 len()

通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。这个我经常犯傻!

该错误发生在如下代码中:

1 List1 = ['cat', 'dog', 'mouse']

2 for i in range(list1): #应该为:for i in range(len(list1)):

3 print(list1[i])

4)“TypeError: 'str' object does not support item assignment”尝试修改string的值

string是一种不可变的数据类型,该错误发生在如下代码中:

1 str1 = 'I want to go sleep.'

2 str1 [13] = 'r' #错误:str1 = str1 [:13] + 'r' + str1 [14:]

3 print(str1)

5)“TypeError: Can't convert 'int' object to str implicitly”,尝试连接非字符串值与字符串

该错误发生在如下代码中:

1 numble = 12

2 print('I have ' + numble + ' apple.')

3 #需要将int类型转换为str, print('I have ' + str(numble) + ' apple.')

4 # 或者:print('I have %s apple.' % (str(numble)))

6)“NameError: name 'xx' is not defined”,变量或者函数名拼写错误

该错误发生在如下代码中:

1 Str1 = '男'

2 print('My sex is ' + Str11) # Str11变量不存在或未定义

3

4 #或者:

5 Str1 = round(4.2) # round变量不存在或未定义

7)“AttributeError: 'str' object has no attribute 'lowerr'”,方法名拼写错误该错误

发生在如下代码中:

1 str1 = 'THIS IS IN LOWERCASE.'

2 str1 = spam.lowerr() #应该为:str1 = str1.lower()

8)“IndexError: list index out of range”,引用超过list最大索引

该错误发生在如下代码中:

1 List1 = ['cat', 'dog', 'mouse']

2 print(List1 [6]) #超出索引

9)“KeyError:‘spam’”,使用不存在的字典键值

该错误发生在如下代码中:

1 List1 = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'}

2 print('The name of my pet zebra is ' + List1['pig'])

10)“SyntaxError:invalid syntax”,尝试使用Python关键字作为变量名

Python关键不能用作变量名,该错误发生在如下代码中:

class = 'algebra'

Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield

11)“NameError: name 'foobar' is not defined”,在一个定义新变量中使用增值操作符

不要在声明变量时使用0或者空字符串作为初始值,这样使用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam需要指定一个有效的初始值。

该错误发生在如下代码中:

number = 0

number += 42

eggs += 42 #未预先定义aggs的初始值

12)“UnboundLocalError: local variable 'someVar' referenced before assignment”定义局部变量前,在函数中使用局部变量(此时有与局部变量同名的全局变量存在)

在函数中使用局部变量,而同时又存在同名全局变量,使用规则是:如果它只是在函数中使用那它就是局部的,反之就是全局变量。

这意味着你不能在定义它之前把它当全局变量在函数中使用。

该错误发生在如下代码中:

1 someVar = 42

2

3 def myFunction():

4 print(someVar) #先使用了局部变量,在它未定义前

5

6 someVar = 100

7 myFunction()

8

13)“TypeError: 'range' object does not support item assignment”,尝试使用 range()创建整数列表

有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式。然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。

该错误发生在如下代码中:

list1 = range(10) #应该为:list1 = list(range(10))

(注意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,但是在 Python 3 中就会产生以上错误)

14)“TypeError: myMethod() takes no arguments (1 given)”,忘记为方法的第一个参数添加self参数

该错误发生在如下代码中:

1 class Foo():

2 def myMethod(): #类中方法,必须有形参属性,正确为def myMethod(self):

3 print('Hello!')

4 a = Foo()

5 a.myMethod()

python not in range1002无标题_新手常见Python运行时错误相关推荐

  1. 怎么解决python遇到问题_新手常见Python错误及异常解决处理方案

    新手常见Python错误及异常解决处理方案,异常,错误,语句,子句,代码 新手常见Python错误及异常解决处理方案 易采站长站,站长之家为您整理了新手常见Python错误及异常解决处理方案的相关内容 ...

  2. python1011无标题_讲解:Python:COMP1011 Programming For The WebPython

    讲解:Python:COMP1011 Programming For The WebPython代写Python基础作业,分为三个模块,包括基本数学问答,HTML生成器以及Web的数据分析器.Over ...

  3. python not in range1002无标题_17个新手常见Python运行时错误

    学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , w ...

  4. python not in range1002无标题_Python中偶尔遇到的细节疑问(一):去除列名特殊字符、标准差出现nan、切片索引可超出范围、range步长、众数...

    1. Pandas读取csv或excel数据时,很可能遇到的columns中,列名会带有特殊字符,例如:空格. ..双空格.引号等等,如果不想手动修改的话,可以df.rename()来解决. df = ...

  5. python中常见的运行时错误_新手常见Python运行时错误汇总

    误的几个错容 on 初学者最易犯 hPyt 本文由老男孩教育撰写 -------- Python 时,总会遇到这样那样的报错,想要弄懂对于新手,初 学 Python 报错错误信息的含义可能还不知道怎么 ...

  6. python错误-新手常见Python错误及异常解决处理方案

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  7. python变成exe1023无标题_GitHub - Qing1023/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人,光靠我自己已经无法及时处理小伙伴们的入群申请,更无 ...

  8. python xpath爬取新闻标题_爬取知乎热榜标题和连接 (python,requests,xpath)

    用python爬取知乎的热榜,获取标题和链接. 环境和方法:ubantu16.04.python3.requests.xpath 1.用浏览器打开知乎,并登录 2.获取cookie和User-Agen ...

  9. python基本输入输出函数有_新手学Python,输入输出函数、赋值语句常见5个错误,弄懂即过关...

    从4月21日起,大陈开始教初一的学生学Python,目前已经上了2节课.学生基本掌握了表达式的构建以及赋值语句.变量的使用,以及input(输入函数).print(输出函数)的使用方法. 以下是大陈在 ...

  10. 新手学python书籍推荐_新手学python看哪本书

    对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多!所以,学python倒是向大家推荐这些书籍! 1.<PYTHON基础教程(第 ...

最新文章

  1. 10 个让你相见恨晚的 Python 骚操作
  2. 访问域名不走dns服务问题排查,报错could not resolve host
  3. C++11 新的计时方法——std::chrono 大法好
  4. FFMPEG使用参数详解
  5. 键值的 key 和 value 允许为null吗
  6. Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
  7. 前端学习(86):标签嵌套规范
  8. oracle如何增加磁盘,牛刀小试Oracle之ORACLE 11GR2 RAC安装配置-asm磁盘组配置添加(四)...
  9. 震精 - PostgreSQL 递归查询 - 树型数据按路径分组输出
  10. 成为java高手的八大条件
  11. 运行出现 Multiple dex files define Landroid/support/annotation/AnimRes 解决方法
  12. 公文签收 php,公文收发管理系统
  13. html爆炸动画效果,基于CSS3和GSAP的超酷盒子爆炸动画特效
  14. Matlab求解线性方程组Ax=b
  15. docker安装RabbitMQ:Error starting userland proxy: listen tcp 0.0.0.0:15672: bind: address already in u
  16. Java 类详解 9章
  17. 2020开年,C语言重回巅峰王座!
  18. FFmpeg源代码简单分析-编码-av_write_trailer()
  19. 了解AMD处理器的OPN编号
  20. 基于 Bootstrap 5 的教育和课程主题 HTML 网站模板

热门文章

  1. Android调试wifi使用wpa_supplicant和wpa_cli总结
  2. Mysql语句整理大全
  3. 一个声明被new多次
  4. Nginx 高级配置
  5. jdk完全卸载(亲测jdk1.7.0_80在win7)
  6. 闫墨杰415知识点总结
  7. 字节流 system.out ----printStream
  8. PHP批量去除PHP文件中bom的代码
  9. h3c,nat网络地址转换
  10. c语言单链表原地转置,不带头结点的单链表的插入,删除,原地转置,判断空,清空,统计节点数目等操作...