Введение
В этом практическом занятии (lab) вы научитесь определять, является ли число в Python целым числом (integer) или числом с плавающей точкой (float). Практическое занятие начинается с различия между целыми числами и числами с плавающей точкой, где подчеркиваются их ключевые характеристики и приводятся примеры.
Затем вы изучите два метода проверки типа данных числа: использование функции isinstance() с int и использование функции type() для точной проверки. В ходе практических упражнений вы создадите скрипт на Python для идентификации и различения целых и вещественных типов данных, закрепив тем самым свое понимание проверки типов данных в Python.
Различия между целыми числами и числами с плавающей точкой
На этом этапе вы научитесь различать два основных типа данных в Python: целые числа (integer) и числа с плавающей точкой (float). Понимание различий между ними является важным для выполнения точных вычислений и манипуляций с данными.
Целые числа (int)
Целые числа - это целые значения, положительные или отрицательные, без какой-либо десятичной части. Примеры: -3, 0, 5, 100.
Числа с плавающей точкой (float)
Числа с плавающей точкой, или вещественные числа, - это числа, содержащие десятичную точку. Они также могут представлять числа в научной нотации. Примеры: -2.5, 0.0, 3.14, 1.0e5 (что равно 100000.0).
Начнем с создания скрипта на Python для изучения этих типов данных.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
datatypes.pyв директории~/project.touch ~/project/datatypes.pyОткройте файл
datatypes.pyв редакторе и добавьте следующий код на Python:## Assign an integer to the variable 'integer_number' integer_number = 10 ## Assign a float to the variable 'float_number' float_number = 10.0 ## Print the values and their types print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number))Сохраните файл
datatypes.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/datatypes.pyВы должны увидеть следующий вывод:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'>Этот вывод четко показывает, что
integer_numberимеет типint, аfloat_numberимеет типfloat.Теперь выполним простую арифметическую операцию, чтобы увидеть, как Python обрабатывает эти типы:
Измените файл
datatypes.py, добавив следующее:## Assign an integer to the variable 'integer_number' integer_number = 10 ## Assign a float to the variable 'float_number' float_number = 10.0 ## Print the values and their types print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Add an integer and a float sum_result = integer_number + float_number ## Print the result and its type print("Sum:", sum_result, "Type:", type(sum_result))Сохраните файл
datatypes.py.Запустите скрипт еще раз:
python ~/project/datatypes.pyВы должны увидеть следующий вывод:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'>Обратите внимание, что при сложении целого числа и числа с плавающей точкой результатом является число с плавающей точкой. Это происходит потому, что Python автоматически преобразует целое число в число с плавающей точкой, чтобы сохранить точность.
Использование функции isinstance() с типом int
На этом этапе вы научитесь использовать функцию isinstance() для проверки, является ли переменная целым числом. Эта функция представляет собой мощный инструмент для проверки типов данных в Python.
Функция isinstance() принимает два аргумента:
- Переменную, которую вы хотите проверить.
- Тип данных, с которым вы хотите сравнить переменную (например,
int,float,str).
Она возвращает True, если переменная имеет указанный тип, и False в противном случае.
Давайте изменим файл datatypes.py из предыдущего шага, чтобы включить функцию isinstance().
Откройте файл
datatypes.pyв редакторе VS Code.Добавьте следующий код в файл:
## Assign an integer to the variable 'integer_number' integer_number = 10 ## Assign a float to the variable 'float_number' float_number = 10.0 ## Print the values and their types print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Add an integer and a float sum_result = integer_number + float_number ## Print the result and its type print("Sum:", sum_result, "Type:", type(sum_result)) ## Check if integer_number is an integer is_integer = isinstance(integer_number, int) print("Is integer_number an integer?", is_integer) ## Check if float_number is an integer is_integer = isinstance(float_number, int) print("Is float_number an integer?", is_integer)Сохраните файл
datatypes.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/datatypes.pyВы должны увидеть следующий вывод:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'> Is integer_number an integer? True Is float_number an integer? FalseКак вы можете видеть,
isinstance(integer_number, int)возвращаетTrue, потому чтоinteger_numberдействительно является целым числом.isinstance(float_number, int)возвращаетFalse, потому чтоfloat_number- это число с плавающей точкой, а не целое число.
Эта функция особенно полезна, когда вам нужно выполнять разные действия в зависимости от типа данных переменной. Например, вы можете захотеть выполнить целочисленное деление, если переменная является целым числом, и деление с плавающей точкой, если это число с плавающей точкой.
Проверка точности с использованием функции type()
На этом этапе вы узнаете, как функция type() может быть использована для понимания точности чисел в Python. В то время как функция isinstance() проверяет, принадлежит ли переменная определенному типу, функция type() возвращает фактический тип переменной. Это полезно для понимания того, как Python обрабатывает различные числовые операции и какова точность их результатов.
Продолжим изменять файл datatypes.py, чтобы продемонстрировать это.
Откройте файл
datatypes.pyв редакторе VS Code.Добавьте следующий код в файл:
## Assign an integer to the variable 'integer_number' integer_number = 10 ## Assign a float to the variable 'float_number' float_number = 10.0 ## Print the values and their types print("Integer:", integer_number, "Type:", type(integer_number)) print("Float:", float_number, "Type:", type(float_number)) ## Add an integer and a float sum_result = integer_number + float_number ## Print the result and its type print("Sum:", sum_result, "Type:", type(sum_result)) ## Check if integer_number is an integer is_integer = isinstance(integer_number, int) print("Is integer_number an integer?", is_integer) ## Check if float_number is an integer is_integer = isinstance(float_number, int) print("Is float_number an integer?", is_integer) ## Perform division with integers division_result = integer_number / 3 print("Division result:", division_result, "Type:", type(division_result)) ## Perform integer division with integers integer_division_result = integer_number // 3 print("Integer division result:", integer_division_result, "Type:", type(integer_division_result))Сохраните файл
datatypes.py.Запустите скрипт с помощью команды
pythonв терминале:python ~/project/datatypes.pyВы должны увидеть следующий вывод:
Integer: 10 Type: <class 'int'> Float: 10.0 Type: <class 'float'> Sum: 20.0 Type: <class 'float'> Is integer_number an integer? True Is float_number an integer? False Division result: 3.3333333333333335 Type: <class 'float'> Integer division result: 3 Type: <class 'int'>Обратите внимание на следующее:
- При делении двух целых чисел с использованием оператора
/результатом является число с плавающей точкой, даже если результатом является целое число. Это происходит потому, что Python стремится предоставить наиболее точный результат. - При использовании оператора
//(целочисленное деление) результатом является целое число, при этом любая дробная часть отбрасывается.
- При делении двух целых чисел с использованием оператора
Понимание этих нюансов является важным для написания точного и эффективного кода на Python, особенно при работе с числовыми вычислениями.
Резюме
В этом практическом занятии (лабораторной работе) вы научились различать целые числа (integers) и числа с плавающей точкой (floats) в Python. Целые числа - это числа без десятичной точки, в то время как числа с плавающей точкой содержат десятичную точку. Вы создали скрипт на Python, чтобы присвоить целочисленные и вещественные значения переменным, а затем напечатали эти значения вместе с их соответствующими типами с использованием функции type(). Вывод показал, что переменные, которым присвоены целые числа, имеют тип int, а те, которые содержат десятичную точку, имеют тип float.



