
【Python3エンジニア認定基礎試験】誤答ノート(関数・コレクション)
1.はじめに
こんにちは、今日はPython3検定試験の準備問題を解いてみました。 関数とコレクションに関する問題ですが、どの言語をするにしても重要なので、必ず熟知しなければなりません。
2.5章:関数




**=>dictionary
*args (Arbitrary Arguments):
*argsは関数内で任意の数の位置引数を表すために使用されます。
*argsはタプルで渡された全ての位置引数を含んでいます。
これは関数内で複数の位置引数を処理するときに便利です。
**kwargs (Arbitrary Keyword Arguments):
**kwargs は関数内で任意の数のキーワード引数を表すために使用されます。
**kwargsはディクショナリーに渡された全てのキーワード引数を含んでいます。
これは関数内で複数のキーワード引数を処理する時に便利です。

*を先頭につけることで、要素を位置引数に展開して引数に渡せます。これをアンパックと呼びます。
**を先頭につけることで、キーワード引数にとして指定できます。
ラムダ関数(lambda function)はPythonで簡単な匿名関数を作るために使います。一般関数と同じようにデータを処理して返すことができますが、ラムダ関数は名前がなく、主に1行で簡単な演算を実行するために使われます。
add = lambda x, y: x + y
result = add(5, 3)
print(result) # => 8
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # => [2, 4, 6, 8, 10]

3.6章:コレクションの操作

dequeはPythonの内蔵モジュールであるcollectionsが提供する資料構造の一つで、"double-ended queue"の略です。 dequeはリストと似ていますが、両端で要素を追加したり削除する時、素早く動作することが主な特徴です。 dequeはスタック(Stack)やキュー(Queue)のような様々な資料構造を実装するのに便利です。
collectionsモジュールをimportした後、dequeオブジェクトを生成して使うことができます。
dequeは特にキューの演算をサポートするpopleft()メソッドを使って効率的なキューの実装を提供します。

tuple(["spam", "ham", "eggs"])だと、タプルになる。
[ ]の有無がポイント。






4.おわりに
今まで関数とコレクションで間違った問題をまとめてみました。*argsと**kwargsの違いと利用方法を注意しなければなりません。 この問題が一番難しかったからです。
フルスタックエンジニアを目指す
ソンさん
【参考】
『Python3エンジニア認定「基礎試験」問題集』(2023)