Как проверить, является ли переменная строкой в Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ObjectOrientedProgrammingGroup -.-> python/classes_objects("Classes and Objects") subgraph Lab Skills python/variables_data_types -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} python/numeric_types -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} python/strings -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} python/booleans -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} python/build_in_functions -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} python/classes_objects -.-> lab-559603{{"Как проверить, является ли переменная строкой в Python"}} end

Понимание строк в Python

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

Сначала создадим файл Python с именем string_examples.py в каталоге ~/project с помощью редактора VS Code.

Строки можно создавать с использованием одинарных кавычек ('...') или двойных кавычек ("..."). Добавим несколько примеров в файл string_examples.py:

## Creating strings
string1 = 'Hello, LabEx!'
string2 = "Python is fun"

print(string1)
print(string2)

Сохраните файл. Теперь запустим этот скрипт с помощью команды python в терминале:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun

Строки также могут содержать числа, символы и пробелы:

string3 = "12345"
string4 = "!@#$%^"
string5 = "This is a sentence."

print(string3)
print(string4)
print(string5)

Добавьте эти строки в файл string_examples.py и запустите его снова:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.

Python также поддерживает многострочные строки с использованием тройных кавычек ('''...''' или """..."""):

string6 = '''This is a
multi-line string.'''

string7 = """This is another
multi-line string."""

print(string6)
print(string7)

Добавьте эти строки в файл string_examples.py и запустите его снова:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.

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

Использование функции type() для проверки

На этом этапе вы узнаете, как использовать функцию type() в Python для проверки типа данных переменной. Это полезный инструмент для понимания того, с какими данными вы работаете, и для отладки кода.

Продолжим использовать файл string_examples.py, который вы создали на предыдущем этапе. Добавим некоторый код для проверки типов переменных, которые мы определили.

Функция type() возвращает тип объекта. Например, если у вас есть строковая переменная, type() вернет <class 'str'>.

Добавьте следующие строки в файл string_examples.py:

## Checking the type of variables
print(type(string1))
print(type(string2))
print(type(string3))

Сохраните файл. Теперь запустим скрипт с помощью команды python в терминале:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>

Как вы можете видеть, функция type() подтверждает, что string1, string2 и string3 имеют тип str, что означает "строка".

Теперь добавим другие типы переменных, чтобы увидеть, как работает функция type() с ними. Добавьте следующие строки в файл string_examples.py:

## Checking the type of other variables
number = 10
decimal = 3.14
boolean = True

print(type(number))
print(type(decimal))
print(type(boolean))

Сохраните файл и запустите его снова:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

Здесь функция type() показывает, что number имеет тип int (целое число), decimal - тип float (число с плавающей точкой), а boolean - тип bool (логическое значение).

Использование функции type() - простой способ проверить тип данных переменной в Python. Это может быть полезно, когда вы работаете с разными типами данных и должны убедиться, что выполняете правильные операции.

Проверка с использованием isinstance()

На этом этапе вы узнаете, как использовать функцию isinstance() в Python для проверки, является ли объект экземпляром определенного класса или типа. Это еще один способ проверить тип данных переменной, и он может быть особенно полезен при работе с наследованием и пользовательскими классами.

Продолжим использовать файл string_examples.py, с которым вы работали ранее. Добавим некоторый код, чтобы продемонстрировать, как работает функция isinstance().

Функция isinstance() принимает два аргумента: объект, который вы хотите проверить, и класс или тип, с которым вы хотите сравнить объект. Она возвращает True, если объект является экземпляром указанного класса или типа, и False в противном случае.

Добавьте следующие строки в файл string_examples.py:

## Checking with isinstance()
print(isinstance(string1, str))
print(isinstance(number, int))
print(isinstance(decimal, float))
print(isinstance(boolean, bool))
print(isinstance(string1, int))

Сохраните файл. Теперь запустим скрипт с помощью команды python в терминале:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False

Как вы можете видеть, isinstance(string1, str) возвращает True, потому что string1 - это строка. Аналогично, isinstance(number, int) возвращает True, потому что number - это целое число, и так далее. Однако isinstance(string1, int) возвращает False, потому что string1 не является целым числом.

Функцию isinstance() можно также использовать с пользовательскими классами. Например:

class MyClass:
    pass

obj = MyClass()

print(isinstance(obj, MyClass))

Добавьте эти строки в файл string_examples.py и запустите его снова:

python ~/project/string_examples.py

Вы должны увидеть следующий вывод:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False
True

Здесь isinstance(obj, MyClass) возвращает True, потому что obj является экземпляром MyClass.

Использование функции isinstance() - мощный способ проверить тип объекта в Python, особенно при работе с наследованием и пользовательскими классами. Это позволяет писать более надежный и гибкий код, который может корректно обрабатывать разные типы данных.

Резюме

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

В рамках практического занятия пользователи получают инструкции по созданию файла string_examples.py, добавлению различных примеров строк и запуску скрипта с помощью команды python для просмотра вывода. Такой практический подход помогает укрепить понимание создания и манипулирования строками в Python.