本記事について
とある事業会社で事業企画をやっています。
元々は、新規営業1年→エンプラ営業3年やっていました。
事業企画への異動に伴って、ルーチンワークの自動化やスクレイピングに興味を持ちpython学習をスタートしました。
目的達成までは記事を執筆予定です。どうぞよろしくお願いいたします。
開発環境
jupyterlab
使っている本
すっきりわかるpython入門
https://sukkiri.jp/books/sukkiri_python
勉強計画
週5日間ミニマム1h勉強する。 (現在6日継続中)
最初の1weekは1冊終わらせることをgoalに。
start@ 2022/2/21
学習時間
2.0h
学び
今日はモジュールを学んでいきたいと思います。
本の学習としては、ほぼここでおしまいです。
6.5日目なのは2022/02/26にやりたかった分を今日やってるからです。
モジュール
pythonでは、様々なライブラリが用意されています。
そのライブラリを使うことで、めっちゃ楽に開発を勧められます。
組み込み関数
分類 | 組み込み関数名 | 機能 |
---|---|---|
入出力 | print関数 | 引数を標準出力に出力する |
^ | input関数 | 標準入力から1行読み込んだ結果を返す |
データ型 | type関数 | 引数のデータ型を返す |
^ | int関数 | 引数を整数に変換した結果を返す |
^ | float関数 | 引数を少数に変換した結果を返す |
^ | str関数 | 引数を文字列に変換した結果を返す |
コレクション | list数 | 引数でリストを作成して返す |
^ | dict関数 | 引数でディクショナリ作成して返す |
^ | tuple関数 | 引数でタプルを作成して返す |
^ | len関数 | 引数の長さ(要素数)を返す |
^ | sum関数 | 引数の合計値を返す |
^ | max関数 | 引数の最大値を返す |
^ | min関数 | 引数の最小値を返す |
計算 | abs関数 | 引数の絶対値を返す |
^ | round関数 | 引数を四捨五入した値を返す |
ファイル | open関数 | 引数で指定したファイルを返す |
お試しでやってみるopen
text = input('何を記憶しますか? <<')
file = open('dairy.txt', 'a') #ファイルを開く #aは追記モード
file.write(text + '\n') #ファイルに書き込む
file.close() #ファイルを閉じる
#何を記憶しますか? << kamon is lucky boy
dairyというtxtファイルができています。
<ファイルを開く>
open(ファイル名,モード)
<ファイルに書き込む>
ファイルオブジェクト.write(書き込む内容)
with文で開いたファイルを確実に消すことができる。
text = input('what do r u doing today? >>')
with open('diary.txt', 'a' as file: #ファイルオブジェクトを代入する変数
file.write(text + '\n')
モジュールの利用
モジュールとは、変数や関数をまとめたものを提供するということ。
ライブラリは複数のモジュールが合わさったものと考えましょう。
標準ライブラリとは、pythonが用意してくれたもの。外部ライブラリとは、別の組織や個人が用意したモジュールのまとまり。
標準ライブラリ
モジュール | 用途 |
---|---|
mathモジュール | 数学計算に関する処理 |
randomモジュール | 乱数に関する処理 |
datetimeモジュール | 日付と時間に関する処理 |
emailモジュール | 電子メールに関する処理 |
csvモジュール | CSVファイルに関する処理 |
jsonモジュール | JSONファイルに関する処理 |
osモジュール | OS操作に関する処理 |
mathモジュールを利用してみましょう。
import math #mathモジュールを取り込むことを宣言
print('円周率は{}です'.format(math.pi)) #mathモジュールの変数piを参照
print('小数点以下を切り捨てれば{}です'.format(math.floor(math.pi))) #mathモジュールのfloor関数を呼び出す
print('小数点以下を切り上げれば{}です'.format(math.ceil(math.pi)))#mathモジュールのceil関数を呼び出す
#円周率は3.141592653589793です
#小数点以下を切り捨てれば3です
#小数点以下を切り上げれば4です
<モジュールを取り込む>
import モジュール
<モジュール内の変数を参照>
モジュール名.変数名
<モジュール内の関数を呼び出す>
モジュルー名.関数名(引数,・・・)
<別名をつけたモジュールの利用>
import モジュール名 as 別名 (例えば、import math as m)
<特定の変数や関数だけを取り込む>
from モジュール名 import 変数名または関数
from math import pi
from math import floor
print('円周率は{}'.format(pi))
print('小数点以下を切り捨てれば、{}です'.format(floor(pi)))
#円周率は3.141592653589793
#小数点以下を切り捨てれば、3です
<ワイルドカードインポート> ※非推奨
from モジュール名 import*
パッケージの利用
<パッケージ内のモジュールの取り込み/変数参照/関数呼び出し>
・importパッケージ名.モジュール名
※asで別名をつけることも可能
パッケージ名.モジュール名.変数名
パッケージ名.モジュール名.関数名(引数,・・・)
・from パッケージ名 import モジュール名
モジュール名.変数名
モジュール名.関数名(引数,・・・)
外部ライブラリの利用
代表的な外部ライブラリ
注意!:目的と実現したいプログラムを明確にしてから、目的の外部ライブラリを学びましょう。
モジュール名 | 主な用途 |
---|---|
matplotlib | データの可視化 |
pandas | データ解析 |
Numpy | ベクトル・行列計算 |
Scipy | 科学技術計算 |
SymPy | 代数計算 |
scikit-learn | 機械学習 |
TensorFlow | 深層学習 |
Pygame | グラフィックス・音声 |
dateutil | 日付・時間 |
simplejson | jsonファイル |
pyYAML | YAMLファイル |
requests | Webアクセス |
%matplotlib inline
import matplotlib.pyplot as plt #慣習的にpltと表現する。
weight = [68.4, 68.0 , 69.5, 68.4, 68.6, 70.2, 71.4,70.8,68.5,68.6,68.3,68.4]
plt.plot(weight)
#[<matplotlib.lines.Line2D at 0x7f953a1c5fd0>]
感想
一通り学習してまいりました。
次は、一旦振り返りをしようと思いますが、あれ?どうやって実践に進もう。と悩んでいます。
実践に進むためにも目標と定めていたスクレイピング学習orルーチンワークの自動化学習のどちらかに照準を定めていきます。
新たな学習には痛みが伴いますが、私の特徴的には"使える"がポイントです。
早く使える先を見つけたいと思います。