1. Python / Говнокод #4062

    −80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class SimpleStruct:
        def __init__(self, arg1, arg2):
            self.arg1 = arg1
            self.arg2 = arg2
    # Далее класс в переменную или в массив:
    a = []
    a.apppend(SimpleStruct("dd", "er"))
    b = SimpleStruct("DFGH", "dj")
    # И тест:
    print a[0].arg1, a[0].arg2, b.arg1, b.arg2
    #dd er DFGH dj

    Однажды одному чудаку понадобилась структура в питоне и он намутил это.
    Хотя если бы он хоть немного подумал о том, что такое класс, писать ему бы ваще нихрена не пришлось!

    Запостил: hromjo, 22 Августа 2010

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

    • ну вообщем то это так как бы один из официальных способов -
      http://stackoverflow.com/questions/35988/c-like-structures-in-python
      Ответить
    • А что не нравится? Ты хотел чтобы он написал так

      SimpleStruct = object()
      SimpleStruct.arg1 = arg1

      или что? Или ты varargs и список увидеть хочешь?
      Ответить
    • Структура это класс со всему публичными методами. Так не проще создать класс и запихать в него нужные данные?
      Ответить
      • так код именно это и делает. с куском синтаксического подсластителя в форме конструктора.
        Ответить
      • ну и не надо забывать что Питон это из тех слегка ёпнутых языков где если интертрепатор ошибку не кидает то это правильно написано.

        Ларри Волл к этому типу языков цитату из Кубриковской "Одисея 2001" как-то применил: "I'm sorry Dave. I can't allow you to do that." (*) http://www.perl.com/pub/1999/03/pm.html

        это языки построеные на отрицании плохого: там только хорошее разрешено.

        (*) ну если кто не видел, это из сцены где AI, HAL 9000, пытался пилотов контролировать.
        Ответить

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