小白学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):变 ...
随机推荐
- ubuntu16.04下搜狗输入法异常
问题描述: 搜狗输入法出现异常, 提示: 删除 .config/Sougou-PY 文件后重启 解决方案: google后发现,搜狗拼音输入法使用 fcitx 框架. 发现系统同时安装了ibus框架 ...
- 10.Django用户认证组件
用户认证组件: 功能:用session记录登录验证状态: 前提:用户表,django自带的auth_user 创建超级用户:python manage.py createsuperuser ...
- 洛谷 P1433 吃奶酪【DFS】+剪枝
题目链接:https://www.luogu.org/problemnew/show/P1433 题目描述 房间里放着n块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处 ...
- LeetCode刷题笔记--Python--28. 实现strStr()
class Solution: def strStr(self, haystack, needle): """ :type haystack: str :type nee ...
- 聊聊ReentrantLock的内部实现
大家都用过ReentrantLock,但是大家对内部实现是否足够了解呢,下面我就简单说一下其中的实现原理. ReentrantLock是可重入锁,也就是同一个线程可以多次获取锁,每获取一次就会进行一次 ...
- 14,EasyNetQ-使用EasyNetQ.Hosepipe重新提交错误消息
EasyNetQ队列管理实用程序. 用它从队列中抓取消息并重新发布. 还可以用它来检查错误队列消息并重试它们. 1,用法: EasyNetQ.Hosepipe.exe <command> ...
- C# DataGridView插入DB
public static bool ContrastColumns(DataColumnCollection co1, DataGridViewColumnCollection co2) { boo ...
- 电商sku商品推荐
1.逻辑回归LR进行实时离线三级品类训练. 2.通过用户对于实时.离线三级品类的偏好进行召回. 3.通过人的特征.sku特征.人sku交互特征.以及位置手机特征通过gbdt模型进行点击量预估.
- bzoj 4767: 两双手 组合 容斥
题目链接 bzoj4767: 两双手 题解 不共线向量构成一组基底 对于每个点\((X,Y)\)构成的向量拆分 也就是对于方程组 $Ax * x + Bx * y = X $ \(Ay * x + B ...
- 洛谷.4114.Qtree1(树链剖分)
题目链接 模板题都错了这么多次.. //边权赋到点上 树剖模板 //注意LCA.链的顶端不能统计到答案! #include <cstdio> #include <cctype> ...