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

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?