这是一个我想尝试的练习,因为我觉得它很有趣。这个练习对于它正在做的事情来说是不必要的复杂,但是它试图作为实践来理解更复杂的python程序中的类、函数和变量行为
import os
class grabFile:
fileObject = None
def __init__(self, filename):
self.fileObject = open(filename, "r")
def getFile():
return self.fileObject
class counter:
fileC = None
lineCount = 0
def __init__(self, fileObject):
self.fileC = fileObject
def lineCounter(self):
while True:
self.fileC.readline()
print(x)
return lineCount
def Main():
fileGrabber = grabFile("test.txt")
fileObj = fileGrabber.getFile
countObj = counter(fileObj)
lineCount = countObj.lineCounter()
print(lineCount)
Main()
但是,运行此命令时,出现以下错误:
Traceback (most recent call last):
File "/home/may/Desktop/Tree/Programming/MiscProjects/TextAnalyzer.py", line 32, in <module>
Main()
File "/home/may/Desktop/Tree/Programming/MiscProjects/TextAnalyzer.py", line 29, in Main
lineCount = countObj.lineCounter()
File "/home/may/Desktop/Tree/Programming/MiscProjects/TextAnalyzer.py", line 19, in lineCounter
self.fileC.readline()
AttributeError: 'function' object has no attribute 'readline'
[Finished in 0.2s with exit code 1]
有人能帮我完全理解这个程序吗?而且,尽管这不是正确的提问地点,但对程序的样式或格式有何评论?尤其是“自我”的使用
谢谢你
我想你是想调用这个方法:
您需要更改为实例方法:
行计数器方法需要做一些工作:
相关问题 更多 >
编程相关推荐