Python variable as integer

Python variable as integer

Здесь Python понимает, что вы хотите сохранить целое число 110 в виде строки или используете целочисленный тип данных:

Важно учитывать, что конкретно подразумевается под «110» и 110 в приведённых выше примерах. Для человека, который использовал десятичную систему счисления всю жизнь очевидно, что речь идёт о числе сто десять. Однако другие системы счисления, такие, как двоичная и шестнадцатеричная, используют иные основания для представления целого числа.

Например, вы представляете число сто десять в двоичном и шестнадцатеричном виде как 1101110 и 6e соответственно.

А также записываете целые числа в других системах счисления в Python с помощью типов данных str и int:

>>> binary = 0b1010 >>> hexadecimal = "0xa" 

Обратите внимание, что binary и hexadecimal используют префиксы для идентификации системы счисления. Все целочисленные префиксы имеют вид 0? , где ? заменяется символом, который относится к системе счисления:

  1. b: двоичная (основание 2);
  2. o: восьмеричная (основание 8);
  3. d: десятичная (основание 10);
  4. x: шестнадцатеричная (основание 16).

Техническая подробность: префикс не требуется ни в int , ни в строковом представлении, когда он определён логически.

int предполагает, что целочисленный литерал – десятичный:

>>> decimal = 303 >>> hexadecimal_with_prefix = 0x12F >>> hexadecimal_no_prefix = 12F File "", line 1 hexadecimal_no_prefix = 12F ^ SyntaxError: invalid syntax 

У строкового представления целого числа больше гибкости, потому что строка содержит произвольные текстовые данные:

>>> decimal = "303" >>> hexadecimal_with_prefix = "0x12F" >>> hexadecimal_no_prefix = "12F" 

Каждая из этих строк представляет одно и то же целое число.

Теперь, когда мы разобрались с базовым представлением целых чисел с помощью str и int , вы узнаете, как преобразовать Python строку в int .

Преобразование строки Python в int

Если вы записали десятичное целое число в виде строки и хотите преобразовать строку Python в int , то передайте строку в метод int() , который возвращает десятичное целое число:

По умолчанию int() предполагает, что строковый аргумент представляет собой десятичное целое число. Однако если вы передадите шестнадцатеричную строку в int() , то увидите ValueError :

>>> int("0x12F") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '0x12F' 

Сообщение об ошибке говорит, что строка – недопустимое десятичное целое число.

Важно понимать разницу между двумя типами неудачных результатов при передаче строки в int() :

  1. Синтаксическая ошибка ValueError возникает, когда int() не знает, как интерпретировать строку с использованием предоставленного основания (10 по умолчанию).
  2. Логическая ошибка int() интерпретирует строку, но не так, как то ожидалось.

Вот пример логической ошибки:

>>> binary = "11010010" >>> int(binary) # Using the default base of 10, instead of 2 11010010 

В этом примере вы подразумевали, что результатом будет 210 – десятичное представление двоичной строки. К сожалению, поскольку точное поведение не было указано, int() предположил, что строка – десятичное целое число.

Гарантия нужного поведения – постоянно определять строковые представления с использованием явных оснований:

>>> int("0b11010010") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '0b11010010' 

Здесь получаете ValueError , потому что int() не способен интерпретировать двоичную строку как десятичное целое число.

Когда передаёте строку int() , указывайте систему счисления, которую используете для представления целого числа. Чтобы задать систему счисления применяется base :

Теперь int() понимает, что вы передаёте шестнадцатеричную строку и ожидаете десятичное целое число.

Техническая подробность: аргумент base не ограничивается 2, 8, 10 и 16:

Отлично! Теперь, когда тонкости преобразования строки Python в int освоены, вы научитесь выполнять обратную операцию.

Преобразование Python int в строку

Для преобразования int в строку Python разработчик использует str() :

По умолчанию str() ведёт себя, как int() : приводит результат к десятичному представлению:

В этом примере str() блеснул «умом»: интерпретировал двоичный литерал и преобразовал его в десятичную строку.

