今回はPython初心者の方向けに、Pythonでプログラム作成するときに利用すると便利な、標準ライブラリで用意されている機能の一部を紹介します。簡単なサンプルコードも記載しますので、ぜひ実際に動かして動作を確認してみてください。
また、Pythonのプログラミングを習得するためのステップを以下の記事で解説していますので、こちらもあわせてご覧ください。
Pythonの標準ライブラリ
Python には多くの機能が標準ライブラリとして用意されており、これらを使用することで、様々な処理を簡単に実装することができます。標準ライブラリは追加でのインストールを必要とせず、import文を書くだけで使用することができます。
標準ライブラリで用意されているモジュールは以下のようなものがあります。
- math: 数学的な計算を行うための関数が用意されています。例えば、sin、cos、tan、log、sqrtなどがあります。
- random: 乱数を生成するための関数が用意されています。例えば、randint、random、shuffleなどがあります。
- os: OSの文件やディレクトリ操作を行うための関数が用意されています。例えば、getcwd、mkdir、renameなどがあります。
- sys: Python インタプリタやシステムに関する情報を取得するための関数が用意されています。例えば、argv、exitなどがあります。
- json : json形式のデータの読み書きをする関数が用意されています。
- re : 正規表現を使って文字列操作をするための関数が用意されています。
datetime : 日時に関する操作をするための関数が用意されています。
今回紹介する以外のモジュールの使い方はPythonの公式ドキュメントで詳しく解説されていますので、こちらも合わせてご利用ください。
Python公式ドキュメント
全て覚えなくても、「確か標準ライブラリでこんな機能があったな?」くらいにゆるく思い出してもらえればOKです。必要になった時にこのページやPythonの公式ドキュメントで使い方を再確認してください。
今回はこれらのモジュールの使い方の一部を紹介していきます。
また、Pythonを体系的に学びたい方や途中で挫折するのが心配の方には、Pythonをオンラインで自宅で自分のペースで学べるプログラミングスクールも以下の記事で紹介していますので、あわせてご覧ください。
mathモジュール
mathモジュールは、Python 標準ライブラリの一部で、数学的な計算を行うための関数が用意されています。
mathモジュールを使用するには、以下のように mathモジュールをインポートする必要があります。
import math
- math.ceil(x): x 以上の最小の整数値を返します。
- math.floor(x): x 以下の最大の整数値を返します。
- math.sqrt(x): x の平方根を返します。
- math.pow(x, y): x の y 乗を返します。
- math.exp(x): e の x 乗を返します。
- math.log(x, [base]): x の自然対数(base = math.e)または対数(base = 10)を返します。
- math.log10(x): x の常用対数を返します。
- math.sin(x), math.cos(x), math.tan(x): 三角関数の値を返します。(xにはラジアン単位で入れること)
- math.asin(x), math.acos(x), math.atan(x): 逆三角関数の値を返します。
- math.pi: 円周率(π)の値を返します。
- math.e: 自然対数の底(e)の値を返します。
- math.degrees(x): x のラジアン値を度数に変換して返します。
- math.radians(x): x の度数値をラジアンに変換して返します。
- math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0): a と b の差が rel_tol と abs_tol の関係にある場合に、True を返します。
sqrt
math モジュールを使って平方根を求めることができます。
import math
x = 25
y = math.sqrt(x)
print(y) # 5.0
上記の例では、math.sqrt(x)という関数を使用し、x の平方根を求め、変数yに代入しています。
radians
math モジュールを使って度数からラジアンに変換することができます。
import math
x = 30
y = math.radians(x)
print(y) # 0.5235987755982988
上記の例では、math.radians(x)という関数を使用し、x の度数をラジアンに変換し、変数yに代入しています。
sin
math モジュールを使って三角関数を求めることができます。(角度はラジアンで指定する必要があります)
import math
x = 30
y = math.sin(math.radians(x))
print(y)
isclose
math モジュールを使って、二つの数値が近似しているかどうかを判定することができます。
import math
x = 0.1
y = 0.2
z = 0.3
result = math.isclose(x+y, z, rel_tol=1e-9)
print(result) # True
上記の例では、math.isclose(x+y,z,rel_tol=1e-9)という関数を使用し、x+yとzの差が1e-9以下ならば、Trueを返し、変数resultに代入しています。
\ Pythonを自宅で好きな時に学べる! /
randomモジュール
randomモジュールはPython 標準ライブラリの一部で、乱数を生成するための関数が用意されています。
randomモジュールを使用するには、以下のように randomモジュールをインポートする必要があります。
import random
randomモジュールには、以下のような関数が用意されています。
- random.random(): 0から1までのランダムな浮動小数点数を返します。
- random.uniform(a, b): aからbまでのランダムな浮動小数点数を返します。
- random.randint(a, b): aからbまでのランダムな整数を返します。
- random.randrange(start, stop, [step]): startからstop-1までのランダムな整数を返します。
- random.choice(seq): シーケンスからランダムな要素を返します。
- random.shuffle(seq): シーケンスの要素をランダムにシャッフルします。
- random.sample(population, k): populationからk個の要素をランダムに選び、リストとして返します。
random
randomモジュールを使って、0から1までのランダムな浮動小数点数を生成することができます。
import random
x = random.random()
print(x)
randint
randomモジュールを使って、1から10までのランダムな整数を生成することができます。
import random
x = random.randint(1,10)
print(x)
shuffle
random.shuffle()を使うことで、リストの要素をランダムにシャッフルすることができます。
import random
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(numbers)
sample
random.sample()を使うことで、リストからランダムに要素を抽出することができます。
import random
numbers = [1, 2, 3, 4, 5]
sample = random.sample(numbers, 2)
print(sample)
上記の例では、random.sample(numbers, 2)という関数を使用し、numbersリストから2つの要素をランダムに抽出し、sampleに代入しています。
choice
random.choice()を使うことで、リストからランダムに要素を選ぶことができます。
import random
numbers = [1, 2, 3, 4, 5]
choice = random.choice(numbers)
print(choice)
上記の例では、random.choice(numbers)という関数を使用し、numbersリストからランダムに要素を選んで、choiceに代入しています。
randomモジュールは、科学計算やゲーム開発などでよく使用されます。乱数を生成することで、ランダムな処理を実装することができるため、様々な場面で活用することができます。
\ Pythonを自宅で好きな時に学べる! /
osモジュール
osモジュールはPython 標準ライブラリの一部で、OS の文件やディレクトリ操作を行うための関数が用意されています。
osモジュールを使用するには、以下のように osモジュールをインポートする必要があります。
import os
- os.getcwd(): 現在の作業ディレクトリを返します。
- os.chdir(path): 作業ディレクトリを path に変更します。
- os.mkdir(path): 指定した path のディレクトリを作成します。
- os.rmdir(path): 指定した path のディレクトリを削除します。
- os.listdir(path): 指定した path のディレクトリ内のファイルやフォルダをリスト形式で
listdir
os.listdir(path)を使用することで、指定した path のディレクトリ内のファイルやフォルダをリスト形式で取得することができます。
import os
path = '/(取得したいディレクトリのパス)'
list_of_files = os.listdir(path)
print(list_of_files)
上記の例では、os.listdir(path)関数を使用し、pathで指定したディレクトリ内のファイルやフォルダをリスト形式で取得し、list_of_filesに代入しています。
rename
os.rename(src, dst)を使用することで、ファイルやフォルダの名前を変更することができます。
import os
os.rename('/path/to/old_file', '/path/to/new_file')
path
os.path.exists(path)関数を使用することで、指定したパスが存在するかどうかを判定することができます。
import os
file_exists = os.path.exists('/(確認したいディレクトリのパス)')
print(file_exists)
\ Pythonを自宅で好きな時に学べる! /
sysモジュール
sysモジュールはPython 標準ライブラリの一部で、Python インタプリタやスクリプトに関する情報や操作を行うための関数が用意されています。
sysモジュールを使用するには、以下のようにsys ライブラリをインポートする必要があります。
import sys
sysモジュールには、以下のような関数が用意されています。
- sys.argv: コマンドライン引数を格納したリストです。
- sys.exit(): Python インタプリタを終了します。
- sys.version: 現在の Python のバージョンを表す文字列を返します。
- sys.path: Python モジュールを探すためのパスを格納したリストです。
- sys.platform: 実行中のプラットフォームを表す文字列を返します。
argv
以下のように sys.argv を使って、スクリプトに渡されたコマンドライン引数を取得することができます。
import sys
print(sys.argv)
exit
sys.exit()を使用することで、Python インタプリタを強制終了することができます。
import sys
sys.exit()
sysモジュールは、Python インタプリタやスクリプトに関する情報や操作を行うためによく使用されます。上記のように、sysモジュールを使用することで、Python インタプリタやスクリプトの情報を取得し、スクリプトを終了するなどの操作を簡単に行うことができます。
\ Pythonを自宅で好きな時に学べる! /
jsonモジュール
jsonモジュールはPython 標準ライブラリの一部で、JSON (JavaScript Object Notation) 形式のデータを扱うための関数が用意されています。 JSONは、人間にもコンピュータにも読みやすい形式で、Web上でよく利用されるデータフォーマットです。
jsonモジュールを使用するには、以下のようにjsonモジュールをインポートする必要があります。
import json
jsonモジュールには、以下のような関数が用意されています。
- json.dumps(obj): Python のオブジェクト obj を JSON 文字列に変換します。
- json.loads(json_string): JSON 文字列 json_string を Python のオブジェクトに変換します。
- json.dump(obj, fp): Python のオブジェクト obj を JSON 形式でファイルに書き込みます。
- json.load(fp): ファイルから JSON 形式のデータを読み込み、Python のオブジェクトに変換します。
dumps
json.dumps() 関数を使って、Python の辞書型オブジェクトを JSON 文字列に変換することができます。
import json
data = {'name': 'John', 'age': 30}
json_data = json.dumps(data)
print(json_data)
loads
json.loads() 関数を使って、JSON 文字列を Python のオブジェクトに変換することができます。
import json
json_data = '{"name": "John", "age": 30}'
data = json.loads(json_data)
print(data)
dump
json.dump()関数を使用して、Python のオブジェクトをJSON形式でファイルに保存することができます。
import json
data = {'name': 'John', 'age': 30}
with open('data.json', 'w') as f:
json.dump(data, f)
load
json.load()関数を使用して、JSON形式のファイルをPythonのオブジェクトに変換することができます。
import json
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
上記の例では、json.load()関数を使用し、’data.json’というファイルを読み込み、JSON形式のデータをPythonのオブジェクトに変換し、変数dataに代入しています。
jsonモジュールは、Web APIなどでよく使用されるJSON形式のデータを扱うためによく使用されます。上記のように、jsonモジュールを使用することで、Python のオブジェクトを JSON 形式のデータに変換し、また JSON 形式のデータを Python のオブジェクトに変換することができます。
\ Pythonを自宅で好きな時に学べる! /
reモジュール
reモジュールはPython 標準ライブラリの一部で、正規表現 (regular expression) を扱うための関数が用意されています。正規表現は、文字列のパターンマッチングを行うために使用され、文字列の検索や置換、分割などの処理を行うことができます。
reモジュールを使用するには、以下のようにre ライブラリをインポートする必要があります。
import re
reモジュールには、以下のような関数が用意されています。
- re.search(pattern, string): 指定された文字列 string 中に pattern と一致する部分があれば、その部分を返します。
- re.findall(pattern, string): 指定された文字列 string 中に pattern と一致する部分をすべて抽出し、リスト形式で返します。
- re.sub(pattern, repl, string): 指定された文字列 string 中に pattern と一致する部分を repl で置換します。
- re.split(pattern, string): 指定された文字列 string を pattern で分割します。
search
re.search() 関数を使って、文字列中に数字が含まれているかどうかを判定することができます。
import re
string = "This is a string with number 123"
match = re.search(r'\d+', string)
if match:
print("The first number in the string is:", match.group())
else:
print("No number found in the string")
findall
re.findall()関数を使って、文字列中に含まれる全ての数字を抽出することができます。
import re
string = "This is a string with numbers 123 and 456"
numbers = re.findall(r'\d+', string)
print(numbers)
sub
re.sub()関数を使って、文字列中に含まれる数字を全て’X’に置き換えることができます。
import re
string = "This is a string with numbers 123 and 456"
new_string = re.sub(r'\d+', 'X', string)
print(new_string)
split
re.split()関数を使って、文字列を特定のパターンで分割することができます。
import re
string = "This is a,string with,comma separated,values"
parts = re.split(r',', string)
print(parts)
正規表現は、文字列処理において非常に便利な機能です。reモジュールを使用することで、Python で正規表現を簡単に扱うことができます。上記のように、re.search()、re.findall()、re.sub()、re.split()等の関数を使用することで、文字列中に含まれるパターンを検索、抽出、置換、分割などの処理を行うことができます。
また、正規表現の基本的な記法も理解し、自分でパターンを定義することで、より高度な文字列処理を行うことができます。
\ Pythonを自宅で好きな時に学べる! /
まとめ
今回はPythonのプログラムを作成する際に活用できる標準ライブラリの使い方を紹介しました。標準ライブラリをうまく使うことでプログラミングの時間を大幅に削減したり、精度を向上させることができます。
ぜひ、活用してみてください。
また、Python初心者の方向けに、コーディングの練習で使えるPythonのサンプルプログラム集も公開していますので、ぜひ挑戦してみてください。
それでは、また次の記事でお会いしましょう。
コメント