Python 确认缩进问题?
我刚开始学习Python,这是我第一次在Python中使用类。当我尝试运行这个脚本时,出现了一个错误:
缩进错误:期待一个缩进的代码块
这是什么意思呢?
import random
class Individual:
alleles = (0,1)
length = 5
string = ""
def __init__(self):
#some constructor work, here.
def evaluate(self):
#some stuff here.
def mutate(self, gene):
#mutate the given gene.
def onePointCrossover(self, partner):
#at some random point, crossover.
def twoPointCrossover(self, partner):
#at two random(?) points, crossover.
class World:
def __init__(self):
#stuff.
def buildPopulation(self):
#stuff.
for individual in self.population():
for i in range(0, individual.length):
print random.random()
def display(self):
#print some output stuff.
if __name__ == '__main__':
print "hi there"
8 个回答
3
当你在设计你的类的时候,可能会有很多方法暂时还没有实现功能,这时候你需要用到 pass
这个语句,来表示这里什么都不做。
比如这样:
class Individual:
alleles = (0,1)
length = 5
string = ""
def __init__(self):
#some constructor work, here.
pass
def evaluate(self):
#some stuff here.
pass
...
如果你看到“意外的缩进”这个提示,那是因为 Python 在期待在方法定义后面有一个缩进的语句。
4
如果你在代码中使用了一个以 :
结尾的东西,并且期待后面有一个缩进的代码块,但你又没有什么想放进去的内容(除了注释),那么你需要使用 pass
。
比如:
def doNothing(self):
pass
11
这些方法都是只有注释的内容。
要解决这个问题,可以这样做:
def twoPointCrossover(self, partner):
#at two random(?) points, crossover.
pass
注释并不算是可以编译的代码,所以你会有一堆空的代码块。这就是为什么会出现缩进错误的原因。