[英]The method is not called inside a class instance
無法在 Python 3.7 的實例類中訪問read_file()
方法。 我想with functions
print_file() 打印list
list_values_end . When calling the function
. When calling the function
print_file() 時the terminal produces
<__ main __。 ReadFile 對象位於 0x0082EA70>` 而不是預期的列表。 請解釋做錯了什么? 附上代碼。
class ReadFile():
"""Чтение из файла"""
def __init__(self):
self.file_r = 'val_kWt.txt'
self.read_file(self.file_r)
self.print_file(self)
def read_file(self, file_r):
list_values_end = []
vk = open(file_r, 'r')
list_values = vk.readlines()
for list_value in list_values:
list_values_end.append(list_value.rstrip())
vk.close()
print(list_values_end)
return list_values_end
def print_file(self, list_values_end):
print(list_values_end)
示例 = ReadFile()
您必須在return
語句之前放置print
。 試試這個:
class ReadFile():
def __init__(self):
self.file_r = 'val_kWt.txt'
self.read_file(self.file_r)
self.a = 12
self.print_a(self.a)
def print_a(self, a):
print('Printing ', a)
def read_file(self, file_r):
list_values_end = []
vk = open(file_r, 'r')
list_values = vk.readlines()
for list_value in list_values:
list_values_end.append(list_value.rstrip())
vk.close()
print(list_values_end)
return list_values_end
根據問題修改編輯
您將對象傳遞給了print_file
函數。 相反,您應該傳遞 read_file 的返回值
class ReadFile():
"""Чтение из файла"""
def __init__(self):
self.file_r = 'val_kWt.txt'
list_value_end = self.read_file(self.file_r)
self.print_file(list_value_end)
def read_file(self, file_r):
list_values_end = []
vk = open(file_r, 'r')
list_values = vk.readlines()
for list_value in list_values:
list_values_end.append(list_value.rstrip())
vk.close()
print(list_values_end)
return list_values_end
def print_file(self, list_values_end):
print(list_values_end)
examp = ReadFile()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.