Size: a a a

Сообщество Python Программистов

2020 February 26

VB

Vladislav Bushmeniov in Сообщество Python Программистов
bbclub
namedtuple хорошо здесь подойдет
методы не нужны
мне потом реализовать еще класс нужно карточки ) он будет полноценным ) спасибо за идею !
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Vladislav Bushmeniov
почему 2 код дает ошибку , что cardranks is not defined
Потому что НИКОГДА не используй range(len(...))!
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Ну его нахуй!
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Бензофуран Гетероцикл
Потому что НИКОГДА не используй range(len(...))!
Онли enumerate!
источник

A

Alexander in Сообщество Python Программистов
ну, нет
источник

A

Alexander in Сообщество Python Программистов
понятно негодование, но это НЕ причина ошибки
источник

A

Alexander in Сообщество Python Программистов
причина кроется в том, что все действия производятся внутри области определения класса
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Alexander
понятно негодование, но это НЕ причина ошибки
Ну блин, ну дай ты поугорать
источник

A

Alexander in Сообщество Python Программистов
а должно быть внутри метода класса
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
разве 1 вариант  и 2 не равноценно использует области переменных ?
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
Alexander
а должно быть внутри метода класса
ну в метод то его можно спрятать ) но мне сейчас очень интересно понять , что не так .
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
ведь все находится в одной области переменных (внутри класса)
источник

A

Alexander in Сообщество Python Программистов
class PyramideCard:
  def __init__(self):
     self.ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']
     self.suits = ['♠️', '♥️', '♦️', '♣️']
     self.values = [(s,r) for s in self.suits for r in self.ranks]

pc = PyramideCard()
print(pc.values)
источник

A

Alexander in Сообщество Python Программистов
Vladislav Bushmeniov
ведь все находится в одной области переменных (внутри класса)
дело не столько в области видимости класса, сколько в разности операций определения и присваивания
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
Alexander
дело не столько в области видимости класса, сколько в разности операций определения и присваивания
а чем операции не внутри init ' a отличаются ?)
источник

A

Alexander in Сообщество Python Программистов
есть переменные класса, а есть метод конструктора класса
источник

A

Alexander in Сообщество Python Программистов
переменные класса объявляются
источник

A

Alexander in Сообщество Python Программистов
конструктор класса определяет переменные
источник

A

Alexander in Сообщество Python Программистов
пайтон позволяет определять переменные класса при объявлении, но их использование в той же области видимости ограничено
источник

A

Alexander in Сообщество Python Программистов
для доступа к ним нужно использовать self
источник