LoginSignup
13
18

[初心者向け]用途別で使うPythonの関数・ライブラリ一覧[Tips]

Last updated at Posted at 2021-07-24

はじめに

Pythonには様々なライブラリ・関数が、標準・外部ともに存在します。
しかし、その全てを把握できていない人も大勢いると思います。

今回は、以下の3点に対しての解決案として関数やライブラリをご紹介します。

  • Pythonで何がライブラリや組み込み関数で実装されてるのか分からない人
  • 他人のコーディングを見てもすぐに理解できない人
  • 作りたいものはあるが、どう作っていいか手も足も出ない人

この記事を通して、以上の苦手意識を少しでも解消していただけると幸いです!!
QiitaもしくはWebブラウザのお気に入りに登録し、困った時に都度ご活用ください!!

この記事はこれからも更新する予定ですので、ストックすると良いですよ🐍🎸

目次

本編

文字列の初め/最後に特定の文字列があるか調べたい

Python3.9以降に導入された組み込み関数です。

python
startswish()  #初め
endswish()  #終わり

例:"Python3"の後ろに"3"があるかどうか調べるとき、

if "Python3"[-1]=="3":
 (以下、条件を満たすときのコード)

こういう形で、書くことはできます。
ただ、この条件式が真ならばTrue、偽ならばFalseと判断したい場合は、

if "Python3".endswish("3")
 (以下、条件を満たすときのコード)

というように、組み込み関数を用いた記述ができます。
特に、判定のロジックが複雑になるほど、一目で分かりやすいため、
記述ミスを減らすことにもつながります。

endswish()関数は、ファイル名の拡張子を判別したいとき等にも活用できます!

ライブラリにどんなモジュールや関数があるのか一覧で知りたい

python
from see import see #see関数を用いる/※seeライブラリは外部ライブラリです。
import "調べたいライブラリ、モジュール"
see( ーーーー調べたいライブラリモジュールーーーー)

初心者にとって手を止めてしまうことの一つとして、
ライブラリの中身を把握できていないことが私の経験上ありました。
ライブラリを道具箱に喩えるとするなら、その中の道具が何かわからないという状況です。

公式ドキュメントやQiitaなど、調べたとしても分かってるようで分からない。。
collections,sklearn,matplotlibなど、多くの道具が入れられているライブラリは、自力で実装し終わってから判明することもしばしば。。

▶▶こうした問題を解決してくれるのがseeライブラリです!

以下、標準ライブラリの一つであるmathライブラリの中身を調べた時の入出力です。

python
import math
from see import see
see(math)

[出力結果]
ismodule help() .acos() .acosh() .asin()
.asinh() .atan() .atan2() .atanh() .ceil()
.comb() .copysign() .cos() .cosh() .degrees()
.dist() .e .erf() .erfc() .exp()
.expm1() .fabs() .factorial() .floor() .fmod()
.frexp() .fsum() .gamma() .gcd() .hypot()
.inf .isclose() .isfinite() .isinf() .isnan()
.isqrt() .ldexp() .lgamma() .log() .log10()
.log1p() .log2() .modf() .nan .perm()
.pi .pow() .prod() .radians()
.remainder() .sin() .sinh() .sqrt() .tan()
.tanh() .tau .trunc()

このmathライブラリは数学に関するものですが、この出力結果を元に、

・asin,acos,atanなどがのsin, cos,tan以外の三角関数
・isinfやisnanといった条件の真偽でTrueやFalseを返す関数
・円周率πやネイピア数eといったお馴染みの定数

以上の3点の実装があることを確認できました。

▶組み込み関数の一つのdir関数でも確認できますが、出力結果が見易いという点でsee関数をお勧めしています。
▶外部ライブラリにつき、予めインストールを要します。(以下、入力例)

zsh/bash
pip install see

マウス操作、キーボード操作をしたい(準備中)

python
import keyboard
import mouse

▶標準ライブラリの一つであるctypesでもキーボード操作は可能ですが、記述内容が理解しやすいという点でkeyboardライブラリをお勧めしています。

ctypesライブラリの場合は、ASCII文字コードの記述を要する(例 Esc:27)

▶外部ライブラリにつき、予めインストールを要します。(以下、プロンプトでの入力例)

zsh/bash
pip install mouse
pip install keyboard

文字列の初め/最後にある特定の文字列を削除したい(Python3.9以降)

Python3.9以降に導入された組み込み関数です。

python
removeprefix() #はじめ
removesuffix() #最後

▶Python3.9以降には、文字列の初め/最後にある特定の文字列を削除する組み込み関数が実装されています。
▶バージョンが上がれば新機能が実装されるので、特に理由がなければ初心者の方には最新版(※ただし安定版)を使うのをお勧めしています。

以下、使用例です。

python
tsundere = "べ、べつに、、君のこと好きなんじゃないんだからね‼"
waruguchi=tsundere.removeprefix("べ、べつに、、")
honshin=tsundere.removeprefix("べ、べつに、、").removesuffix("なんじゃないんだからね‼")
print(tsundere) #'べ、べつに、、君のこと好きなんじゃないんだからね‼'
print(waruguchi) #'君のこと好きなんじゃないんだからね‼'
print(honshin) #'君のこと好き'

for文がどこまで進んでるのか可視化したい

python
from tqdm import tqdm
for 添え字 in tqdm(range(数字)):
 # 処理

外部ライブラリのtqdmは、プログレスバー(ステータスバー)により、for文の進捗状況を可視化することができます。

以下、実装例です。

python
from tqdm import tqdm
for i in tqdm(range(5)):
 print(i)

出力結果
0%| | 0/5 [00:00<?, ?it/s]0
1
2
3
4
100%|██████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00, 5000.36it/s]

▶外部ライブラリにつき、予めインストールを要します。(以下、入力例)

zsh/bash
pip install tqdm

References

More Info

About me

13
18
3

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
13
18