2016-09-11 3 views
0

У меня возникла основная проблема и не удалось ее решить. Я получаю эту ошибкуТипError: fun() отсутствует 1 обязательный позиционный аргумент: 'link'

TypeError: fun() missing 1 required positional argument: 'link'

Если я дать self в качестве позиционного аргумента в вызове fun(), как fun(self,glit) я получать

Undefined Variable self

Там нет никаких проблем отступов в этой маленькой функции. Я также попытался self.fun(glit) Но это также дает

Undefined Variable self.

Если удалить слово self из def fun(self,link): то она тоже не работает. Любой выход?

class myClass: 

    def fun(self,link): 
     print("fun") 

    glit = "http://www.google.com" 
    fun(glit) 
+1

self.fun (GLIT) должен работать, если это за пределами класса, вам нужен экземпляр класса Термическое и вызвать instance.fun (GLIT) – iScrE4m

+0

@ iScrE4m Я уже пробовал, он дает 'Undefined variable self' – Amar

+1

Это ваш полный код? – iScrE4m

ответ

0

Проблема заключается в том, что вы пытаетесь вызвать этот код из класс. Класс должен содержать только методы, а не вашу логику. Вы должны назвать это из-за пределов класса:

class = myClass() 
glit = "http://www.google.com/" 
class.fun(glit) 
+0

. Он работает ... Счастливое кодирование ... :) – Amar

+0

Вы действительно не должны называть ваши переменные ключевыми словами – Li357

0

[Edit] Используйте функцию __init__ установить переменные внутри класса, как

def __init__(self): 
    self.glit = 'www.google.com' 

Теперь используйте self.fun(self.glit)

+0

Я уже пробовал. Не работает. – Amar

+0

Все еще не работает. Просьба показать полный код. – Amar

Смежные вопросы