1. 忘记写冒号

在 if、elif、else、for、while、class、def 语句后面忘记添加“:”

if spam == 42

print('Hello!')

2. 误用 “=” 做等值比较

“=”是给变量赋值,“==”才是判断两个值是否相等:

score = 60

if score = 60:

print ('passed')

改正:

score = 60

if score == 60:

print ('passed')

3. 变量没有定义:

if age >= 18:

print ('adult')

print ('END')

会导致:NameError: name ‘age’ is not defined.

改正:

age = 20

if age >= 18:

print ('adult')

print ('END')

4. 字符串与非字符串连接

错误:

num = 12

print('I have ' + num+ ' apples.')

非字符串和字符串连接的时候,要将非字符串转换为字符串类型之后才能连接,改正:

num = 12

print('I have ' + str(num)+ ' apples.')

5. 列表的索引位置

习惯性地认为列表元素的位置是从1开始的:

spam = ['cat', 'dog', 'mouse']

print(spam[3])

列表元素的位置是从0开始的,所以第3个元素“mouse”的索引位置是2,改正:

spam = ['cat', 'dog', 'mouse']

print(spam[2])

6. 使用自增 “++” 自减 “—”

学过c语言或者Java的人会很习惯使用i++或者i—,但在Python中是没有自增自减操作符的:

spam = 0

spam++

这时可以使用 “+=” 来代替 “++”,改正:

spam = 0

spam += 1

7. 使用关键字命名变量

Python 3中一共33个关键字:

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

自定义变量时,变量名不能和这些关键字重复。

8. 索引元素位置时忘记调用 len 方法

通过索引位置来获取列表元素时,忘记要先使用 len 函数来获取列表的长度:

fam = ['dad', 'mom', 'son']

for i in range(fam):

print(fam[i])

改正:

fam = ['dad', 'mom', 'son']

for i in range(len(fam)):

print(fam[i])

9. 函数中的局部变量赋值前被使用

num = 42

def myFunction():

print(num)

num = 100

myFunction()

第一行定义了一个全局变量num,同时函数myFunction( )也定义了一个同名的局部变量,但程序执行时是先查找局部变量的,所以在函数中找到num之后就不到外部查找了,此时就会出现print的时候变量num还没赋值的错误。

10. 缩进问题

和其他语言的语法最大的不同就是,Python不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。

常见的错误用法:

(1)

print('Hello')

print('World!')

错误是第二行的缩进会导致两个print语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成;

print('Hello')

print('World!')

(2)

if spam == 42:

print('Hello')

print('World!')

错误是第三行的缩进,改正的方法有两种,一是如果两个print语句是属于同一代码块的,应该改正为

if spam == 42:

print('Hello')

print('World!')

二是如果第三行的print语句是和if语句是同一级的,则改正为

if spam == 42:

print('Hello')

print('World!')

(3)在Python 3中,缩进的时候,不能Tab和空格混用,每个缩进层次应该选择只使用Tab或者只使用空格。

有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以加学习群:548377875,反正闲着也是闲着呢,不如学点东西啦~~

python新手最容易犯的错误_Python新手最容易犯的十大错误相关推荐

  1. java contains_Java开发人员犯的十大错误,你犯几个?

    本篇为译文: 这个列表总结了Java开发人员经常犯的十大错误. 1.将Array转换为ArrayList 若要将数组转换为ArrayList开发人员经常这样做: List<String> ...

  2. 中国父母常犯的十大错误(转载)

    中国父母常犯的十大错误,如何对待孩子,如何教育孩子,值得深思............. (一)让保姆爷爷奶奶带孩子.不自己亲自照顾 很多中国父母以为孩子只要身边有人看著,没有生命危险就好.其实从出生开 ...

  3. 科学就是要勇于承认错误:十大错误科学结论盘点

    来源: 学术头条 人们不会迷信权威,但是大部分会相信"科学". 如何科学地饮食?如何科学地工作?如何科学地休息?"科学"两个字成了人们确认自己正确生活的最大保障 ...

  4. 微生物组学测序十大错误认知

    大家都知道,使用高通量测序技术解决微生物组学问题,已经成为一种成熟并且高效的技术手段.最近呢,我们的技术人员与科研工作者沟通时,发现很多人对组学研究存在不少模糊甚至错误的认识,为了便于大家学习到正确的 ...

  5. 局域网中最常见的十大错误及解决方法

    局域网中最常见的十大错误及解决方法 网络故障是在所难免的,重要的是应快速隔离和排除故障.网络维护人员应该配备相应的工具和相应的知识,以便及时.有效的找到和解决问题.本文讨论了网络技术人员和工程师经常遇 ...

  6. python编程新手常犯的错误_Python程序员常犯的10个错误

    BY- SENIOR SOFTWARE ENGINEER @TOPTAL About Python 关于Python Python is an interpreted, object-oriented ...

  7. java构造函数_Java开发人员也会犯的十大错误

    今天我就给大家总结一下Java开发人员经常犯的10大错误. #1 将数组转换为ArrayList 要将数组转换为ArrayList,开发人员通常会这样做: List < String > ...

  8. 苹果库克任职首年需避免十大错误:授权iOS

    北京时间2月1日消息,据国外媒体报道,美国知名IT杂志<eWeek>网络版今天撰文,称苹果新首席执行官蒂姆·库克(Tim Cook)执政后还远远不足一年时间,但在他担任此职的第一年时内,必 ...

  9. python中输入17=x会引起错误_python新手常犯的17个错误

    1)忘记在 if , elif, else, for, while, class,def声明末尾添加 :(导致 "SyntaxError :invalid syntax") 该错误 ...

最新文章

  1. python cgi root运行_如何执行Python CGI脚本?
  2. JVM 内存模型:方法区(Method Area)
  3. 【Flask】Jinja2模板之过滤器
  4. 女朋友还是游戏?一起来分析下游戏的开发与销售情况!
  5. 找某個ColumnName在那些Tables
  6. 一个ABAP调试器里查看类的静态属性的小技巧
  7. 《爆发》作者:大数据领域将有新赢家
  8. mysql float 怎么设置长度_MySQL中float double decimal区别总结
  9. c统计多线程总时间_SQL Server处理器性能指标–第2部分–处理器:%用户时间,处理器:%特权时间,总时间和线程指标
  10. 问答| 为什么四轮驱动机器人(SSMR)的质心(COM)没有横向分速度vy呢?
  11. python16进制字节序_Python-十六进制数据传递与接收
  12. Webpack配置问题
  13. 年前的面试经历(二)
  14. 远程服务器学习总结篇1:ssh
  15. Java项目实战--健康管理系统设计实现【Springboot+mybatis+layui等实现】
  16. 莱斯利Leslie种群模型 python sympy
  17. 设置word中第一页不显示页码,第二页页码从1开始
  18. 读于博士SI设计手记有感
  19. java射击_java射击类游戏
  20. 弘辽科技:提升销量没流量要继续提升吗?如何提高店铺流量?

热门文章

  1. mathtype中批量修改公式的字号和大小
  2. UOJ #164 [清华集训2015]V (线段树)
  3. AtCoder AGC001F Wide Swap (线段树、拓扑排序)
  4. vue中webpack默认配置_Vue-cli 中 Webpack 配置优化(一)
  5. vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
  6. python 下载文件 限速-Python网络爬虫---scrapy通用爬虫及反爬技巧
  7. C#基础知识之键盘对应的键值
  8. jq添加新节点赋予class属性并获取该对象
  9. WebSocket 详解
  10. async异步注解和aspect切面注解等注解的原理