python

python

python入門~数値と文字列の違い | 独学プログラミング

続けては前回の記事でも触れた数値と文字列の違いについて見ていきます

数値と文字列の違い

確か文字列はダブルクォーテーションで囲う、数値は囲わないという違いだったよね
そうですね。前回の例から見ていきましょう

ここから実際に自分の環境でもコピペして試してみましょう。注意書きに記載のとおり、実際のコードは2行目までなので注意してください。

# 文字列にしてprintを実行
print("123")

# 実行結果
123

#(シャープ)で始まる行はコメント行と言って実行に影響を及ぼさない書き方です。処理の意図などをコメントするために利用します。

※実行結果は2行目をpython XXX.pyで実行した表示結果を合わせて載せています。

前回のHello worldとは文字の違いだけだね
続けて数値にしてみましょう
# 文字列にしてprintを実行
print(123)

# 実行結果
123
一緒だね・・・
そうですね、print文が処理してくれるので分かりづらいですが、数値でも文字列でも問題なく表示できます
ちなみに文字を数値として表示しようとするとエラーになります
# 文字列にしてダブルクォーテーションを付けずにprintを実行
print(hello)

# 実行結果
NameError: name 'hello' is not defined
意味不明なエラーが。。。
次回の記事で扱うのですが、変数として処理しようとすると"hello"っていう変数が定義されてないよ。というエラーになってしまいます

内部処理が異なる

結果が違うのは理解したけど、、数値だけの時はダブルクォーテーションをつけないって考え方であってる?
いえ、今回の例の123を数値として利用するか文字列として利用するかは明確にする必要があります
もう1つ例を見てみましょう
# 数値同時で+演算子で繋げる
print(123 + 456)

# 実行結果
579
足し算になってる!
足すで2つの数値を繋げてあげることで足し算ができます。他にもマイナスを使って引き算など四則演算が可能です
続けて文字列でやってみますね
# 文字列同時で+演算子で繋げる
print("123" + "456")

# 実行結果
123456
これは・・文字が繋がっているのかな
このように数値か文字列かで結果が変わってきます

上記例の通り、内部的には数値と文字列は全く別なものになります。

また+のような演算子は他にも様々な種類があります。

演算子 使い方
+ 足し算
- 引き算
* 掛け算
/ 割り算
% 余り

他にも様々な演算子があるのですが、実際に主に利用されるものだけを紹介しています。

掛け算や割り算の演算子はプログラミング特有の記号(アスタリスクとスラッシュ)が使われているため、覚えておきましょう。

また実際の処理の中で余りの計算も使われることが多いため、合わせて覚えておくと便利です。

演算子は他言語の定義もほぼ同じなので、確実に覚えておきましょう

ちなみに数式の計算順は通常の四則演算と同じです。

・カッコが優先
・掛け算と割り算を優先

以下が組み合わせた例です。例のように1行の中に複数の演算子を利用することが可能です。

# カッコ内計算→掛け算→足し算として処理される
print((1 + 2) * 2 + 3)

# 実行結果
9
演算子を覚えておけば分かりやすいね

python入門~数値と文字列の違い まとめ

今回の記事では数値と文字列の挙動の違いについてお話しました。

また別の記事でも紹介しますが、pythonには様々な数値と文字列以外にも様々な型が存在します。
※数値の中でも整数型と浮動小数点型があります

今は詳しく覚えなくてもよいですが、型という概念があること、いまどの型で扱っているかを意識することが重要である点は覚えておいてください。

ちなみに型情報の違いによるエラーは実際の業務でも起きうるバグで、あるあるネタとなっています。

次回は変数の概念について説明していきます。

python入門~変数の使い方

補足~本ページQ&A

文字列の+の処理について

文字列同士に足し算の演算子を使うと結合されると考えてよい??
文字列同士の場合は+という記号が文字列結合の役割を果たすと覚えておいたほうが良いです

例えば文字列同士を*(アスタリスク)で処理しようとすると役割が存在しないのでエラーになってしまいます

整数型と浮動小数点型の話

以下の例が分かりやすいので見てみましょう
print(1 + 0.2)

# 実行結果
1.2
1が整数型、0.2が浮動小数点型、結果の1.2も浮動小数点型ですね

-python
-

Copyright© ビギナープログラミング , 2020 All Rights Reserved.