SWELL公式サイトへ 詳しくはこちら

1.2 Pythonの基礎

  • URLをコピーしました!
目次

1.2.1 スカラー型

スカラー型とは、プログラミング言語などに用意されているデータ型の分類の一つで、単一の値を表したり格納する型のこと。Python組み込みのライブラリには、数値データ、文字列、真偽値(TrueまたはFalse)、日付と時刻データといった標準の型が用意されています。

定義
int任意の大きさの符号付整数。
float倍精度(64ビット)浮動小数点数。
bytesASCIIバイト列、もしくは文字列を符号化したバイト列。
bool真偽値(True または False)
str文字列型 Unicode(文字列符号化方式はUTF-8)
Noneヌル、何もない状態を表す。
Python標準のスカラー型

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における「ヌル」(何もない、カラを指す)です。

よかったらシェアしてね!
  • URLをコピーしました!
目次