Python プログラムの基本(続き)
組込み関数
Python には多数の便利な組み込み関数が存在し、それらは宣言等の必要なしに使うことができます.詳細は Python 公式ドキュメントで参照できますが、ここでは代表的なもののみ紹介します.
数値計算(最大・最小値、絶対値、除算と剰余、合計・べき乗)
- max(x) :最大値、min(x) :最小値
max(x) / min(x) は、複数の引数・要素から最大値・最小値をそれぞれ取得します.
>>> x = [10, 22, 30, 34, 15]
>>>
>>> print(max(x))
34
>>>
>>> print(min(x))
10
>>>
- abs(x) :絶対値
数値xの絶対値を返します.引数が複素数 a+bj の場合は sqrt(a^2 + b^2) の値を返します.
>>> x = 3
>>> abs(x)
3
>>>
>>> x = -5.8
>>> abs(x)
5.8
>>>
>>> x = 5 + 12j
>>> abs(x)
13.0
>>>
- divmod(x, y) :除算と剰余
整数同士の除算の商と剰余を同時に取得します.
>>> print(divmod(30, 4))
(7, 2)
>>>
- sum(x) :合計
数値の合計を取得します.
>>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> sum(x)
55
>>>
- pow(x, y) :べき乗
数値のべき乗を取得します.
>>> print(pow(2, 10))
1024
>>>
データ生成・型変換
- bin(x) :2進文字列への変換
整数値を、先頭に”0b”の付いた2進数文字列に変換します.
>>> x = 10
>>> print(bin(x))
0b1010
>>> print(type(bin(x)))
<class 'str'>
>>>
- bool(x) :真偽判定
Python 標準の真理値判定方法に基づいて、True または False の bool 値を返します.下記のようなオブジェクトの場合には偽と判定されます.
– 偽であると定義されている定数: None と False
– 数値型におけるゼロ: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
– 空のシーケンスまたはコレクション: ”, (), [], {}, set(), range(0)
>>> x = 0
>>> print(bool(x))
False
>>>
>>> x = 6
>>> print(bool(x))
True
>>>
>>> print(type(bool(x)))
<class 'bool'>
>>>
- complex(x, y) :複素数への変換
文字列や数を複素数に変換します.第一引数が文字列であれば、それが複素数と解釈されます.x, y が数の場合,x + yj の複素数を返します.
>>> print(complex(1))
(1+0j)
>>>
>>> print(complex(5, 12))
(5+12j)
>>>
>>> print(complex('4+8j'))
(4+8j)
>>>
- dict(x) :辞書型データの生成
新しい辞書型データを作成します.
>>> y = dict(one=1, two=2, three=3)
>>> print(y)
{'one': 1, 'two': 2, 'three': 3}
>>>
>>> print(type(y))
<class 'dict'>
>>>
>>> print(dict([('two', 2), ('one', 1), ('three', 3)]))
{'two': 2, 'one': 1, 'three': 3}
>>>
- float(x) :浮動小数点数への変換
数または文字列から浮動小数点数を返します.
>>> x = 27
>>> print(float(x))
27.0
>>>
>>> print(type(float(x)))
<class 'float'>
>>>
- hex(x) :16進文字列への変換
整数値を、先頭に”0x”の付いた16進数文字列に変換します.
>>> x = 18
>>> print(hex(x))
0x12
>>>
>>> print(type(hex(x)))
<class 'str'>
>>>
- int(x) :整数値への変換
数または文字列から整数型オブジェクトを返します.
>>> x = 18.0
>>> print(int(x))
18
>>>
>>> print(type(int(x)))
<class 'int'>
>>>
- oct(x) :8進文字列への変換
整数値を、先頭に”0o”の付いた8進数文字列に変換します.
>>> x = 18
>>> print(oct(x))
0o22
>>>
>>> print(type(oct(x)))
<class 'str'>
>>>
- str(x) :文字列への変換
指定したオブジェクトを文字列に変換します.
>>> i = 100
>>> c = 1+8j
>>>
>>> print('i = ' + str(i) + '.')
i = 100.
>>>
>>> print('c = ' + str(c) + '.')
c = (1+8j).
>>>
その他
- len(x) :オブジェクトの長さ
オブジェクトの長さ (要素の数) を返します.
>>> x = [1, 2, 3, 4, 5]
>>> print(len(x))
5
>>>
>>> y = dict(one=1, two=2, three=3)
>>> print(len(y))
3
>>>
- open(file, mode) :ファイルを開く
ファイルを開き、対応するファイルオブジェクトを返します.
第一引数 file はファイル名、第二引数 mode はファイルをどのように使うかを示し、ファイルが読み出し専用なら ‘r’ 、書き込み専用 (同名の既存のファイルがあれば消去されます) なら ‘w’ とします.
>>> f = open('sample_text.txt', 'w')
>>> f.write('Write\n')
6
>>> print('This will be written to sample_text.txt', file=f)
>>>
>>> f.close()
>>>
- print(x) :画面やファイルに出力
オブジェクトを画面やファイルに表示・出力します.
>>> st = 'string'
>>> i = 100
>>> c = 1+8j
>>> print('This is test ' + st + '.')
This is test string.
>>> print('i = ' + str(i) + '.')
i = 100.
>>> print('c = ' + str(c) + '.')
c = (1+8j).
>>>