Если вы хотите, чтобы строка представляла целое число в другой системе счисления, то используйте форматированную строку (f-строку в Python 3.6+) и параметр, который задаёт основание:

>>> octal = 0o1073 >>> f"" # Decimal '571' >>> f"" # Hexadecimal '23b' >>> f"" # Binary '1000111011' 

str – гибкий способ представления целого числа в различных системах счисления.

Заключение

Поздравляем! Вы достаточно много узнали о целых числах и о том, как представлять и преобразовывать их с помощью типов данных Python.

  1. Как использовать str и int для хранения целых чисел.
  2. Как указать явную систему счисления для целочисленного представления.
  3. Как преобразовать строку Python в int .
  4. Как преобразовать Python int в строку.

Теперь, когда вы усвоили материал о str и int , читайте больше о представлении числовых типов с использованием float(), hex(), oct() и bin()!

Источник

Integer (Int Variable) in Python

Learn Algorithms and become a National Programmer

In this article, we have explored Integer (Int Variable) in Python in depth along with complete Python code examples.

Table of Contents:

  1. Introduction to variables
  2. What are integer variables?
  3. How can we manually create int variables?

1. Introduction to Variables

What exactly are variables, and why should we care about int variables? We’ll go over such topics in this article and more.

First, variables in programming can be defined as reserved memory locations — or points — that store information in a program. It basically stores data in the program for the computer to utilize whenever it needs to access that data again.

To name variables in Python, there are several rules, including:

  1. No special characters allowed other than underscore
  2. Variable name has to start with a letter or underscore
  3. Can have numbers included in the name but not at the beginning
  4. Variable names cannot be a Python keyword

So, now that we know the basic idea of variables, why are integer variables different from the others?

2. What are Integer variables?

Integer variables, or «int» variables, are variables that specifically store, as the name suggests, integers as its value. As such, all whole numbers (0, 1, 2, 3, 4, 5, . ) are included in integer variables, including negative numbers (0, -1, -2, -3, -4, -5, . )

Using the variable naming rules stated before, an example of an integer variable in Python can be:

In the example, we can see that the variable «hello_» was assigned 3, and therefore become an integer variable.

If you’re curious as to how we can check if the variable is actually an integer variable, you can also use the «type()» function in order to confirm the type of variable you have.

Using our last example of the «hello_» variable, if we type the following line:

So what would happen if we divide two integer variables? Let’s say for instance, 5 and 2.

First, we would assign the two variables, in this case «number_one» and «number_two» can be assigned 5 and 2, respectively, and then we can use Python’s built in division operator in order to divide the two numbers.

number_one = 5 number_two = 2 result = number_one/number_two print(result) 

And it will give an output of:

From this, we can see that when you divide two integers and the quotient is not a whole number, Python automatically sets the result variable as a float variable, which can be shown by:

If you ever need to double check the type of a variable, utilizing the type() function is very useful.

Furthermore, integer variables are always useful often when dealing with real world objects. For instance, you can’t have 4.5 cars, so you would make the variable that is representing cars an integer.

3. How can we manually state int variables?

In order to manually state int variables in python, we can utilize the int() method. This can be useful when you want to convert a float variable into an integer variable.

A float number is used whenever you need to represent real numbers, such as any number that is on the continuous number line (π, 7.5, √2, . )

Such numbers are useful to represent precise and exact values through decimals, such as 7.99. In order to convert this number into an integer number, you use the float() function in Python.

Be wary though that whenever you convert a float number to an integer variable in Python, your float number will round down to the nearest integer. This is because the int() function trims the numbers after the decimal, returning the integer number.

floatnumber = 5.5 newinteger = int(floatnumber) print(newinteger) 

You could also make an int variable just by utilize the int() variable when you are assigning a variable from the beginning.

For instance, running this code:

integer_variable = int(6) type(integer_variable) 

In summary: which one of the following is an integer variable?

Источник

Читайте также:  My html page
Оцените статью