Python str() 関数

Python3 組み込み関数


str()str() はPythonで最もよく使われる組み込み関数の1つで、他の型のデータを文字列型に変換するために使用されます。

文字列はPythonで最もよく使われるデータ型の1つです。str()この関数を使うと、数値、リスト、タプルなどを文字列に変換でき、出力や連結に便利です。

単語の意味: strであるstring(文字列)の略です。


基本構文と引数

str()組み込み関数であり、直接呼び出すことができます。

構文形式

str(object)
str(object, encoding)
str(object, errors)

引数の説明

  • 引数 object:
    • 型: 任意のオブジェクト
    • 説明: 文字列に変換するオブジェクト。
  • 引数 encoding(オプション):
    • 型: 文字列
    • 説明: エンコーディング形式(例: 'utf-8', 'gbk')。
  • 引数 errors(オプション):
    • 型: 文字列
    • 説明: エラーの処理方法。デフォルトは 'strict'(例外をスロー)。他のオプション: 'ignore', 'replace'。

関数の説明

  • 戻り値: 文字列オブジェクトを返します。
  • デフォルトの動作: 引数なしの場合は空文字列を返します""。

例

例を通してstr()の使い方を学びましょう。

例1:基本の使い方 - 各種型の変換

例

# 整数を文字列に変換
print(str(123))           # 出力: 123
print(type(str(123)))     # 出力: <class 'str'>

# 浮動小数点数を文字列に変換
print(str(3.14159))       # 出力: 3.14159

# ブール値を文字列に変換
print(str(True))          # 出力: True
print(str(False))         # 出力: False

# リストを文字列に変換
print(str([1, 2, 3]))     # 出力: [1, 2, 3]

# タプルを文字列に変換
print(str((1, 2, 3)))     # 出力: (1, 2, 3)

# 辞書を文字列に変換
print(str({"name": "Tom", "age": 20}))  # 出力: {'name': 'Tom', 'age': 20}

# 空の引数
print(str())              # 出力: (空行)

実行結果の期待値:

123
<class 'str'>
3.14159
True
False
[1, 2, 3]
(1, 2, 3)
{'name': 'Tom', 'age': 20}

コードの解説:

  1. 数値を文字列に変換する場合、元の数値表現が維持されます。
  2. ブール値を文字列に変換する場合、先頭文字が大文字になります。
  3. リスト、タプル、辞書などのコンテナ型は、それらの文字列表現に変換されます。

例2:文字列の連結

例

name = "Tom"
age = 20
height = 1.75

# str() で変換してから連結
info = name + " " + str(age) + "歳 " + str(height) + "メートル"
print(info)  # 出力: Tom 20歳 1.75メートル

# f-stringを使用(推奨方法)
info = f"{name} {age}歳 {height}メートル"
print(info)  # 出力: Tom 20歳 1.75メートル

# フォーマット出力
print("名前: " + str(name))  # 出力: 名前: Tom

実行結果の期待値:

Tom 20岁 1.75米
Tom 20岁 1.75米
姓名: Tom

コードの解説:

  • str()変換後はプラス記号で文字列を連結できます。
  • 現代のPythonでは、f-stringを使用した文字列フォーマットが推奨されており、より簡潔で読みやすくなります。

例3:バイトとエンコーディングの処理

例

# バイト文字列を文字列に変換(エンコーディングを指定する必要があります)
data = b"Hello"
s = str(data, encoding='utf-8')
print(s)  # 出力: Hello

# エンコーディングエラーの処理
data = b"Hello\x80"
s = str(data, encoding='utf-8', errors='ignore')
print(s)  # 出力: Hello(不正なバイトを無視)

s = str(data, encoding='utf-8', errors='replace')
print(s)  # 出力: Hello(置換文字で置き換え)

実行結果の期待値:

Hello
Hello
Hello

この例ではstr()バイトとエンコーディングを処理する際の使い方を説明しています。


Python3 組み込み関数


その他の拡張