Python 3.5 class 个变量
Python 3.5 class variables
我是 python 的新手,我在 Ubuntu 上使用 python 3.5。我对这个问题做了一些研究,我找到了很多答案。我所做的看起来像每个人都说我应该做的,但我仍然收到错误。
import csv
import sys
Class State():
started = False
def waiting(self):
self.started
if self.started == False:
self.started = True
return
def buy_in(self, col):
if self.started == False:
return
else:
print(col)
def read_file(file):
csv_list = csv.reader(file)
header = True
for row in csv_list:
if header:
header = False
continue
col = float(row[5])
if col < 0 :
State.waiting()
if col >= 0:
State.buy_in(col)
file.close()
def main(filename):
file = open(filename)
read_file(file)
def __name__ == '__main__':
main(sys.argv[1])
我只是想通过使用 class 和方法在 python 中创建一个伪 FSM。我只需要创建一个全局布尔。我真的不明白我做错了什么。如果有人不介意给我一些清晰度,我将不胜感激。谢谢
澄清一下,我在 buy_in 方法的 if 语句中遇到了 NameError。
尝试:
class State():
started = False
def waiting(self):
if self.started == False:
self.started = True
return
def buy_in(self, col):
if self.started == False:
return
else:
print(col)
因为 started
是一个 class 变量,你需要在调用它时使用 self.
。它不是全局变量,因此您不需要全局调用。 class 中的每个方法也需要 self
作为参数。
我是 python 的新手,我在 Ubuntu 上使用 python 3.5。我对这个问题做了一些研究,我找到了很多答案。我所做的看起来像每个人都说我应该做的,但我仍然收到错误。
import csv
import sys
Class State():
started = False
def waiting(self):
self.started
if self.started == False:
self.started = True
return
def buy_in(self, col):
if self.started == False:
return
else:
print(col)
def read_file(file):
csv_list = csv.reader(file)
header = True
for row in csv_list:
if header:
header = False
continue
col = float(row[5])
if col < 0 :
State.waiting()
if col >= 0:
State.buy_in(col)
file.close()
def main(filename):
file = open(filename)
read_file(file)
def __name__ == '__main__':
main(sys.argv[1])
我只是想通过使用 class 和方法在 python 中创建一个伪 FSM。我只需要创建一个全局布尔。我真的不明白我做错了什么。如果有人不介意给我一些清晰度,我将不胜感激。谢谢
澄清一下,我在 buy_in 方法的 if 语句中遇到了 NameError。
尝试:
class State():
started = False
def waiting(self):
if self.started == False:
self.started = True
return
def buy_in(self, col):
if self.started == False:
return
else:
print(col)
因为 started
是一个 class 变量,你需要在调用它时使用 self.
。它不是全局变量,因此您不需要全局调用。 class 中的每个方法也需要 self
作为参数。