Почему int (50)

В python 3 int (50) <'2' вызывает TypeError , и должно быть. Однако в python 2.x int (50) <'2' возвращает True (это также относится к другим числовым форматам, но существует int как в py2, так и в py3). Итак, мой вопрос состоит из нескольких частей:

  1. Почему Python 2.x (<3?) Допускает такое поведение?
    • (И кто подумал, что было бы неплохо разрешить это для начала ???)
  2. Что означает, что int меньше, чем str ? возвращает True (это также относится к другим числовым форматам, но int существует как в py2, так и в py3). Итак, мой вопрос состоит из нескольких частей:

    1. Почему Python 2.x (<3?) Допускает такое поведение?
      • (И кто подумал, что было бы неплохо разрешить это для начала ???)
    2. Что означает, что int меньше, чем str ? возвращает True (это также относится к другим числовым форматам, но int существует как в py2, так и в py3). Итак, мой вопрос состоит из нескольких частей:

      1. Почему Python 2.x (<3?) Допускает такое поведение?
        • (И кто подумал, что было бы неплохо разрешить это для начала ???)
      2. Что означает, что int меньше, чем str ?
        • Имеется в виду or / chr ?
        • Есть ли какой-нибудь менее очевидный двоичный формат?
      3. Есть ли разница между '5' и u'5 ' в этом отношении?
6
задан SilentGhost 24 November 2010 в 13:00
поделиться