Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Кстати, в php можно у класса определить магические методы __set и __get, тогда можно будет обращаться к несуществующим полям класса без падения программы.
Слоты «Питона» — это перечисление полей, которые могут быть присвоены у объектов данного класса.
По-умолчанию объекту можно насрать в произвольный атрибут: «obj.foo = 42» эквивалентно (с оговорками и в отсутствии перегрузки __getattribute__) «obj.__dict__['foo'] = 42».
Слоты позволяют жёстко зафиксировать возможные атрибуты объекта на этапе описания класса, тем самым:
1) Запретить присваивание любым другим атрибутам, кроме перечисленных в кортеже __slots__ класса;
2) Уменьшить занимаемую объектами память (для «слотовых» объектов не создаётся словарь __dict__ с соответствующим оверхедом);
3) Увеличить скорость доступа к атрибутам объекта, причём значительно (вместо поиска в словаре по названию ключа происходит быстрое разрешение по номеру слота).
Ты прав, «__getattr__». Запомнить очень легко: «__getattr__» короче, поэтому в него попадает меньше вызовов (только те ключи, которые не нашлись в объекте), а «__getattribute__» длиннее, поэтому ловит все обращения к атрибутам.
The shutil module offers a number of high-level operations on files and collections of files. In particular, functions are provided which support file copying and removal. For operations on individual files, see also the os module.
Warning Even the higher-level file copying functions (shutil.copy(), shutil.copy2()) cannot copy all file metadata.
On POSIX platforms, this means that file owner and group are lost as well as ACLs.
shutil.copyfileobj(fsrc, fdst[, length])
Copy the contents of the file-like object fsrc to the file-like object fdst. The integer length, if given, is the buffer size. In particular, a negative length value means to copy the data without looping over the source data in chunks; by default the data is read in chunks to avoid uncontrolled memory consumption. Note that if the current file position of the fsrc object is not 0, only the contents from the current file position to the end of the file will be copied.
Я бы сказал, что писать на Java вообще сомнительная идея. Но если писать глубоко асинхронные сервера приложений еще можно, то писать интерактивное говно типа текстовых редакторов на JVM не нужно.
Тогда почему б им не переписать "PyCharm" на "Python", "PhpStorm" на "PHP", "RubyMine" на "Ruby", "Clion" на "C++", "WebStorm" на "JavaScript", "Rider" на "C#", "Goland" на "Go", "AppCode" на "Swift"?
Я еще раз хочу заметить, что если в 1998м году идея единого языка под все платформы со сборкой мусора и ABI могла быть привлекательна (ну просто вспомните плюсы без смарт поинтеров например, без тредов, без вообще какой либо кроссплатформенности) то в 2023 джава объективно становится ненужна для большинства задач.
Раньше кстати автокомплит реально работал как автокомплит. Сейчас блядь надо ждать, пока он начнет что-то подсказывать, и самое важное он загрузит последним. Поэтому ты вбиваешь List, а java.util.List он выведет последним, и курсор туда не перебросит.
Помнится, у «PyCharm» была до невозможности хуёвая поддержка чего-то нужного — то ли дженериков, то ли протоколов, не помню уже. Именно поэтому я за «mypy».
My PC isn't working well recently, so i used the sfc /scannow command on command prompt. But it just got this error "Windows Resource Protection could not perform the requested operation." Any help is appreciated about this
По-умолчанию объекту можно насрать в произвольный атрибут: «obj.foo = 42» эквивалентно (с оговорками и в отсутствии перегрузки __getattribute__) «obj.__dict__['foo'] = 42».
Слоты позволяют жёстко зафиксировать возможные атрибуты объекта на этапе описания класса, тем самым:
1) Запретить присваивание любым другим атрибутам, кроме перечисленных в кортеже __slots__ класса;
2) Уменьшить занимаемую объектами память (для «слотовых» объектов не создаётся словарь __dict__ с соответствующим оверхедом);
3) Увеличить скорость доступа к атрибутам объекта, причём значительно (вместо поиска в словаре по названию ключа происходит быстрое разрешение по номеру слота).
Назовите статически типизированный, компилируемый в нативный код язык, в котором можно вызвать несуществующий метод и не упасть
Я такой называю несуществующим, если там можно несуществующий символ привести к функции, а потом еще и вызвать.
Запомнить очень легко: «__getattr__» короче, поэтому в него попадает меньше вызовов (только те ключи, которые не нашлись в объекте), а «__getattribute__» длиннее, поэтому ловит все обращения к атрибутам.
Warning Even the higher-level file copying functions (shutil.copy(), shutil.copy2()) cannot copy all file metadata.
On POSIX platforms, this means that file owner and group are lost as well as ACLs.
блядь
shutil.copyfileobj(fsrc, fdst[, length])
Copy the contents of the file-like object fsrc to the file-like object fdst. The integer length, if given, is the buffer size. In particular, a negative length value means to copy the data without looping over the source data in chunks; by default the data is read in chunks to avoid uncontrolled memory consumption. Note that if the current file position of the fsrc object is not 0, only the contents from the current file position to the end of the file will be copied.
До речи, пайшарм прекрасно это хендлит
https://i.postimg.cc/VLh1DzMC/image.png
Пользуйтесь нормальными инструментами
Поддерживаю. «Питон» не нужен.
А е-клипса от других деятелей?
Эклипс такое же тормозное говно как и JB, просто еще и нихуя не умеет без сорока девяти плагинов
И кстати если бы они написали всё на С++, то оно летало бы
Другой вопрос, что питухон не нужен (как правильно и сказал Файк): подобной проблемы в нормальном ЯП бы не случилось
Я за то, чтобы всякие стат. анализаторы шли отдельной хуйней типа LSP, а не встраивать это намертво в тормозное жабаговно
> Другой вопрос, что питухон не нужен (как правильно и сказал Файк)
С этим я не спорю