- numEggs = 12
- print('I have %s eggs.' % (numEggs))
12)测验测验应用Python关键字作为变量名(导致“SyntaxError:invalid syntax”)
10)引用跨越list最大年夜索引(导致“IndexError: list index out of range”)
- class = 'algebra'
Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield
13)在一个定义新变量中应用增值操作符(导致“NameError: name ‘foobar’ is not defined”)
不要在声明变量时应用0或者空字符串作为初始值,如许应用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam须要指定一个有效的初始值。
该缺点产生在如下代铝闼楹
- spam = 0
- spam += 42
- eggs += 42
在函数中应用局部变来那个而同时又存在同名全局变量时是很复杂的,应用规矩是:如不雅在函数中定义了任何器械,如不雅它只是在函数中应用那它就是局部的,反之就是全局变量。
这意味着你不克不及在定义它之前把它当全局变量在函数中应用。
该缺点产生在如下代铝闼楹
- someVar = 42
- def myFunction():
- print(someVar)
- someVar = 100
- myFunction()
15)测验测验应用 range()创建整数列表(导致“TypeError: ‘range’ object does not support item assignment”)
有时你想要获得一个有序的┞符数列表,所以 range() 看上倒是生成此列表的不错方法。然而,你须要记住 range() 返回的是 “range object”,而不是实际的 list 值。
该缺点产生在如下代铝闼楹
- spam = range(10)
- spam[4] = -1
也许这才是你想做:
- spam = list(range(10))
- spam[4] = -1
(留意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,然则在 Python 3 中就会产生以上缺点)
16)不错在 ++ 或者 — 自增自减操作符。(导致“SyntaxError: invalid syntax”)
如不雅你习惯于例如 C++ , Java , PHP 等其他的说话,也许你会想要测验测验应用 ++ 或者 — 自增自减一个变量。在Python中是没有如许的操作符的。
该缺点产生在如下代铝闼楹
- spam = 1
- spam++
也许这才是你想做的:
- spam = 1
- spam += 1
17)忘记为办法的第一个参数添加self参数(导致“TypeError: myMethod() takes no arguments (1 given)”)
该缺点产生在如下代铝闼楹
- class Foo(): def myMethod(): print('Hello!') a = Foo() a.myMethod()
推荐阅读
我是如何在 SQL Server 中处理每天四亿三千万记录的?
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 项目背景这个项目是请求做情况监控,我们暂且把受监控的设备称为采集设备,采集设备的属性称为监控指标。项目请求:体系支撑不少于>>>详细阅读
本文标题:17个新手常见Python运行时错误
地址:http://www.17bianji.com/lsqh/39584.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示