ゼロからのPython入門講座文字列と入出力 文字列

文字列と入出力文字列print() 関数input() 関数文字列の演算子と数値メソッド

Pythonでは、文章や人名などの文字からなるデータを、文字列(string) といいます。

これまで使ってきた数値データは、123456 のように、ソースコードに数字をそのまま書けば数値データとして使えました。

In [13]:
123
Out[13]:
123
In [14]:
456
Out[14]:
456

文字列をソースコードに書く場合には、数値と違って、文字の前後を "(ダブルクォテーション) か '(シングルクォテーション) で囲んで記述します。

In [126]:
"Python Programming!"
Out[126]:
'Python Programming!'
In [127]:
'Python Programming!'
Out[127]:
'Python Programming!'

" でも ' でも、結果は一緒です。好きな方を使ってかまいません。本講座では、基本的に " を使います。 「好きな方と言われても困る」という方は、とりあえず " に統一するといいかもしれません。でも、本当にどっちでもいいんです。

文字と数字のちがい

数値データ と、数字からなる文字列 の違いに注意してください。

123456 は、数値データです。数値データですから、数値同士の演算ができます。123 * 456 という式は、数値データ 123456 の乗算を行います。

In [16]:
123 * 456
Out[16]:
56088

しかし、123 にダブルクオーテーションマークをつけた "123" は、数値の123 ではありません。見た目はよく似ていますが、こちらは 123の3つの文字が並んだ、文字列の123 です。

"123" は数字ではありませんから、乗算などの、数値に用意された演算などは行なえません。"Hello" * "World" の掛け算をしろ、と言われても困ってしまいます。ですから、文字列データ同士の乗算は、次のようにエラーになります。

In [17]:
"123" * "456"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-e785b559eedc> in <module>
----> 1 "123" * "456"

TypeError: can't multiply sequence by non-int of type 'str'

このように、数値 と、文字列 は、まったく違う種類のデータなのです。

Copyright © 2001-2021 python.jp Privacy Policy python_japan
Amazon.co.jpアソシエイト
Amazonで他のPython書籍を検索