盟主软件学院迎接您!
您以后地位:主页 > 校园静态 > 知识教程 >

学Python,老手最常犯的几个缺点!

1. 忘记写冒号 在if、elif、else、for、while、class、def 语句前面忘记添加: if spam == 42 print(Hello!) 2. 误用 = 做等值比较 =是给变量赋值,==才是断定两个值能否相等: score = 60 if score = 60: prin..

400-0731-835 急速咨询

快速请求预定

称       呼 :
手机号码 :
备       注:

学Python,老手最常犯的几个缺点!

发布时间:2019-04-09 热度:

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或许只应用空格。


在线咨询
上一篇:没经历若何进入高薪的互联网行业?
下一篇:没有了

相干浏览

0基本想进入IT行业,该怎样开端进修?
0基本想进入IT行业,该怎样开端进修?

起首,此文重要针对0基本想进入IT行业的人。 比来常常有亲戚同伙乃至陌生人问我,软件工程师的任务是甚么模样的。在这一行,我们有很高的荣誉,薪资高,任务中的乐趣很多...

2018学Java可以做甚么?这十大年夜范畴任你选!
2018学Java可以做甚么?这十大年夜范畴任你选!

Java是时下异常风行的说话,这意味着有很多很多不合的任务可供选择。Java软件工程师入行1-3年,年薪已达到10-15万,并且在IT行业任务经历越多,薪资待遇越高。 任务选择多,薪...

学Java,让任务主动找你!
学Java,让任务主动找你!

作为最受迎接的编程说话,Java的确是IT范畴的敲门砖,只需精通Java说话,找到好任务,进入大年夜企业又多了一层保证。可以说,学好JAVA,让任务主动来找你! 当怀孕边的人困惑:...

2018学Java可以做甚么?有哪些范畴可以选择?
2018学Java可以做甚么?有哪些范畴可以选择?

java编程说话一向都是编程说话的热点,很多人都知道进修Java前景好,但是前景好在哪里呢?大年夜家却迷茫了。 明天小编整顿了一下进修了Java说话可以从事的一些范畴供大年夜家参考。...

协作企业

官方微信公众号

校区总部400-0731-835

长沙市岳麓区学士路389号

五一分部0731-82221222

长沙市五一广场省电教馆

林科大年夜分部400-0731-835

长沙市林科大年夜校区