Python 에서 변수가 문자열인지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 변수가 문자열인지 확인하는 방법을 배우게 됩니다. 이는 기본적인 문자열 데이터 유형을 이해하고 문자열을 식별하는 방법을 탐구하는 것을 포함합니다.

먼저, 단일, 이중 및 삼중 따옴표를 사용하여 문자열을 생성하고 조작하는 방법을 배우고, 여기에는 여러 줄 문자열도 포함됩니다. 그런 다음, type() 함수와 isinstance() 함수를 사용하여 변수가 문자열 값을 가지고 있는지 확인하는 방법을 배우게 됩니다.

Python 문자열 이해

이 단계에서는 Python 의 문자열에 대해 배우게 됩니다. 문자열은 텍스트를 나타내는 데 사용되며, 프로그래밍에서 가장 기본적인 데이터 유형 중 하나입니다. 문자열을 생성하는 방법, 문자열을 사용하는 방법, 그리고 문자열에 대해 수행할 수 있는 몇 가지 일반적인 연산을 살펴보겠습니다.

먼저, VS Code 편집기를 사용하여 ~/project 디렉토리에 string_examples.py라는 Python 파일을 생성해 보겠습니다.

문자열은 작은따옴표 ('...') 또는 큰따옴표 ("...") 를 사용하여 생성할 수 있습니다. 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() 함수를 사용하여 확인

이 단계에서는 Python 에서 변수의 데이터 유형을 확인하기 위해 type() 함수를 사용하는 방법을 배우게 됩니다. 이는 작업 중인 데이터 종류를 이해하고 코드를 디버깅하는 데 유용한 도구입니다.

이전 단계에서 생성한 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()numberint (정수), decimalfloat (부동 소수점 숫자), booleanbool (부울) 임을 보여줍니다.

type()을 사용하는 것은 Python 에서 변수의 데이터 유형을 확인하는 간단한 방법입니다. 이는 다양한 유형의 데이터를 사용하고 있고 올바른 연산을 수행해야 할 때 유용할 수 있습니다.

isinstance() 함수로 확인

이 단계에서는 Python 에서 isinstance() 함수를 사용하여 객체가 특정 클래스 또는 유형의 인스턴스인지 확인하는 방법을 배우게 됩니다. 이는 변수의 데이터 유형을 확인하는 또 다른 방법이며, 상속 및 사용자 정의 클래스를 사용할 때 특히 유용할 수 있습니다.

계속해서 작업해 온 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)string1이 문자열이므로 True를 반환합니다. 마찬가지로, isinstance(number, int)number가 정수이므로 True를 반환하는 등입니다. 그러나 isinstance(string1, int)string1이 정수가 아니므로 False를 반환합니다.

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)objMyClass의 인스턴스이므로 True를 반환합니다.

isinstance()를 사용하는 것은 Python 에서 객체의 유형을 확인하는 강력한 방법이며, 특히 상속 및 사용자 정의 클래스를 사용할 때 유용합니다. 이를 통해 다양한 유형의 데이터를 올바르게 처리할 수 있는 더 강력하고 유연한 코드를 작성할 수 있습니다.

요약

이 랩에서는 Python 에서 텍스트를 나타내는 기본 데이터 유형인 문자열에 대한 이해에 중점을 둡니다. 작은 따옴표, 큰 따옴표, 그리고 여러 줄 문자열을 위한 삼중 따옴표를 사용하여 문자열을 생성하는 방법을 다룹니다. 문자열이 숫자, 기호 및 공백을 포함할 수 있는 방법을 보여주는 예시가 제공됩니다.

이 랩은 사용자에게 string_examples.py 파일을 생성하고, 다양한 문자열 예제를 추가하고, python 명령을 사용하여 스크립트를 실행하여 출력을 관찰하도록 안내합니다. 이러한 실습 방식은 Python 에서 문자열 생성 및 조작에 대한 이해를 강화합니다.