Я пытаюсь создать оператор 'switch', используя метод словаря. Я могу сделать это без классов, но с классами я не могу заставить его работать независимо от того, какого типа заклинания я стараюсь.Python: переменная словаря в классах
#!/usr/bin/python3
import numpy as np
import sys
def func1(var1):
print("hi guy")
return 0
Mycode = { 5:func1 }
indx1 = 5
var1 = 0
temp = Mycode[indx1]
temp(var1)
sys.exit()
The above code works.
The code below does not work
#!/usr/bin/python3
import numpy as np
import sys
class Beef():
def __init__(self):
junk = 3
def func1(self, var1):
print("hi guy")
return 0
def find(self):
self.Mycode = { 5:func1 }
self.run()
def run(self):
indx1 = 5
var1 = 0
temp = self.Mycode[indx1]
errcode = temp(0)
sys.exit()
hvfbeef = Beef()
hvfbeef.find()
Я получаю ошибку «NameError: название„func1“не определен», хотя на других перестановок я получаю другие ошибки. Кажется, я не понимаю, как словарь работает в рамках классов и функций. Любая помощь будет оценена по достоинству.
благодарственные очень много! – user3822607
@ user3822607 действительно согласен, если он сработал для u – vks