Передача переменной в класс, чтобы определить, какой метод использовать - PullRequest
0 голосов
/ 19 февраля 2020

я не уверен, что мне не хватает, но он говорит, что моя переменная класса (var1) не определена

Class Example(var1):
   if var1 ==1:
      def func1(var2)
         x = cursor.execute("SELECT * FROM examples WHERE Name = 'var2' ")
         Return x
   else pass:

Example(1).func1("example")

может быть потому, что я устал и это просто, но я также немного новичок в этом. Любая помощь будет велика, и спасибо

Ответы [ 3 ]

0 голосов
/ 19 февраля 2020

Ваш синтаксис очень испорчен, потерян ошибок, но вычищен, это будет выглядеть так:

class Example():
    def __init__(self,var1):
       if var1 ==1:
          def func1(var2):
             x = cursor.execute("SELECT * FROM examples WHERE Name = 'var2' ")
             print(var2)
             return x
       else:
           pass

#Example(1).func1("example") you can not call 'func1'. At this point it doesnt exists!!

example = Example(1)
0 голосов
/ 19 февраля 2020

Вот модульный способ достижения результата,

class Example():
    def __init__(self, var):
        self.var = var

    def func(self):
        if self.var == 1:
            return cursor.execute("SELECT * FROM examples WHERE Name = 'var1' ")
        elif self.var == 2:
            return cursor.execute("SELECT * FROM examples WHERE Name = 'var2' ")
        else:
            pass

ex = Example(1)
# call func which automatically executes query based on value of var
ex.func()
0 голосов
/ 19 февраля 2020

Синтаксис Class Example(var1): означает, что вы создаете класс, который наследуется от var1. Если вы хотите определить функцию, используйте def Example(var1):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...