1.2.1 スカラー型
スカラー型とは、プログラミング言語などに用意されているデータ型の分類の一つで、単一の値を表したり格納する型のこと。Python組み込みのライブラリには、数値データ、文字列、真偽値(TrueまたはFalse)、日付と時刻データといった標準の型が用意されています。
型 | 定義 |
---|---|
int | 任意の大きさの符号付整数。 |
float | 倍精度(64ビット)浮動小数点数。 |
bytes | ASCIIバイト列、もしくは文字列を符号化したバイト列。 |
bool | 真偽値(True または False) |
str | 文字列型 Unicode(文字列符号化方式はUTF-8) |
None | ヌル、何もない状態を表す。 |
1.2.1.1 数値型
Pythonの最も重要な型はintとfloatでしょう。
int_val = 123456789
print(int_val ** 5)
<出力>
28679718602997181072337614380936720482949
Pythonでの浮動小数点はfloat型として扱われます。これは倍精度(64ビット)の値となります。小数を表現するのに科学的表記(浮動小数点表記)を用いることもできます。
#float_val1とfloat_val2は同値
float_val1 = 0.245
float_val2 = 2.45e-1 #浮動小数点表記 2.45x10^(-1)
整数同士を割り算したとき、割り切れない場合には浮動小数点数が得られます。
また、整数同士の割り算で商のみを得たい場合、//演算子を用います。
print(1 / 2)
<出力>
0.5
print(1 // 2)
<出力>
0
1.2.1.2 文字列
文字列リテラル1を作成するには、シングルコーテーション’もしくはダブルコーテーション” で文字列を囲みます。複数行の文字列を扱う場合には3つの引用符”’もしくは”””を使います。
str_a = 'one two three'
str_b = "four five six seven"
str_c = """
I'm learning python avidly.
I want to become a full-fledged programmer as soon as possible.
"""
print(str_c)
Pythonでは文字列は不変(immutable)です。次の例で、文字列自体の変更ができないことを確認しましょう。
str_a = 'this is a pen.'
str_a[10] = 'ff'
---------------------------------------------------------------------------
Traceback (most recent call last):
File "c:/Users/Owner/Desktop/Python_File/test.py", line 3, in <module>
str_a[10] = 'ff'
TypeError: 'str' object does not support item assignment
直接文字列str_aを変更することはできないものの、replaceメソッドで操作した結果を新しい変数str_bに格納することができます。このように置換した後も、元の変数str_a自体は変化していません。
str_a = 'this is a pen.'
#str_a[10] = 'ff'
str_b = str_a.replace('pen', 'book')
print('変数str_b:', str_b)
print('変数str_a:', str_a)
<出力>
変数str_b: this is a book.
変数str_a: this is a pen.
str関数を用いることで、多くのPythonオブジェクトを文字列形式に変換できる。それぞれの変数の型を調べるためtype()関数を使用。
a = 9.8
b = str(a)
print('変数aの型:', type(a))
print('変数bの型:', type(b))
<出力>
変数aの型: <class 'float'>
変数bの型: <class 'str'>
Pythonでは、文字列の実体はUnicode文字のシーケンス2として表現されます。後述するリストやタプルといったシーケンス型のオブジェクトと同様に、以下のような操作が可能です。
s = 'python'
print(list(s))
print(s[:3])
<出力>
['p', 'y', 't', 'h', 'o', 'n']
pyt
s[:3]という記法はスライシング3と呼ばれ、多くのPythonのシーケンス型に適用できる操作です。
1.2.1.3 真偽値型
Pythonの真偽値型はTrueとFalseで定義されます。比較演算を含めたすべての条件判断では、TrueであるかFalseであるかを判定します。真偽値型の値同士をandまたはorで結合し計算することができる。
print(True and True)
print(False or True)
1.2.1.4 キャスト
str, bool, int, floatはそれぞれ関数としても動作する。与えられた引数をその型に変換します。
string = '3.14159' #変数stringは文字列型
float_val = float(string)
print('float_valの型は:', type(float_val))
print('float_valをintでキャストすると値は:', int(float_val))
print('float_valをboolでキャストすると値は:', bool(float_val))
<出力>
float_valの型は: <class 'float'>
float_valをintでキャストすると値は: 3
float_valをboolでキャストすると値は: True
1.2.1.5 None
NoneはPythonにおける「ヌル」(何もない、空を指す)です。
![](https://xkenxkenx.com/wp-content/uploads/2023/11/4ceda3d35464aca5370521e2d6b9dd16-300x158.png)