python新手最容易犯的错误_Python新手最容易犯的十大错误
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新手最容易犯的十大错误相关推荐
- java contains_Java开发人员犯的十大错误,你犯几个?
本篇为译文: 这个列表总结了Java开发人员经常犯的十大错误. 1.将Array转换为ArrayList 若要将数组转换为ArrayList开发人员经常这样做: List<String> ...
- 中国父母常犯的十大错误(转载)
中国父母常犯的十大错误,如何对待孩子,如何教育孩子,值得深思............. (一)让保姆爷爷奶奶带孩子.不自己亲自照顾 很多中国父母以为孩子只要身边有人看著,没有生命危险就好.其实从出生开 ...
- 科学就是要勇于承认错误:十大错误科学结论盘点
来源: 学术头条 人们不会迷信权威,但是大部分会相信"科学". 如何科学地饮食?如何科学地工作?如何科学地休息?"科学"两个字成了人们确认自己正确生活的最大保障 ...
- 微生物组学测序十大错误认知
大家都知道,使用高通量测序技术解决微生物组学问题,已经成为一种成熟并且高效的技术手段.最近呢,我们的技术人员与科研工作者沟通时,发现很多人对组学研究存在不少模糊甚至错误的认识,为了便于大家学习到正确的 ...
- 局域网中最常见的十大错误及解决方法
局域网中最常见的十大错误及解决方法 网络故障是在所难免的,重要的是应快速隔离和排除故障.网络维护人员应该配备相应的工具和相应的知识,以便及时.有效的找到和解决问题.本文讨论了网络技术人员和工程师经常遇 ...
- python编程新手常犯的错误_Python程序员常犯的10个错误
BY- SENIOR SOFTWARE ENGINEER @TOPTAL About Python 关于Python Python is an interpreted, object-oriented ...
- java构造函数_Java开发人员也会犯的十大错误
今天我就给大家总结一下Java开发人员经常犯的10大错误. #1 将数组转换为ArrayList 要将数组转换为ArrayList,开发人员通常会这样做: List < String > ...
- 苹果库克任职首年需避免十大错误:授权iOS
北京时间2月1日消息,据国外媒体报道,美国知名IT杂志<eWeek>网络版今天撰文,称苹果新首席执行官蒂姆·库克(Tim Cook)执政后还远远不足一年时间,但在他担任此职的第一年时内,必 ...
- python中输入17=x会引起错误_python新手常犯的17个错误
1)忘记在 if , elif, else, for, while, class,def声明末尾添加 :(导致 "SyntaxError :invalid syntax") 该错误 ...
最新文章
- python cgi root运行_如何执行Python CGI脚本?
- JVM 内存模型:方法区(Method Area)
- 【Flask】Jinja2模板之过滤器
- 女朋友还是游戏?一起来分析下游戏的开发与销售情况!
- 找某個ColumnName在那些Tables
- 一个ABAP调试器里查看类的静态属性的小技巧
- 《爆发》作者:大数据领域将有新赢家
- mysql float 怎么设置长度_MySQL中float double decimal区别总结
- c统计多线程总时间_SQL Server处理器性能指标–第2部分–处理器:%用户时间,处理器:%特权时间,总时间和线程指标
- 问答| 为什么四轮驱动机器人(SSMR)的质心(COM)没有横向分速度vy呢?
- python16进制字节序_Python-十六进制数据传递与接收
- Webpack配置问题
- 年前的面试经历(二)
- 远程服务器学习总结篇1:ssh
- Java项目实战--健康管理系统设计实现【Springboot+mybatis+layui等实现】
- 莱斯利Leslie种群模型 python sympy
- 设置word中第一页不显示页码,第二页页码从1开始
- 读于博士SI设计手记有感
- java射击_java射击类游戏
- 弘辽科技:提升销量没流量要继续提升吗?如何提高店铺流量?
热门文章
- mathtype中批量修改公式的字号和大小
- UOJ #164 [清华集训2015]V (线段树)
- AtCoder AGC001F Wide Swap (线段树、拓扑排序)
- vue中webpack默认配置_Vue-cli 中 Webpack 配置优化(一)
- vba遍历数组_VBA代码解决方案的第59讲内容:如何在代码运行时创建数组
- python 下载文件 限速-Python网络爬虫---scrapy通用爬虫及反爬技巧
- C#基础知识之键盘对应的键值
- jq添加新节点赋予class属性并获取该对象
- WebSocket 详解
- async异步注解和aspect切面注解等注解的原理