LoginSignup
0
0

Python 3 エンジニア認定基礎試験対策10 - 標準ライブラリミニツアー

Posted at

はじめに

Python3エンジニア認定基礎試験の対策として自分用に執筆しています。

この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある参考文献も確認してください。また、誤りがあればコメントで教えていただけると幸いです。

標準ライブラリミニツアー

OSへのインターフェース

osモジュールはOSと対話するための関数を提供する

>>> import os
>>> os.getcwd()
C:\\Python39
>>> os.chdir('/server/accesslogs')
>>> os.system('mkdir today')
0

ファイルやディレクトリの管理作業のために使えるモジュール shutil

>>> import shutil
>>> shutil.copyfile('data.db', 'archive.db')
archive.db
>>> shutil.move('/build/executables', 'installdir')
installdir

ファイルのワイルドカード表記

globモジュールは、ディレクトリのワイルドカード検索からファイルのリストを生成するための関数を提供する

>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']

コマンドライン引数

コマンドライン引数はsysモジュールのargv属性にリストとして保存される。今回の例は、コマンドライン上にpython demo.py one two threeと入力した際の実行例

>>> import sys
>>> print(sys.argv)
['demo.py', 'one', 'two', 'three']

文字のパターンマッチング

reモジュール。正規表現に使われる。

>>> import re
>>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
>>> re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'

数学

mathモジュール。浮動小数点演算など。

>>> import math
>>> math.cos(math.pi / 4)
0.70710678118654757
>>> math.log(1024, 2)
10.0

randomモジュールは乱数の生成。

>>> import random
>>> random.choice(['apple', 'pear', 'banana'])
'apple'
>>> random.sample(range(100), 10)   # 0~100の間でランダムの数値
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random()    # 0~1の間でランダムな数値
0.17970987693706186
>>> random.randrange(6)    # range(6)の中でランダムの数値
4

statisticsモジュールは数値データの基礎的な統計的特性を計算(平均、中央値、分散等)

>>> import statistics
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> statistics.mean(data)
1.6071428571428572
>>> statistics.median(data)
1.25
>>> statistics.variance(data)
1.3720238095238095

インターネットへのアクセス

urllib.requestはURLからデータを取得する
smtplibはメールを送信する

日付と時刻

datetimeモジュールは日付や時刻を操作する。

>>> from datetime import date
>>> now = date.today()
datetime.date(2024. 1, 25)

データ圧縮

zlib, gzip, bz2などの複数のモジュールでサポートされる

パフォーマンスの計測

timeitモジュールで相対的なパフォーマンスについて調べることができる。

>>> from timeit import Timer
>>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()
0.57535828626024577
>>> Timer('a,b = b,a', 'a=1; b=2').timeit()
0.54962537085770791

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0