今まではJSでしたが、これからPythonを始めるにあたって「やさしいPython」を読みました。
必要そうなところをサイトで調べながら、記載してます。
リスト(変更可能)
test = [10, 20, 30]
削除
del test = [1]
新しく作成
test = (10, 20, 30)
test2 = list(test)
タプルからリストに変換
メソッド
リスト.append()
:追加
リスト.insert()
:位置に要素を挿入
リスト.remove()
:削除
リスト.extend()
イテラブルの要素を追加
リスト.sort()
:ソート
リスト.reverse()
:逆順
リスト.copy()
:コピー
リスト.pop([])
:末尾または指定位置の要素を削除
リスト.clear()
:全て削除
リスト.count()
:回数を数える
タプル(変更不可)
test = (10, 20, 30)
test2 = 10, 20, 30
上記どちらも同じ
tuple()
:タプル作成
ディクショナリ(変更可)
test = {"prefecture":"東京","sale":100}
新しく作成
test = dict(キー = 値, キー = 値,)
値があるかないか(in ・ not inで調べる)
data = [10,20,30]
if 1 not in data:
0や空データがあるか調べる
if any(data):
any:0や空の値でないものが1つでもあればTrue
all:0や空の値が1つもなければTrue
メソッド
ディクショナリ.get()
:キーの値またはデフォルト
ディクショナリ.update()
:追加更新
ディクショナリ.pop()
:キーの値を削除
ディクショナリ.pupitem()
:任意の対を削除
ディクショナリ.clear()
:全て削除
ディクショナリ.items()
:項目のビュー
ディクショナリ.keys()
:キーのビュー
ディクショナリ.values()
値のビュー
セット(重複不可)
test = { “東京”, “名古屋” , “大阪”}
※&
や|
を使える
メソッド
セット.add()
:追加
セット.remove()
:削除
セット.discard()
:要素があれば削除
セット.pop()
:要素を削除してその要素を返す
セット.clear()
:全て削除
セット.update()
:更新
セット.union()
:共有をとる
セット.difference()
:差をとる
セット.symmetric_difference()
:対称差をとる
セット.issubset()
:部分集合
セット.issuperset()
包含
セット.copy()
:コピー
引数
def a ( *args)
a(10,20,30)
※上記はタプルとして格納
引数を幾つでも渡して呼び出せる
def a ( **args)
a(a=10,b=20,c=30)
※上記はディクショナリとして格納
関数に機能を追加するとき@
を使う = デコレーダー
クラス
「データ」と「処理」をまとめる
class Person:
def getName(self):
return self.name
name:データ属性
getName関数:メソッド
コンストラクタ
__init__
:インスタンスを作成する時最初に必ず呼び出される
カプセル化
_
,__
(値を変更されたくない):アクセスを制限したい属性の名前につける
ファイル
開ける→書き込む(読み込む)→閉じる
この流れは全て一緒
オープンモード:“w”は書き込み、"r"は読み込み
その他書いてある記事
テキストファイル読み書き
f = open(“test.txt” , ”w”)
f.write(“こんにちは¥n”)
f.write(“こんばんは¥n”)
f.close()
CSVファイル
import csv
r = csv.reader(f)
w = csv.writer(f)
w.writerow(["東京","名古屋"])
w.writerows([["東京","名古屋"],["大阪","京都"]])
writer()
関数を使うとライタを取得でき、writerow
やwriterows
を使える
JSONファイル
import json
関数
load()
:読み込み
dump()
:書き込み
システム処理
import os
start()
:ファイル情報
getcwd()
:現在のディレクトリ
remove()
:削除
mkdir()
:ディレクトリ作成
rmdir()
:ディレクトリ削除
rename()
:ファイル名変更
listdir()
:ファイル名リスト
access()
:アクセス権限を調べる
chmode()
:アクセス権限を変更
getenv()
環境変数の値を取得
import os.path
abspath()
:絶対パス
dirname()
:ディレクトリ名
basename()
:ファイル名
split()
:分割
splittext()
:拡張子名部分と分割
commonprefix()
:パスの先頭から共通部分
exists()
:存在するか
commonpath()
:リストから共通する部分
isfile()
:ファイルであるか
isdir()
:ディレクトリであるか
getsize()
:ファイルサイズ
getatime()
:最終アクセス時刻
getmtime()
:最終更新時刻
getctime()
:作成時刻
日時情報
import datetime
データ属性・メソッド
datetime()
:日時を作成・取得
datetime.now()
:現在の日時
datetime.today()
:現在の日付
datetime.fromtimestamp()
:タイムスタンプ
datetime.strptime()
:指定したフォーマットの日時文字列
日時.date()
:同じ日時のdate
日時.time()
同じ日時のtime
日時.weekday()
:曜日
日時.strftime()
:指定したフォオーマットの日時文字列
日時.year()
:年
日時.month()
:月
日時.day()
:日
日時.hour()
:時
日時.minute()
:分
日時.second()
:秒
日時.microsecond()
:マイクロ秒
日時.tzinfo()
:タイムゾーン
timedelta()
:日時の加減算
例外処理
try:
xxxxx
except "例外クラス名":
"例外あり"
pass "通過して下の処理にいく"
continue "処理をスキップする"
break "強制終了、for文なら外にでる"
else:
"例外なし"
finally:
xxxxx
HTML解析
import urllib.request
urllib.request.urlopen()
From html.parser import HTMLParser
組み込み関数メソッド
リストの値を順番に取り出す
it = iter(data)
next(it)
という指定を繰り返すことで順番に値を取り出せる
組み合わせる
zip( )
city = [ “東京”, “名古屋” , “大阪”]
sale = [80,20,10,70]
for d in zip(city,sale)
print(d)
=>(“東京”, 80)(“名古屋”,20)(“大阪”,10)
分解(アンパック)
for c, s in zip(city, sale)
print()
:標準出力への出力
input()
:標準入力への入力
len()
:長さ
max()
:最大値
min()
:最小値
sum()
:合計値
sorted()
ソート
reversed()
:逆順
iter()
:イテレータ取得
repr()
:文字列を取得
next()
:イテレータの次の要素取得
enumerate()
:イテラブル列挙
zip()
:イテラブルの要素を集める
map()
:イテラブルに関数をを処理した結果
any()
:イテラブルいずれかの要素がTrueであればTrue
all()
:イテラブルすべての要素がTrueならTure
open()
:ファイルを開ける
dir()
:ローカルな名前取得
int()
:整数に変換
float()
:浮動小数点数に変換
str()
:文字列に変換
range()
:rangeを作成
文字列メソッド
文字列.upper()
:大文字に変換
文字列.lower()
:小文字に変換
文字列.swapcase()
:大文字を小文字に小文字を大文字に変換
文字列.capitalize()
:先頭を大文字、残りを小文字に変換
文字列.title()
:タイトル文字
文字列.center()
:指定幅で中央揃え
文字列.ljust()
:指定幅で左寄せ
文字列.rjust()
指定幅で右寄せ
文字列.strip()
空白文字、指定文字を除去
文字列.lstrip()
:先頭の空白文字、指定文字を除去
文字列.rstrip()
:末尾の空白文字、指定文字を除去
文字列.split()
:文字列を分解した各単語のリスト
文字列.splitlines()
:文字列を行で分解した各行のリスト
文字列.join()
:イテレータで返される文字列を結合した文字列
文字列.format()
:文字列を指定書式
文字列.find()
:部分文字列を検索
文字列.rfind()
:部分文字列を逆順に検索
文字列.index()
:findメソッドと同じ処理で例外を送出
文字列.replace()
:置換した文字列
文字列.count()
:部分文字列が何回出現するか
文字列.startswith()
:先頭が検索文字列で始まればTrue
文字列.endswith()
:末尾が検索文字列で始まればTrue
最後に
一番クラスの理解が浅いので、これから学習や実装をして記事を作成していきます!