Как вернуть переменную класса в python, используя оператор return?

Когда, если вы потеряете демона mysql в mac OSx, но присутствуете в другом пути для примера в private / var, выполните следующую команду:

1)

ln -s /private/var/mysql/mysql.sock /tmp/mysql.sock

2 ) перезапустите вашу связь с mysql с помощью:

mysql -u username -p -h host databasename

работает также и для mariadb

2
задан Samuel Dion-Girardeau 10 March 2019 в 03:44
поделиться

1 ответ

На самом деле вы не так уж далеки от того, чтобы заставить это работать!

Проблема, с которой вы столкнулись сейчас, заключается в том, что существует конфликт между именем year, являющимся атрибутом класса (эта строка: ]), но также и имя метода (эта строка: def year(self):.

Вы можете обновить свой код следующим образом:

import time


class curtime:

    def __init__(self):
        timeu = time.asctime(time.localtime(time.time())) 
        timelist = timeu.split()
        self._day = timelist[0]
        self._month = timelist[1]
        self._date = timelist[2]
        self._time = timelist[3]
        self._year = timelist[4]

    def year(self):
        return [self._year]


t1 = curtime()
years = t1.year()
print(years)

И вы получите правильный вывод: ['2019']

Обратите внимание, что здесь я удалил все переменные класса и исправил реализацию __init__, чтобы у каждого экземпляра было свое текущее время. Важным моментом является то, что я использую _year в качестве атрибута имя для личного значения, которое вы храните, и year для функции, которую вы хотите использовать.

0
ответ дан Samuel Dion-Girardeau 10 March 2019 в 03:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: