Змея / Говнокод #27542 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
class Bagor:
	r = []
	
	def __init__(self, val):
		self.r.append(val)
		
	def get(self):
		return self.r[0]
		
kakoi = Bagor(1)
bagor = Bagor(2)
print([kakoi.get(), bagor.get()])

https://ideone.com/K7tADi

Запостил: 3_dar 3_dar, (Updated )

Комментарии (26) RSS

  • Когда оказывается, что присваивание в классе создает переменную класса (аналог static в С++), а не поле объекта.
    Да, мне тоже проще написать и проверить, чем прочитать документацию.
    Ответить
    • > чем прочитать документацию

      Ага. Сейчас пойду весь стандарт крестов прочитаю, прежде чем начать программировать.
      Ответить
      • Не, ну кресты я в свое время (в детстве) и по книжкам учил (не стандарт, но все же), и лекции слушал... поэтому база есть. А теперь новые языки только так и изучаю: тык, пык, ок гугл %lang_name% как записать в файл пример.
        Ответить
        • Какие-то вы все милениалы

          А я бумер, я по языку книжку читаю
          Ответить
          • > по языку книжку читаю

            Для мейнстримных языков хватит и короткого туториала, имхо. Концепции один фиг более-менее похожие.
            Ответить
        • Это ты не языки изучаешь. Язык — это подход к решению задачи и философия, а не буковки. Ты ж не поймёшь по кодесемплам, что в идеологии языка иммутабельные данные и вместо циклов мапы и функциональный подход.
          Ответить
  • Ого, инью открыл для себя статические поля класса?:)
    Ответить
    • "PyCharm" начинает подсвечивать инициализацию говна, которого нету в классе
      class Pituh:
          def kok(self):
              self.r = 42

      я и начал добавлять
      class Pituh:
          r = None
          def kok(self):
              self.r = 42


      Потом поймал такой багор, когда начал списки использовать
      Ответить
  • Тебе нужны "dataclass" или "pydantic".
    import dataclasses
    from typing import List
    
    import pydantic
    
    
    @dataclasses.dataclass
    class Nebagor_1:
        r: List[int]
        
        def get(self) -> None:
            return self.r[0]
    
    
    class Nebagor_2(pydantic.BaseModel):
        r: List[int]
        
        def get(self) -> None:
            return self.r[0]
    
    
    n_1_1 = Nebagor_1(r=[16])
    n_1_1.r.append(17)
    n_1_2 = Nebagor_1(r=[42])
    n_1_2.r.append(43)
    
    n_2_1 = Nebagor_2(r=[16])
    n_2_1.r.append(17)
    n_2_2 = Nebagor_2(r=[42])
    n_2_2.r.append(43)
    
    print(n_1_1, n_1_2)
    print(n_2_1, n_2_2)
    Ответить
        • Линукс пидора – это bullseye debian Arch Linux.

          Кстати, Arch с английского переводится как выгибаться, типа как когда один пидор омежный выгибается, а другой ему вставляет. Вот каким дистром я пользуюсь)
          Ответить
        • Используется ли Pidora в деятельности Всероссийского научно-исследовательского геологического института им. А.П. Карпинского?
          https://vsegei.ru/ru/
          Ответить
          • Кстати, почему его назвали «ВСЕГЕИ»? Он же научно-исследовательский, значит, должно быть «ВСЕНИГЕИ».
            Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8