[英]How to assign textvariable to different variable names within a loop - Python - Tkinter
[英]how to create objects with different names within a loop using python?
該問題的答案將起作用,或者我讀到您不需要實際命名它們……所以我嘗試了以下操作:
class Entry():
__slots__ = ('name', 'gender', 'occurances')
def mkEntry(name_foo, gender_foo, occurances_foo):
myEntry = Entry
myEntry.name = name_foo
myEntry.gender = gender_foo
myEntry.occurances = occurances_foo
return myEntry
def topTwenty(fileName):
file = open(fileName)
topTwenty = []
femaleCount = 0
maleCount = 0
for line in file:
a = line.split(",")
if a[1] == 'F' and femaleCount < 20:
topTwenty.append(mkEntry(a[0], a[1], a[2]))
femaleCount = femaleCount + 1
print(topTwenty[7].name)
但是print(topTwenty [7] .name)正在打印我對topTwenty [20] .name的期望
有什么幫助嗎?
您需要執行myEntry = Entry()
來創建該類的實例。 現在,您只是每次都覆蓋同一類的屬性,並且每次都將同一類附加到列表中。 您的列表僅包含相同項目20次。
無論如何,這是一種奇怪的方式。 為什么不將代碼從mkEntry
移到Entry
類的__init__
,以將初始化與類保持在一起。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.