Как я могу назвать self.value
в определении функции?Как вызвать self.value в определении функции класса в python?
class toto :
def __init__(self):
self.titi = "titi"
def printiti(self,titi=self.titi):
print(titi)
Как я могу назвать self.value
в определении функции?Как вызвать self.value в определении функции класса в python?
class toto :
def __init__(self):
self.titi = "titi"
def printiti(self,titi=self.titi):
print(titi)
Вот как это делается:
def printiti(self, titi=None):
if titi is None:
titi = self.titi
print titi
Это обычный питон идиома (установка значения аргумента по умолчанию None и проверять его в теле метода).
Спасибо за помощь С уважением Bussiere – user462794
он не работает на py3k :-) – joaquin
Угадайте, что печать - это функция в 3k :) Вместо этого напишите: 'print (titi)' – gruszczy
class Toto:
def __init__(self):
self.titi = "titi"
def printiti(self, titi=None):
if titi is None:
titi = self.titi
print(titi)
Названия классов, как правило, являются верхним корпусом.
Спасибо за помощь Bussiere – user462794
+1 для следующего pep8 – Daenyth
@ Даенит: Я ненавижу части PEP8. Соблюдение полностью случайное из-за копирования и вставки из вопроса. Не благодарите меня. Спасибо пользователю462794. –
Какой учебник Python вы используете? –
@ S.Lott: как это связано с py3k? – SilentGhost
Этот вопрос уже был дан здесь: http://stackoverflow.com/questions/1802971/nameerror-name-self-is-not-defined/1802980#1802980 Попробуйте выполнить поиск в первую очередь – Franck