自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

よく使う? Python 3.x 関数とメソッドチートシート

勉強中のPythonでよく使う?使いそうなものを自分用にまとめ。 これ便利だ!って思ったら随時追加予定です。

組み込み関数

Python標準機能の関数

別途モジュールをインポートすることなく利用可能

数値計算

abs(数値)・・・数値の絶対値を返す

>>> abs(-2)
2


divmod(数値1, 数値2) ・・・数値1を数値2で割った結果を(商,余り)のタプルで返す

>>> divmod(15, 2)
(7, 1)


max(数値1, 数値2, ...)・・・数列の中から最大値を返す

>>> max(5,8,3,4)
8


min(数値1, 数値2, ...) ・・・数列の中から最小値を返す

>>> min(5,8,3,4)
3


pow(x,y,z) ・・・xのy乗をzで割った余り

>>> pow(5,2,3)
1


round(数値, 桁) ・・・数値を指定の桁数に丸める

第2引数を省略すると小数点以下を丸める

>>> round(3.14)
3
>>> round(3.14,1)
3.1


文字列

chr(整数)・・・整数が示すUnicodeを文字列で返す

>>> chr(97)
'a'


ord(1文字)・・・1文字に対応するUnicodeを調べる

>>> ord('a')
97


len(文字列)・・・文字列の文字数を求める

2byte文字も1文字でカウント

>>> len('abc')
3
>>> len('エービーシー')
6


str(値)・・・値を文字列型に変換

数値を文字列として結合させたい場合に使うことが多い

>>> price = 108
>>> print('ガムは' + str(price) + '円です')
ガムは108円です


入出力

input(文字列)・・・キーボードからの入力を受け取る

基本的に変数に値を代入するようにして使う

>>> fruit = input('好きな果物は?:')
好きな果物は?:りんご
>>> print(fruit)
りんご


open()・・・テキストファイルを開く

実際にファイルがエディタなどで開かれるわけではなくオブジェクトとして参照可能な状態にする

read()などと組み合わせて使う

>>> file = open('./file.txt')
>>> text = file.read()
>>> print(text)
テキストファイルの内容


print(値,sep=文字列,end=文字列)・・・値をインタプリタに出力

>>> print('Hello World')
Hello World


,で区切ると自動で半角スペースで区切って表示

>>> print('ABC','DEFG')
ABC DEFG


sep=''で区切り文字を変更可能

>>> print('ABC', 'DEFG', sep='/')
ABC/DEFG


end=''で末尾の改行コードを文字列に変更可能

>>> print('ABC','DEFG',sep='/',end='。')
ABC/DEFG。>>>


モジュールを読み込んで使う関数

Python標準機能の関数ではあるがモジュールをインポートしなければ使えない

import モジュール名のようにしてインポートして使う

mathモジュール

mathつまり数学モジュール

各種計算を簡単に行うための関数が多数用意されている

インポート

>>> import math


モジュール内の関数を利用する際はmath.関数名()のように関数の前にモジュール名を付ける

>>> math.floor(3.5)
>>> 3


ceil(x)・・・小数点以下を切り上げ

>>> math.ceil(3.5)
4


floor(x)・・・小数点以下を切り捨て

>>> math.floor(3.5)
3


factorial(n)・・・階乗

>>> math.factorial(5)
120


gcd(x, y)・・・xとyの最大公約数

>>> math.gcd(18,24)
6


sqrt(x)・・・xの平方根

>>> math.sqrt(10)
3.1622776601683795


pi・・・円周率

>>> math.pi
3.141592653589793


randomモジュール

乱数を生成したり値をシャッフルできるモジュール

インポート

>>> import random


random()・・・ランダムな浮動小数点数を生成

>>> random.random()
0.8776032377481763


randomint(x, y)・・・範囲x~yを指定してランダムな整数を生成

>>> random.randint(1,10)
7


メソッド

オブジェクト.メソッド()の形で使用

データ型によって使えるメソッドが異なるためオブジェクトが何型なのかを考えながら使う

よくわからない場合はtype関数で型を確認する

type(オブジェクト)・・・オブジェクトの型を調べる

>>> obj = 100
>>> type(obj)
<class 'int'>
str 文字列 ABC
int 数値(整数) 123
float 数値(浮動小数点数) 0.123
bool ブール(True or False) True
tuple タプル ('a','b','c')
list リスト [1,2,3]
dict 辞書 {'name':'maru','age':25}
set 集合 {1,2,3}
bytes バイト列 b'a'


文字列オブジェクトに対するメソッド

.count('検索文字列', [開始位置], [終了位置])・・・文字列オブジェクトに含まれる検索文字列の数をカウント

大文字と小文字は区別される

>>> strobj = 'Python Program'
>>> strobj.count('P')
2
>>> strobj.count('P',0, 7)
1


.find('検索文字列', [開始位置], [終了位置])・・・文字列オブジェクトに含まれる検索文字列の位置を返す

大文字と小文字は区別される

見つからなかった場合-1が返される

>>> strobj = 'Python Program'
>>> strobj.find('P')
0
>>> strobj.find('P' ,7 ,14)
7
>>> strobj.find('Ruby')
-1


.find('検索文字列', [開始位置], [終了位置])・・・文字列オブジェクトに含まれる検索文字列の位置を返す

大文字と小文字は区別される

最初に見つかった位置のみ返される

見つからなかった場合-1が返される

>>> strobj = 'Python Program'
>>> strobj.find('P')
0
>>> strobj.find('P' ,7 ,14)
7
>>> strobj.find('Ruby')
-1


.rfind('検索文字列', [開始位置], [終了位置])・・・.findと同様だが末尾から検索される

>>> strobj = 'Python Program'
>>> strobj.rfind('P')
7


.replace('検索文字列', '置換後文字列', [置換する数])・・・文字列オブジェクトに含まれる検索文字列を置換後文字列に置き換える

第3引数を省略するとマッチした文字列すべて置換する

>>> strobj = 'Python Program'
>>> strobj.replace('Python', 'Ruby')
'Ruby Program'


.format(文字列1, 文字列2, ...)・・・文字列オブジェクトの{}へ引数を順に代入する

引数に数値が含まれていてもstr()関数で型変換する必要がないっぽい

{}{0}のように記述すると引数の順序を変えることなく代入する場所を変更可能

>>> '名前:{} 年齢:{}'.format('maru', 25)
'名前:maru 年齢:25'
>>> '年齢:{1} 名前:{0}'.format('maru', 25)
'年齢:25 名前:maru'

詳細! Python 3 入門ノート

詳細! Python 3 入門ノート