生きるのをもっと楽に、楽しく

1976年生まれの男性。 コピー機メーカー勤務の会社員です。 いろいろ生き辛さを感じていて、ちょっとずつでも生きるのを楽に、 そして楽しくしていきたいなぁと感じています。 このブログを通じて波長の合う人とつながれればいいなぁと思っています。

Python3 エンジニア認定基礎試験 俺的チートシート

f:id:pakira2:20201113213140j:plain

Pyhon3 エンジニア認定基礎試験を今月末に控え、模擬試験で勉強中です。

間違えた問題を中心に自分に役立つチートシートを作っていますのでシェアします。

あくまで「俺的」ですので、まぁ参考になるとこだけ参考にしてください。

そしてまだ作成中です。随時更新していきます。

 

リストとタプル
  • リスト: a = [10,20,30] 変更可能、角カッコを使う
  • タプル :a = (10,20,30) 変更不可能、丸カッコを使う
  • いずれもアンパック(要素を分解して、各変数へ代入)してアクセスが可能

 

ディクショナリー(辞書型)

a = {'転職':10, 'オンライン':20, '学習':30} 中カッコを使う

keyとValueでセット

keyで要素にアクセスし、Valueに演算できる

例:

a['オンライン'] += 1
print(a)

→{'転職': 10, 'オンライン': 21, '学習': 30}

remove:

指定した要素を削除する。複数ある場合は最初の要素のみ、削除 する

例:

list1 = [10,20,30,40,50,10]
list1.remove(10)
print(list1)

→[20, 30, 40, 50, 10]

 

 pop:

リストの要素を取り除く時に使うメソッド

pop() ← リスト最後の要素を削除

pop(1) ← インデックス番号1(すなわち前から2つ目の要素)を削除

 

replace:

str.replace(old, new[, count])
文字列をコピーし、現れる部分文字列 old 全てを new に置換して返します。

オプション引数 count が与えられている場合、先頭から count 個の old だけを置換します。

オプションがない場合はすべて置換されます。

組み込み型 — Python 3.9.0 ドキュメント より引用

例:

d = "xxxxDIVExxxxDIVExxxxDIVE"
print(d.replace('DIVE', 'CODE',1))

→xxxxCODExxxxDIVExxxxDIVE

 

 range()関数

range(5): 5つの値を生成する。始まりの値は0となる。

>>> for i in range(5):
... print(i)
...
0
1
2
3
4

range(5,10,3): 始点5,終点9で、3つおきのリストとなる

→[5, 8]

例:

range(5, 10)
→5, 6, 7, 8, 9

range(0, 10, 3)
→0, 3, 6, 9

range(-10, -100, -30)
→-10, -40, -70

print(range(10))→range(0, 10)

これはよくわからない。そーゆーものだと丸暗記する。

 

参考:  4. その他の制御フローツール — Python 3.9.0 ドキュメント

 

スライス

f:id:pakira2:20201126225946j:plain

 

word=['P','y','t','h','o','n']
print(word[:2])
print(word[4:])
print(word[-2:])
print(word[0:2])
print(word[:])

>>

['P', 'y']
['o', 'n']
['o', 'n']
['P', 'y']
['P', 'y', 't', 'h', 'o', 'n']

 

  • 文字列は「+」、繰り返しとして「*」が使える

a = 'Python'

b = 'is'

c = 'fancy'

print(a*2 + 3*b + c*4)

→PythonPythonisisisfancyfancyfancyfancy

 

  • 制御文字は1文字でカウントされる

d = 'dive\ninto\ncode\t

print(len(d))

→15 

 

  • パッケージは「ドット付きモジュール」を使ってPythonのモジュールを構造化すること

例:

import sound.effects.echo

from sound.effects import echo

 

  • 四則演算

商の整数部分: 25//7 →3
商: 25/7→3.5714285714285716
剰余: 25%7→4

 

 

  • イミュータブル(immutable): 変更できないオブジェクト
  • ミュータブル(mutable): 変更できるオブジェクト
  • コマンドライン引数を取得できるモジュールは「sys
  • dir() 」は、定義済みの名前を返す
  • ビルトイン関数のシンボル表は「import builtins → dir(builtins)」で確認できる
  • 「-m」を指定するとモジュールを指定する
  • 履歴は「.python_history」にある。このファイルはユーザーディレクトリにある
  • 複素数(虚数)はPythonでは「 j 」で表現される
  • 整数と小数点が混ざった演算は浮動小数点型になる
  • ブール演算子の優先順位は「not > and > or」
  • 「比較演算子」 > 「ブール演算子」 (比較演算子の方がブール演算子よりも優先順位が高い)
  • 変数に値を代入しないで実行しようとすると「NameError」が表示される
  • 関数内からグローバル変数は参照可能
  • 変数とモジュール名の補完はインタープリタの起動時に自動で有効化され、[Tab]キーで補完機能が呼び出される
  • print('円周率は%5.3fである。'%math.pi)の結果は「円周率は3.142である。」全体5ケタ、小数点部3ケタという意味
  • zip関数: よくわからんけど、リストの要素をくっつける。各要素はタプル(丸括弧)となり、全体はリスト(角括弧)となる
  • Pythonのインタープリタ終了には「exit()」「quit()」を使う
  • バイナリデータレコードの処理を行うモジュールは「struct」である
  • 例外処理において「else節」はすべてのexcept節よりも後ろに置かなければならない
  • 「_」(アンダーバー)には、最後に表示した式が格納されている
  • ログを取得するためのモジュールは「logging
  • Pythonの対話型インタープリタの1つに「IPython」がある
  • 関数をコールするときは、必ず位置引数が先でキーワード引数を後にしなければならない。

  

JSONのフォーマット

json使ったらJSON形式に変換できる。

>>> import json
>>> json.dumps([1, 'simple', 'list'])
'[1, "simple", "list"]'

7. 入力と出力 — Python 3.9.0 ドキュメント より引用

  • 文字列は「"」(ダブルクォーテーション)で囲む
  • 全体は「'」(シングルクォーテーション)で囲む
演算子優先順位

四則演算 > ブール演算 > 条件式 > ラムダ

f:id:pakira2:20201115150606p:plain

Python | 演算子の優先順位 より引用

 

open関数のオプション

f:id:pakira2:20201115150824p:plain

【Python】open()のmodeについて - プログラミング勉強の備忘録 より引用

  •  read: 読み込み
  • write: 書き込み
  • append: 追記
  • 「+」(プラス)がつくと、読み書きがプラスされる
sys.pathで初期化されるもの