Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2016 18:26:03

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Перечисляемые типы в Python

FishHook
Тут вопрос рациональности: зачем изменять структуру языка (это дорого, долго и багоопасно), если вполне можно обойтись библиотечным кодом.
Оно конечно так… Но вот в Java все-таки пошли на это, и перечисления были введены в язык:

В первоначальной Java перечислений не было, вместо них предлагалось использовать классы со статическими константами. Начиная с версии 5 (1.5) перечисления были введены в язык, они представляют собой полноценный класс, в который можно добавлять произвольное количество полей и методов. Перечисления были введены для улучшенного контроля за типобезопасностью.

Википедия

Офлайн

#2 Фев. 19, 2016 18:37:19

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Перечисляемые типы в Python

old_monty
Так это нововведение мало (или вообще никак, хз я не спец по джаве) не повлияло на JVM и байт-код, тут такая же история как с енумами в питоне - по сути расширение библиотеки. Ну и да, джава таки статически типизированный язык, без енумов там как без рук.



Офлайн

#3 Фев. 19, 2016 19:10:26

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Перечисляемые типы в Python

FishHook
Мне тут подумалось, что в Python фактически все же есть один встроенный тип, который ведет себя точно как enum. Это bool. Как и enum, любая переменная типа bool принимает только одно из всех возможных значений данного типа. Правда, этих возможных значений у bool всегда только 2, а у enum может быть намного больше - сколько позволяет реализация для этого типа (byte, short или int). Но в остальном bool вполне можно трактовать как встроенный в Python перечисляемый тип, если вернуться к вопросу топик-стартера.

Отредактировано old_monty (Фев. 19, 2016 19:14:26)

Офлайн

#4 Фев. 19, 2016 19:42:20

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Перечисляемые типы в Python

просто на собеседовании такой вопрос был и меня в тупик завел как начинающего) я так понял, что ответить надо было отрицательно

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version