вот только горячие клавиши ли то nano? :)
Это горячки самой ОС, работают в любом редакторе, Shift+стрелки выделение символа, а если еще и с Ctrl — то вообще выделение слова. Так что я вообще не увидел ни одной горячей клавиши nano, где они потерялись? :)
Это все конечно классно, но…
В предыдущем комментарии вы писали:
Пылесосы xiaomi тоже без интернета не могут. Но у них всё хуже
Я отвечал именно на эту фразу!
Поэтому у них явно не хуже. Да, нет всяких плюшек типа удаленного расписания или карты, но их все равно можно запустить на очистку комнаты даже без интернета без проблем, нажав одну кнопку. А это точно не хуже кормушки, которая без интернета превратилась в мертвую железку.
• Оставить полное название в картинке, но скрыть от VoiceOver текст с заголовком.
А вот это точно не стоит делать. В скрин ридерах есть выбор навигации, например: по символам, по словам, по заголовкам, по абзацам, и так далее. Навигация по заголовкам очень удобная и незрячие ею очень часто пользуются. Это касается и любых сайтов. Очень удобно прыгнуть по заголовку и попасть сразу на начало статьи, например. И не листать все меню, баннеры и прочие надстройки. И очень опечаливают те сайты, где не используют заголовки настоящие, которые тегом html идут, а делают обычный текст и просто свойствами CSS выделяют его. Крайне неудобно пользоваться такими сайтами. Ну обычно их сразу и покидают если есть более удобные альтернативы.
Это вообще не проблема. Проблема когда ничего не подписано, и как бы пользователь не искал хоть что-то, а в ответ тишина. Тем более экранные дикторы обычно перед текстом заголовка так и говорят: заголовок такой-то. А на картинке: графика такая-то подпись. Так что лучше картинки тоже подписывать и не пропускать, хоть от них действительно толку мало, но все же они помогают незрячему при навигации по приложению, так как дополняют образ интерфейса. Построив интерфейс программы в своем воображении, включая эти картинки, потом проще искать прочие компоненты управления.
Я бы не сказал, что у них все хуже. Маршрут да, не покажут без сервера. Однако он вполне работает и без интернета и даже без программы на смартфоне. Достаточно нажать кнопку старта на пылесосе и он шустро устремиться к выполнению своих обязанностей.
Вы может задумывали 2 плоскости, но в своем примере привели 3 плоскости.
вот попробуйте следующий пример:
class TestClass:
name = 'cls_name'
def __init__(self, s):
self.name = s
А потом заново переосмыслите области видимости классов в python. Можно называть их свойствами, можно переменными, суть от этого не изменится, то что в области класса и то что в области экземпляра класса — это разные вещи и не пересекаются никак.
может изменяться в ходе работы с классом. В моем, случае file_name = '' — это инициализация свойства (которое, можно и опустить вообще), дальше в __init__ я присваиваю значение этому свойству, полученное через аргумент конструктора.
нет, вы не правы тут. К ней вы можете получить доступ через cls, а не self, в конструкторе вы ей ничего не присваиваете.
Т.е. инициализация класса B происходит в клиентском коде, после чего через аргументы передается в консруктор класса А, где сохраняем инстанс в локальную переменную класса, все дальнейшее взаимодейтсвии происходит внутри локальной области видимости.
Такой подход не применим в Python?
Конечно применим. Именно так и происходит. Более того, если класс B является вспомогательным классом A, и более нигде не нужен, его можно определить прямо внутри класса.
В вашем примере намешано все подряд.
file_name = 'something' # это глобальная переменная
class Updater:
file_name = '' # это переменная класса
def __init__(self, file_name: str):
self.file_name = file_name # это переменная экземпляра класса
Переменная класса это совершенно не тоже самое, что переменная экземпляра класса. Она одинакова для всех экземпляров класса. Ее можно сравнить со статической переменной.
Когда я иногда пишу на php, то тоже делаю вермишелекод. Но если вы решили использовать классы — глобальные переменные лучше вообще не использовать, да и переменные класса редко когда нужны.
А если вы хотите писать вермишель с глобальными переменными, тогда вам классы не нужны вовсе.
А, понятно. Тогда да. Вместо django можно попробовать flask. Если django как комбайн, все в одном, то flask наверно можно охарактеризовать как конструктор.
А почему именно веб-интерфейс? Если просто нужно GUI интерфейс для консольного скрипта, почему бы не использовать GUI библиотеки? типа QT или WX Widgets.
Ваш вариант тоже вполне хороший, как по мне. Мне не понравились предложенные варианты автора: recycle_storage() — как-то не так очевидно, а top_n_sorted() — исключительный узкий случай, у partial_sort() или partial_sort_copy() — больше вариантов применения, кроме нескольких наибольших элементов. Как минимум, еще варианты наименьшие элементы, или вообще где-то из середины по какому-то своему хитрому условию.
Если насчет log2p1 полностью согласен про неочевидность, то вот partial_sort_copy мне кажется довольно просто и понятно, понятнее прочих названий. Но это конечно только мое мнение.
не надо говорить как сравниватели языков что питон так же быстр как С. Не быстр — априори. Иначе не пришлось бы создавать CPython и PyQt.
Ну если вы говорите о скорости исполнения, то я могу подразумевать, что CPython вы просто перепутали с Cython. Но при чем тут pyQT? Это библиотека GUI, каким боком она относится к скорости исполнения не понял.
Вот что за бред.Вам же говорят, не нужно ничего дополнительного. Создается обычный GUI интерфейс для зрячего человека. Просто писать его надо по правилам и тогда он совершенно доступен и незрячим. Например когда создаете кнопочку, не забываем ставить ей текстовую метку названия. Даже если на кнопке хотите показать только картинку, без надписи, у кнопок есть специальный атрибут для текстовой метки, который визуально не виден, а доступен программам экранного доступа. Это также само как атрибут «alt» в теге
, про который многие забывают почему-то. И все, представляете, от вас требуется к кнопке добавить всего лишь 1 атрибут, дело на 10 секунд, а незрячие уже увидят в вашей программе кнопку с нормальным названием, вместо: «Без ярлыка».
Ну я говорил про мобильные нативные. А насчет электрон, как я и написал, за некоторыми исключениями. Как пример skype или vscode, то есть продукты microsoft как раз и являются этими приятными исключениями. Возможно и слэк, не знаю, его не использовал. Большинство других не доступны. Если рассматривать десктопные приложения, то телеграмм написан как раз на том QT, которыый как раз недоступный по нормальному, только через ужасные костыли. Насчет вайбер не знаю, может тоже что-то из подобных библиотек.Ведь нативность на десктопе не так влияет на доступность, как библиотеки для создания GUI. Поясню, что я имею ввиду. Не важно на каком языке писать, C++, python, или какой другой язык, доступность зависит от библиотеки для создания GUI интерфейса. Например, тот же QT не доступен по нормальному, а вот WX Widgets прекрасно озвучивается программами экранного доступа. Да что там, самое нативное, элементы управления, созданные WIN32API вполне доступны и озвучиваются в своей мере.
Не нужны никакие специальные версии!!! Нативный GUI хорошо озвучивается, и надо просто писать хороший код, по всем правилам, с метками и прочей текстовой информацией. Никаких специальных версий не нужно. Как раз большинство тех флотеров и электронов как раз не озвучиваются, за некоторыми исключениями.facebook не имеет никаких специальных версий и им прекрасно пользуются незрячие, та множество программ используются совершенно обычные, просто правильно написанные.
вот только горячие клавиши ли то nano? :)
Это горячки самой ОС, работают в любом редакторе, Shift+стрелки выделение символа, а если еще и с Ctrl — то вообще выделение слова. Так что я вообще не увидел ни одной горячей клавиши nano, где они потерялись? :)
В предыдущем комментарии вы писали:
Я отвечал именно на эту фразу!
Поэтому у них явно не хуже. Да, нет всяких плюшек типа удаленного расписания или карты, но их все равно можно запустить на очистку комнаты даже без интернета без проблем, нажав одну кнопку. А это точно не хуже кормушки, которая без интернета превратилась в мертвую железку.
А вот это точно не стоит делать. В скрин ридерах есть выбор навигации, например: по символам, по словам, по заголовкам, по абзацам, и так далее. Навигация по заголовкам очень удобная и незрячие ею очень часто пользуются. Это касается и любых сайтов. Очень удобно прыгнуть по заголовку и попасть сразу на начало статьи, например. И не листать все меню, баннеры и прочие надстройки. И очень опечаливают те сайты, где не используют заголовки настоящие, которые тегом html идут, а делают обычный текст и просто свойствами CSS выделяют его. Крайне неудобно пользоваться такими сайтами. Ну обычно их сразу и покидают если есть более удобные альтернативы.
вот попробуйте следующий пример:
class TestClass:
name = 'cls_name'
def __init__(self, s):
self.name = s
@classmethod
def get_cls_name(cls):
return cls.name
obj = TestClass('self_name')
print(obj.name)
print(TestClass.name)
print(obj.get_cls_name())
А потом заново переосмыслите области видимости классов в python. Можно называть их свойствами, можно переменными, суть от этого не изменится, то что в области класса и то что в области экземпляра класса — это разные вещи и не пересекаются никак.
нет, вы не правы тут. К ней вы можете получить доступ через cls, а не self, в конструкторе вы ей ничего не присваиваете.
Конечно применим. Именно так и происходит. Более того, если класс B является вспомогательным классом A, и более нигде не нужен, его можно определить прямо внутри класса.
file_name = 'something' # это глобальная переменная
class Updater:
file_name = '' # это переменная класса
def __init__(self, file_name: str):
self.file_name = file_name # это переменная экземпляра класса
Переменная класса это совершенно не тоже самое, что переменная экземпляра класса. Она одинакова для всех экземпляров класса. Ее можно сравнить со статической переменной.
Когда я иногда пишу на php, то тоже делаю вермишелекод. Но если вы решили использовать классы — глобальные переменные лучше вообще не использовать, да и переменные класса редко когда нужны.
А если вы хотите писать вермишель с глобальными переменными, тогда вам классы не нужны вовсе.
А почему именно веб-интерфейс? Если просто нужно GUI интерфейс для консольного скрипта, почему бы не использовать GUI библиотеки? типа QT или WX Widgets.
Ну если вы говорите о скорости исполнения, то я могу подразумевать, что CPython вы просто перепутали с Cython. Но при чем тут pyQT? Это библиотека GUI, каким боком она относится к скорости исполнения не понял.
, про который многие забывают почему-то. И все, представляете, от вас требуется к кнопке добавить всего лишь 1 атрибут, дело на 10 секунд, а незрячие уже увидят в вашей программе кнопку с нормальным названием, вместо: «Без ярлыка».