該錯誤將發生在相似以下代碼中: 函數
1
2
|
if spam== 42
print('Hello!')
|
= 是賦值操做符而 == 是等於比較操做。該錯誤發生在以下代碼中: spa
1
2
|
if spam= 42:
print('Hello!')
|
記住縮進增長只用在以:結束的語句以後,而以後必須恢復到以前的縮進格式。該錯誤發生在以下代碼中: 索引
1
2
3
4
5
6
7
8
9
10
11
12
13
|
print('Hello!')
print('Howdy!')
或者:
if spam== 42:
print('Hello!')
print('Howdy!')
或者:
if spam== 42:
print('Hello!')
|
一般你想要經過索引來迭代一個list或者string的元素,這須要調用 range() 函數。要記得返回len 值而不是返回這個列表。 ci
該錯誤發生在以下代碼中: 字符串
1
2
3
|
spam= ['cat','dog','mouse']
for iin range(spam):
print(spam[i])
|
string是一種不可變的數據類型,該錯誤發生在以下代碼中: string
1
2
3
|
spam= 'I have a pet cat.'
spam[13]= 'r'
print(spam)
|
而你實際想要這樣作: it
1
2
3
|
spam= 'I have a pet cat.'
spam= spam[:13]+ 'r' + spam[14:]
print(spam)
|
該錯誤發生在以下代碼中: io
1
2
|
numEggs= 12
print('I have ' + numEggs+ ' eggs.')
|
而你實際想要這樣作: table
1
2
3
4
5
6
7
|
numEggs= 12
print('I have ' + str(numEggs)+ ' eggs.')
或者:
numEggs= 12
print('I have %s eggs.' % (numEggs))
|
1
2
3
4
5
6
7
8
9
10
|
print(Hello!')
或者:
print('Hello!)
或者:
myName= 'Al'
print('My name is ' + myName+ . How are you?')
|
該錯誤發生在以下代碼中: class
1
2
3
4
5
6
7
8
9
10
|
foobar= 'Al'
print('My name is ' + fooba)
或者:
spam= ruond(4.2)
或者:
spam= Round(4.2)
|
該錯誤發生在以下代碼中:
1
2
|
spam= 'THIS IS IN LOWERCASE.'
spam= spam.lowerr()
|
該錯誤發生在以下代碼中:
1
2
|
spam= ['cat','dog','mouse']
print(spam[6])
|
該錯誤發生在以下代碼中:
1
2
|
spam= {'cat':'Zophie','dog':'Basil','mouse':'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])
|
Python關鍵不能用做變量名,該錯誤發生在以下代碼中:
1
|
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
不要在聲明變量時使用0或者空字符串做爲初始值,這樣使用自增操做符的一句spam += 1等於spam = spam + 1,這意味着spam須要指定一個有效的初始值。
該錯誤發生在以下代碼中:
1
2
3
|
spam= 0
spam+= 42
eggs+= 42
|
在函數中使用局部變來那個而同時又存在同名全局變量時是很複雜的,使用規則是:若是在函數中定義了任何東西,若是它只是在函數中使用那它就是局部的,反之就是全局變量。
這意味着你不能在定義它以前把它當全局變量在函數中使用。
該錯誤發生在以下代碼中:
1
2
3
4
5
|
someVar= 42
def myFunction():
print(someVar)
someVar= 100
myFunction()
|
有時你想要獲得一個有序的整數列表,因此 range() 看上去是生成此列表的不錯方式。然而,你須要記住 range() 返回的是 「range object」,而不是實際的 list 值。
該錯誤發生在以下代碼中:
1
2
|
spam= range(10)
spam[4]= -1
|
也許這纔是你想作:
1
2
|
spam= list(range(10))
spam[4]= -1
|
(注意:在 Python 2 中 spam = range(10) 是能行的,由於在 Python 2 中 range() 返回的是list值,可是在 Python 3 中就會產生以上錯誤)
若是你習慣於例如 C++ , Java , PHP 等其餘的語言,也許你會想要嘗試使用 ++ 或者 -- 自增自減一個變量。在Python中是沒有這樣的操做符的。
該錯誤發生在以下代碼中:
1
2
|
spam= 1
spam++
|
也許這纔是你想作的:
1
2
|
spam= 1
spam+= 1
|
該錯誤發生在以下代碼中:
1
2
3
4
5
|
class Foo():
def myMethod():
print('Hello!')
a= Foo()
a.myMethod()
|