LoginSignup
7
4

More than 1 year has passed since last update.

やさしいPython

Last updated at Posted at 2022-03-16

今までは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()関数を使うとライタを取得でき、writerowwriterowsを使える

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

最後に

一番クラスの理解が浅いので、これから学習や実装をして記事を作成していきます!

7
4
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
7
4