Как передеть методу класса переменную по умолчанию из самого класса? Т.е. что то вроде такого:
def MyClass:
def __init__(self, filename):
self.filename = filename
.
.
.
def write(self, filename = self.filename):
.
.
.
Если писать так, то пишет ошибку : NameError: name 'self' is not defined
Примечание:
>Зачем переменную передавать как аргумент, если метод и так будет ее видеть?
Вопрос не в том что бы передавать то что и так уже есть, а в том что бы использовать переменную по умолчанию, либо переназначить переменную при вызове метода класса.
Переменная filename задается при создании экземпляра: obj1 = MyClass('somefile.txt')
далее выполняются разные метода класса (класс- парсер для конфиг файла)
далее вызываем метод obj1.write() с параметром или без. Если без параметра- пишем в тот же файл с которого читали. Если с параметром- соответственно в тот файл который указали.
Сделал так:
def write(self, filename = ''):
fname = filename or self.filename
...
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.