Python 3 エンジニア認定基礎試験
- ★2024/1 無事資格試験合格しました。
- 良く分からない点を克服するためのメモです。
以下を参考にしています。
Python入門 | Python学習講座 (ambitious-engineer.com)
前提:私はVBAをかじっているため言語は少し理解している。
無料模擬試験を活用していますのでよければご活用ください。
https://note.com/lovely_yarrow276/n/nd1266a4942ba
用語
- モジュール
単一の. pyファイル。
関数やクラス定義が1つのファイルにまとめられたもの。
- ライブラリ
複数のモジュール。
(例)import tkinter ライブラリのインポート
- パッケージ
複数のモジュールをフォルダに整理したもの。
- シーケンス
項目を順番に並べたもの。
・項目番号 インデックス
・項目内容 値(要素)
・項目変更可能 リスト
・項目変更不可 タプル
・項目が数値 range
・項目が文字 文字列
- 型
set
集合を表す。重複なしの値。
(定義) s = {'A','B','C','A'}
(出力) {'C', 'B', 'A'} #順不同
- クラスの継承
親クラスの機能を引き継ぐことができる機能
- オーバーライド
クラスのメソッドを上書きする
- オペランドと演算子
演算子「 + 」や「 - 」などの記号
オペランド 演算の対象
- シンボル
変数名、関数名等名前の事。int A など。
- シンボル表
シンボルと対応する内容情報。名前空間ディクショナリ。
{"A":10,"B":20}
コード
- if
条件分岐
if 条件式1:
条件式1が正の場合の処理
elif 条件式2:
条件式2が正の場合の処理
else:
条件式が偽の場合の処理
- for
繰り返し
for i in range(1, 10):
if i == 5:
break
elif i % 2 == 0:
continue
print(i)
else:
print("ループが完了しました")
- 内包表記
for文の処理を1文で書ける処理。Python特有。
[処理 for 変数 in リスト ]
squares = []
for i in range(1, 11):
squares.append(i**2)squares = [i**2 for i in range(1, 11)]
[処理 for 変数 in リスト if リスト要素に対する条件]
products = []
for i in range(1, 6):
for j in range(1, 4):
if i * j > 10:
products.append(i * j)products = [i * j for i in range(1, 6) for j in range(1, 4) if i * j > 10]
- lambda
無名関数
lambda 引数: 戻り値
numbers = [1, 2, 3, 4, 5]
double = lambda x: x * 2
doubled_numbers = [double(x) for x in numbers]
print(doubled_numbers)
# 出力: [2, 4, 6, 8, 10]
- 例外処理
try:
# 例外が発生する可能性のある処理
x = 10 / 0
except ZeroDivisionError as e:
# 例外が発生したときの処理
print("0で割り算はできません")
print(e)
else:
# 例外が発生しなかったときの処理
print("割り算の結果は", x)
finally:
# 例外の発生有無にかかわらず実行される処理
print("終了")
- 関数
map
リスト各要素に関数を適用できる。戻り値はmap型のためlist型にして使う
#関数の定義
def calc_double(x):
return x * 2
#リストの定義
numbers = [1, 2, 3, 4, 5]
#map関数の使用
result = map(calc_double, numbers)
#結果の表示
print(list(result)) # [2, 4, 6, 8, 10]
filter
要素抽出
data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
is_odd = lambda x: x % 2 == 1 # 奇数ならTrueを返す関数
result = filter(is_odd, data1) # filter関数で抽出
print(list(result)) # filterオブジェクトをリストに変換して表示[1, 3, 5, 7, 9]
zip
複数のリストを同時にループで処理する
data1 = [1, 2, 3]
data2 = ["a", "b", "c"]
for i, (x, y) in enumerate(zip(data1, data2)):
print(i, x, y)
出力0 1 a1 2 b2 3 c
- 引数の*の数の違い
arg1 通常引数。
関数に渡される値は1つ。*arg2 可変長引数。
関数に任意の数の位置引数を渡す。タプル**arg3 キーワード引数。
関数に任意の数のキーワード引数(名前付き引数)を渡す。
辞書型。keys/items/values
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?