2010-09-30 4 views
1

Как я могу назвать self.value в определении функции?Как вызвать self.value в определении функции класса в python?

class toto : 
    def __init__(self): 
     self.titi = "titi" 
    def printiti(self,titi=self.titi): 
      print(titi) 
+2

Какой учебник Python вы используете? –

+0

@ S.Lott: как это связано с py3k? – SilentGhost

+1

Этот вопрос уже был дан здесь: http://stackoverflow.com/questions/1802971/nameerror-name-self-is-not-defined/1802980#1802980 Попробуйте выполнить поиск в первую очередь – Franck

ответ

4

Вот как это делается:

def printiti(self, titi=None): 
    if titi is None: 
     titi = self.titi 
    print titi 

Это обычный питон идиома (установка значения аргумента по умолчанию None и проверять его в теле метода).

+0

Спасибо за помощь С уважением Bussiere – user462794

+0

он не работает на py3k :-) – joaquin

+0

Угадайте, что печать - это функция в 3k :) Вместо этого напишите: 'print (titi)' – gruszczy

2
class Toto: 
    def __init__(self): 
     self.titi = "titi" 

    def printiti(self, titi=None): 
     if titi is None: 
      titi = self.titi 
     print(titi) 

Названия классов, как правило, являются верхним корпусом.

+0

Спасибо за помощь Bussiere – user462794

+0

+1 для следующего pep8 – Daenyth

+0

@ Даенит: Я ненавижу части PEP8. Соблюдение полностью случайное из-за копирования и вставки из вопроса. Не благодарите меня. Спасибо пользователю462794. –

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

  • Нет связанных вопросов^_^