Задать вопрос
  • Как работает __init__.py?

    @PyLearner Автор вопроса
    Грубо говоря, мне непонятно вот что:

    1) Почему питон сам не может идентифицировать и импортировать пакет без init, если:
    a) Папка содержит модули
    b) Папка находится в нужной директории из sys.path
    c) Папка имеет то же имя, что и я ввожу

    Я уверен, что это легко могло быть реализовано, но не сделано из-за каких-то нюансов. Каких? Для включения\отключения каких-то дублей?

    2) Если я создал пакет с таким же именем, что уже встроен в Питон, переместил его в нужную директорию, то очевидно я хочу его использовать? Иначе зачем я его создавал и перемещал, куда надо? Если я не хочу использовать пакет с таким же именем, то я его просто удалю из виртуальной среды?
  • Как работает __init__.py?

    @PyLearner Автор вопроса
    PrAw, а в чем логика не импортировать свой пакет sys без init, если я создал его и переместил в папку с пакетами?

    Какая была логика создания init.py? Это по типу "А что если юзер создаст свой пакет sys, переместит его в одну из директорий sys.path, но не захочет его использовать. Сделаем так, чтобы пакеты без init не импортировались, если пакет с таким же именем и init есть"? Только для таких случаев был создан init?
  • Можно ли назначать переменные с помощью итераций FOR?

    @PyLearner Автор вопроса
    Pavel Denisov, у меня такая логика:
    >>>a = 5
    >>>a
    5
    >>>for x in 'abcd':
    ....    print(x)
    a
    b
    c
    d
    >>>for x in 'abcd':
    ....    x = 1
    # a = 1 # - не работает
    # b = 1 # 
    # c = 1 # 
    # d = 1 #
  • Можно ли назначать переменные с помощью итераций FOR?

    @PyLearner Автор вопроса
    Pavel Denisov, не понял вас, в коде chars же не изменяется никак. На выходе я хотел бы получить следующее:
    >>>a
    1
    >>>b
    1
    >>>c
    1