Python で変数が文字列かどうかをチェックする方法

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、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 の文字列について学びます。文字列はテキストを表すために使用され、プログラミングにおける最も基本的なデータ型の 1 つです。文字列の作成方法、操作方法、および文字列に対して実行できる一般的な操作について探索します。

まず、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() 関数によって string1string2string3 がすべて 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() 関数は 2 つの引数を取ります。チェックしたいオブジェクトと、それをチェックする対象のクラスまたは型です。オブジェクトが指定されたクラスまたは型のインスタンスであれば 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 での文字列の作成と操作の理解が強化されます。