Что означает команда int
Перейти к содержимому

Что означает команда int

  • автор:

Функция int() в Python

Функция int() в Python возвращает целочисленный объект из указанного ввода. Возвращаемый объект int всегда будет в базе 10.

Синтаксис функции int():

Некоторые важные моменты для функции int():

  • Если аргумент не указан, функция int() вернет 0.
  • Если указан целочисленный буквальный аргумент, базу указывать не следует. Возвращенный объект int будет десятичным, даже если аргумент имеет шестнадцатеричный, двоичный или любой другой формат.
  • Для аргумента с плавающей запятой десятичная точка будет усечена, и будет возвращено значение типа int. Округление производиться не будет.
  • Если аргумент – строка, он будет преобразован в int. Если строковый аргумент не находится в базе 10, необходимо указать базу.
  • Базовый аргумент может быть предоставлен только для строки, байтов и аргументов байтового массива. Допустимые значения: от 0 и от 2 до 36.
  • Мы также можем использовать int() с настраиваемым объектом, в этом случае будет вызвана функция object __int __(). Если функция __int __() не определена, будет вызвана функция __trunc __(). Если ни один из них не определен, будет выброшено TypeError.

Давайте рассмотрим примеры функции int() с разными типами входных аргументов.

Тип int – целые числа

Если вы хотите хранить в переменных целые числа , вам нужно использовать тип int .

int — это сокращение от Int eger ( целый с английского), что как бы намекает, что этот тип позволяет хранить целые числа .

Переменные типа int способны хранить целые числа в диапазоне от — 2 миллиарда до + 2 миллиарда . Или, если быть более точным, то от — 2,147,483,648 до 2,147,483,647 .

Такие некруглые значения связаны с устройством памяти компьютера.

В Java для типа int выделено 4 байта памяти. Каждый байт памяти состоит из 8 битов . Каждый бит может принимать только 2 значения — 0 или 1. Переменная типа int содержит 32 бита и может принимать 4,294,967,296 значений.

Половину этого диапазона отдали под отрицательные числа, а вторую — под положительные. Вот и получилось как раз от — 2,147,483,648 до 2,147,483,647 .

2. Создание переменной типа int

Тип int предназначен для хранения целых чисел. Чтобы создать в коде переменную, которая будет способна хранить целые числа , нужно воспользоваться командой вида:

Где имя — это имя переменной. Примеры:

Команда Описание
Создается целочисленная переменная x
Создается целочисленная переменная count
Создается целочисленная переменная currentYear

Размер (регистр) букв имеет значение: команды int c olor и int C olor объявят две разные переменные.

Команды же Int Color и INT COLOR компилятор вообще не поймет и сообщит об ошибке. int — это специальное слово, обозначающее целый тип, и пишется оно только строчными буквами .

3. Краткая запись создания переменных

Если в одном месте программы нужно создать много переменных одного типа, это можно сделать, используя сокращенную запись:

Команды Краткая запись тех же команд

4. Присваивание значений

Чтобы занести значение в переменную типа int , нужно воспользоваться командой:

Где значением может быть любое целочисленное выражение. Примеры:

Команда Примечание
Не скомпилируется, т.к. 3,000,000,000 больше, чем максимально возможное значение типа int 2,147,483,647

5. Сокращенная запись создания и инициализации переменной

Создание (объявление) переменной и присваивание ей значения можно записать одной командой. Чаще всего так и делают, т. к. переменная обычно объявляется тогда, когда возникает необходимость сохранить какое-либо значение.

Выглядит эта команда так:

Команда Примечание
В переменной будет значение «2 миллиарда»
В переменной будет значение «минус 10 миллионов»
Не скомпилируется, т. к. 3,000,000,000 больше, чем максимально возможное значение типа int: 2,147,483,647

Можно объявить и несколько переменных одной строкой. Тогда команда будет иметь вид:

Функция int()

В языке программирования Python встроенная функция int() возвращает целое число (экземпляр класса int) в десятичной системе счисления. Если преобразовать переданный в функцию первый или единственный аргумент в десятичное число не удается, то генерируется исключение ValueError .

Если вызвать функцию int() без аргументов, она вернет 0.

Чаще всего функции int() передают один аргумент, который может быть либо строкой, либо числом. Строки должны быть символьными представлениями целого числа, иначе будет выброшено исключение.

Если передать функции целое число, то она вернет его же. Если передать вещественное число, то оно будет округлено до целого в сторону нуля (т. е. дробная часть будет отброшена).

Попытка преобразовать строку, содержащую вещественное число, в целое число с помощью функции int() вызывает ошибку.

Чтобы преобразовать дробное число в строковом представлении в целое число, сначала можно использовать функцию float() , затем int() .

В случае, когда указывается второй аргумент для функции int() , первый всегда должен быть строкой. С помощью второго аргумента сообщается, в какой системе счисления находится число, указанное в строке первого аргумента. Функция int() возвращает его значение в десятичной системе счисления.

Основание системы счисления не должно превышать 36.

Для двоичной, восьмеричной и шестнадцатеричной систем счисления можно использовать префиксы. Если такое представление числа заключается в кавычки, то второй аргумент обязателен.

В классах функцию int() переопределяют методы __int__() , __index__() , __trunc__() .

What does int() do in C++?

The following code can pass compiling and will print 0 on the console. I saw similar code in STL. Does type int in C++ have a constructor? Is int() a call of some defined function?

Peter Mortensen's user avatar

3 Answers 3

In this context,

it value-initializes a , so that it holds value 0 . This syntax does not require the presence of a constructor for built-in types such as int .

Note that this form is necessary because the following is parsed as a function declaration, rather than an initialization:

In C++11 you can achieve value initialization with a more intuitive syntax:

Edit in this particular case, there is little benefit from using 1) or 3) over

first, we start with this syntax:

this syntax is called value initialization of a variableName, or in other word we say a variableName is zero initialized.

But, what is the meaning of the value initialization.

if the type of a variableName is a built-in/scalar type like (int, char, . ), value initialization mean that a variableName is initialized with the value zero.

and if the type is a complex type like (classes, structs, . ) mean that a variableName is initialized by calling its default constructor.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *