LINUX.ORG.RU

А какую ошибку он должен выдать?

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating point
 |  numbers, this truncates towards zero.

Вроде все согласно документации.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Ты еще другие типы попробуй.

Что удивительного-то?

t184256 ★★★★★
()

Тебе сконструировали пустой объект типа, который ты попросил. С list и dict, например, то же самое (наверное).

anonymous
()
Ответ на: комментарий от steemandlinux

В одном интересном языке надо было делать так: x = 1 * x, чтобы x в вызов сишной функции целым ушёл. )
Там не было ничего похожего на int().

Deleted
()
Ответ на: комментарий от steemandlinux

Ты мб удивишься, но тру и фолс даже в качестве индексов в списках можно использовать.

WitcherGeralt ★★
()
Ответ на: комментарий от RazrFalcon

Там уже сказано, что там должен быть 0, а не мусор? (Многие компиляторы да, инициализируют нулем, когда режим отладки включен, а когда релиз, то мусором, что даёт больше радости разработчикам на C или на C++) И да, там инициализация, а тут приведение, это разное.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Мне казалось в стандарте плюсов было что-то про значения по умолчанию для примитивных типов. Я таким не страдаю, поэтому хз.

RazrFalcon ★★★★★
()

зато можно int() как фабрику использовать. хотя это пригождается раз в полтора года, но и не мешает абсолютно

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 2)

Ну ещё единицу могло бы возвращать с тем же успехом. Особой логики тут не ищи.

Crocodoom ★★★★★
()
Ответ на: комментарий от anonymous

Тебе сконструировали пустой объект типа, который ты попросил. С list и dict, например, то же самое (наверное).

В питоне не существует понятия «пустой объект типа», ты это только что придумал.

Есть типы, для которых определена функция len(), тогда для значения этих типов можно называть пустыми, если len(x) == 0. Это пустой словарь, пустой список. Но len не определена на int

Crocodoom ★★★★★
()
Ответ на: комментарий от anonymous

а, вот ты о чем. каюсь, я уже привык понимать конструкцию «с/c++» как синоним строго плюсов, со сноской, что там будет лапша из strings.h и макросов

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 1)

Зачем оно даёт результат вместо ошибки

Не зачем а почему. Потому, что ошибки нет. Потому, что в питонах есть умолчательные аргументы, которыe, очевидно, «0» в данном случае.

DonkeyHot ★★★★★
()

Explicit is better than implicit - наглое вранье. Python его тупо нарушает при любой возможности.

Еще нашел Special cases aren't special enough to break the rules.

Дзен питона - маркетинговая херня для тех, у кого отсутствует ощущение прекрасного и способность проверить язык на соответствие этому дзену.

vlad9486
()
Последнее исправление: vlad9486 (всего исправлений: 1)

Такое поведение нужно для вот такого кода

T = int
print T()
    
T = str
print T()

T = float
print T()

Например тебе дали вот такую фабрику. С помощью нее ты можешь конвертировать в этот тип или создавать дефолтное значение (вместо None). Но сам тип ты можешь не знать

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)

Конструктор в первый раз увидел или что?

anonymous
()
Ответ на: комментарий от steemandlinux

Тебя смущает конструктор по умолчанию? Смысл - получить значение по умолчанию.

slovazap ★★★★★
()
Ответ на: комментарий от Pravorskyi

Не, тот нихрена не понимая начинает ругать язык, а этот задаёт вопрос. Разница принципиальная.

slovazap ★★★★★
()

иногда это удобно, часто встречающийся пример: collections.defaultdict(int) вместо collections.defaultdict(lambda: 0).

Novel ★★★★
()

Попросил identity, получил identity.

slaykovsky ★★★
()
Ответ на: комментарий от Turbid

Искренне надеюсь, что ты знаешь, что именно делает is, иначе

a = input()
b = input()
c = input()
d = input()
print(a is b, c is d)
Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
1
1
300
300
True False
Deleted
()
Ответ на: комментарий от Deleted

Насколько малые числа и строки python кэширует?

Turbid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.