[WT] [Архив] [Поиск] [Главная] [Управление]
[Совместно с IIchan.ru]

[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   (reply to 4612)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, GIF, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1627 unique user posts. Посмотреть каталог
  • Радио:

Файл: 13058076421.png-(70.98KB, 1543x1100, shuukihyou.png)
4612 No. 4612 watch    
Я в отчаянии и ярости. Почему при всех няшных фичах питона в нём нет таких простых вещей, как глобальные переменные и модульность?
Ну ладно, глобальные переменные я обошёл через задний проход, использовал дополнительный модуль как внешнее хранилище данных.
Но что меня больше всего убивает - нет совершенно никакой возможности разделить код так, чтобы несколько модулей находились в одной области видимости. Конечно, это банально вопрос удобства и всё можно писать в одном модуле, но когда размер кода начинает исчисляться мегабайтами, как-то возникает невольное желание раделить его хоть немного. А нельзя.
Развернуть все изображения
>> No. 4613    
Ах, да, сейчас сбегутся диванные теоретики и будут доказывать мне, что я не умею программировать и что глобальные переменные не нужны. Пропрошу таких личностей заране пройти нaxуй.
>> No. 4615    
Глобальные переменные не нужны.
coolface.jpg
следуя нахуй мимопробегал
>> No. 4617    
>>4612
>несколько модулей находились в одной области видимости
На самом деле что-то подобное вполне можно создать, например подменой __dict__, globals и прочего. А еще можно использовать пакеты вместо модуль-в-файле. Попробуй их. Там тебе и глобальнгые модульные переменные, и общее пространство имен и прочая ерунда не нужная в обычной жизни.
>> No. 4618    
>>4617
Это всё решения через задний проход. Я же хочу самого простого и банального - два модуля в одном пространстве имён. Чтобы можно было как в C - есть два модуля, в каждый из которых ставишь хедер другого, и опа - они работают как один большой модуль. А в питоне при этом создаются два контекста, и пользоваться из одного модуля переменными другого можно только через жопу.
Нет, реально-то оно мне не нужно, просто у меня один из модулей в проекте разросся до совершенно неудобоваримых размеров, а разделять по коду его будет уже слишком дорого.
И да, пакеты тоже не позволяют создать единый контекст для нескольких модулей. В жизни-то эта ерунда может и не понадобится, но вот в работе - ещё как.
>> No. 4621    
>>4618
Может у тебя просто АРХИТЕКТУРАПРОБЛЕМЫ? В питоне многие вещи удобнее решать не так как в том же с, соответственно и подход к проектированию другой. Может вместо объединения стоит посмотреть в сторону декомпозиции?
>> No. 4622    
Толсто
>> No. 4623    
>как в C - есть два модуля
Fucking lol'd.
В С вообще нет модулей, как и в С++, вместо них там уебанский автокопипаст, который называется препроцессор. И даже в C++0x не будет модульной системы. ОП, забей на пейтон, используй луа или лисп.
>> No. 4624    
>есть два модуля, в каждый из которых ставишь хедер другого, и опа - они работают как один большой модуль.

from module2 import *
>> No. 4640    
>>4624
Тред не читай, сразу отвечай, да.
>> No. 4664    
>>4612 Модули с общим пространством делаются также как в C, фактически просто нужен хидер. Объясняю: у тебя есть 2 модуля, например p1 и p2, ты создаешь еще один модуль p3 с котором прописываешь их как полные импорты, то есть from p1 import и from p2 import , затем в p1 и p2 точно также импортируешь p3, и все - теперь пространство имен у тебя общее на 2 разных модуля.
>> No. 4666    
Файл: 130666290349.jpg-(40.45KB, 764x521, spidovaya.jpg)
4666
Ты наркоман штоле, сука?
>> No. 4698    
>>4664
Ни хрена не работает же. Сделал так, но по-прежнему в каждом модуле своё пространство имён.
>> No. 4699    
Лолд.
А первые посты написал так, как будто функционала языка просто не достаточно для удовлетворения потребностей твоего генеального мозга, ГУРУ-ПИТОНА блджад.
А в результате - неосилятор, который даже нормально импорт модулей прописать не может.
>> No. 4716    
Глобальные переменные? Модульность? В Питоне нет?
Тебе аббревиатура "ООП" ни о чём не говорит?
>> No. 4750    
>>4699
Што? Это ты мне? Я на питоне пишу от силы полгода, если что. Если бы я сам знал, как это делается, то я бы тут не спрашивал, наверное?
Алсо - научи же меня как правльно прописывать импорт модулей, ведь ты-то точно гуру питона, я так понимаю. Ибо я пока что не услышал ни одного ответа на поставленный вопрос - как в питоне задать два модуля в одном пространстве имён?
>>4716
Ну вы подумайте, какая связь? (с)
>> No. 4754    
>>4750
>Если бы я сам знал, как это делается, то я бы тут не спрашивал, наверное?
Не заметил в ОП-посте вопроса, один троллинг.
Алсо, ты же сам послал всех питоно-кодеров в >>4613. Они и ушли.
>> No. 4761    
>>4754
В >>4613 я послал только диванных теоретиков, и больше никого.
>> No. 4765    
>>4761
Другие на бордах не сидят.
[Назад]


Удалить сообщение []
Пароль  
[Mod]