小白学python时候总会遇到的几个问题
最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下。其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰到。
错误1: 缩进
python是强制缩进的语言,很多同学在初次接触python时可能会不习惯,缩进老是犯错。比如
Python 2.7.12 (default, Sep 17 2016, 13:47:40)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> good = "ok"
File "<stdin>", line 1
good = "ok"
^
IndentationError: unexpected indent
这种错误一般会提示IndentationError
,最后根据错误所在行一般都能够很快的解决问题。
错误2: 中英文符号
很多初学者是分不清中英文符号的区别的,比如说:
这是英文的冒号,而:
这个冒号是中文的。乍一看长得差不多,但实际上确实不同的字符。比如
>>> x = 0
>>> if x == 1:
File "<stdin>", line 1
if x == 1:
^
SyntaxError: invalid syntax
上面的错误很明显,语法错误,冒号有问题。作为初学者,下面这些符号在输入的时候你可能需要警惕一些
- 英文逗号
- 英文冒号
- 英文小括号
- 英文中括号
符号不准确的情况下,一般python解释器会提示SyntaxError
,遇到这个错误不要怕,想办法解决就好。
错误3:拼写错误
因为我们的母语不是英文,所以很多时候我们会把单词拼写错误而觉察不到。比如
>>> word = "hello world"
>>> print(world)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'world' is not defined
上面的情况python抱怨道:world
这个变量没有定义, 很显然我们定义变量名是word
。一些同学甚至会将hello world
错拼成是hello word
,可见对微软的office套件爱的深沉。
错误4:代码块忘了冒号
python的很多代码块结构是需要冒号的,这个我最初非常不习惯,老是忘记写,比如
>>> if 1 == 2
File "<stdin>", line 1
if 1 == 2
^
SyntaxError: invalid syntax
这里if后面要跟冒号来引出下面的代码块。忘记冒号的时候一般会报语法错误。
错误5: IDE综合症
有些同学喜欢一开始就使用IDE,因为一些不错的IDE是有语法错误提示的,所以当你敲错了以后,代码编辑器内可能充斥着红色或黄色的波浪线,不过有时候这些线可能不是很准确,就导致大家有些手足无措,不敢放心大胆敲代码,渐渐的挫败感累积,然后放弃。
另外很多同学喜欢在IDE内直接运行python代码,导致很多时候传参不便,无法得到想要的结果。
其实新手可以先土一点,尝试不用IDE,等熟练一些了再使用也不迟。
错误6:只看不写或者只写不看
有些同学只看书,不写代码,结果除了疑惑越来越多以外,代码能力提升速度其实有限
有些同学只写代码,不看别人写的代码,结果一些常见套路不会,进步速度也有限
代码其实要多看,多看别人写的代码,python标准库里的代码尽管不容易,但是可以看一下,github上的一些开源项目,也可以找一些简单的来看;写一些能让自己有成就感的代码,从简单的开始,逐渐复杂,循序渐进。
综上,读完这边文章,你应该了解这些点
- SyntaxError: invalid syntax:这是语法错误
- IndentationError: unexpected indent: 这是缩进错误
- NameError: name 'world' is not defined: 这是变量没定义
- 出错没关系,解决掉就好了
- 代码要多看多写
- 万事开头难,坚持到最后才有收获
小白学python时候总会遇到的几个问题的更多相关文章
- 小白学 Python(8):基础流程控制(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- 小白学 Python(3):基础数据类型(下)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...
- 小白学 Python(4):变量基础操作
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 前面的文章中,我们介绍了 ...
- 小白学 Python(5):基础运算符(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(6):基础运算符(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(7):基础流程控制(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- spring boot application.properties 配置参数详情
multipart multipart.enabled 开启上传支持(默认:true) multipart.file-size-threshold: 大于该值的文件会被写到磁盘上 multipart. ...
- vtiger7安装设置
安装界面一直报错 其实是设置的问题 error_reporting:E_WARNING & ~E_NOTICE & ~E_DEPRECATED max_execution_time:6 ...
- 083 HBase的完全分布式的搭建与部署,以及多master
一:前提准备 1.设置时间同步 2.清空logs,datas 3.格式化集群 bin/hdfs namenode -format 4.重启集群 sbin/start-dfs.sh sbin/start ...
- 037 关于pom.xml的一些问题的理解
最近在pom上出了一些问题,搞了一天才理解了一些问题,记录一下. 当在覆盖本地repository包之后,pom.xml上面出现了一个x. 当mvn->update project之后,还是有许 ...
- java技术第二次作业
(一)学习总结 1.什么是构造方法?什么是构造方法的重载? 构造方法是用于对对象初始化的方法,当新对象被创建的时候,构造函数会被调用. 每一个类都有构造函数.在程序员没有给类提供构造函数的情况下,Ja ...
- Mysql索引为什么用B+树而不用B-树
先从数据结构的角度来看 我们知道B-树和B+树最重要的一个区别就是B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域. 这就决定了B+树更适合用来存储外部数据,也就是所 ...
- {}+[]与console.log({}+[])结果不同?从JavaScript的大括号谈起
看到这样一个问题:为什么直接在控制台运行{} + []和用console.log({} + [])输出,两者结果不一样? 于是乎打开chrome的控制台运行了一下: 为什么结果会这样呢?不得已学习一下 ...
- [BZOJ2877][NOI2012]魔幻棋盘(二维线段树)
https://blog.sengxian.com/solutions/bzoj-2877 注意二维线段树的upd()也是一个O(log n)的函数(pushdown()应该也是但没写过). #inc ...
- doker学习笔记
1.获取镜像: docker pull mysql 2,查看已安装的镜像: docker image 3,运行: 查看docker运行:docker info(docker run ubuntu ec ...
- 使用 P6Spy 来格式化 SQL 语句,支持 Hibernate 和 iBATIS
事情起因 在处理一个查询小功能的时候,自认为 SQL 语句和传参均正确,然而查询结果无匹配数据,在查看 Hibernate 自带 SQL 语句输出的时候带着问好感觉有点不爽,特别是想复制 SQL 语句 ...