理系だけど文系SE

日々の生活で気になったことをつらつらと書き連ねていくブログです。

【Python】認定試験対策 ~9章:クラス~

 

f:id:pekitarin:20170910161931p:plain

Python 3 エンジニア認定基礎試験合格に向けての対策・第9弾です。

本記事では認定試験教材であるオライリー・ジャパン出版のPythonチュートリアル(第3版)の「9章:クラス」を見ていきます。

(※実績に基づいたものではなく、合格に向けた勉強記録となります。)

 

 

目次

 

本記事での勉強範囲

「9章:クラス」

出題数:2問

出題比率:5.0%

f:id:pekitarin:20170910213247p:plain

 

勉強範囲概要

9.1 名前とオブジェクトについて一言

9.2 Pythonとスコープと名前空間

 9.2.1 スコープと名前空間の例

9.3 はじめてのクラス

 9.3.1 クラス定義の構文

 9.3.2 クラスオブジェクト

 9.3.3 インスタンスオブジェクト

 9.3.4 メソッドオブジェクト

 9.3.5 クラス変数とインスタンス変数

9.4 その他いろいろ

9.5 継承

 9.5.1 多重継承

9.6 プライベート変数

9.7 残り物あれこれ

9.8 例外もまたクラスである

9.9 反復子(iterator)

9.10 ジェネレータ

9.11 ジェネレータ式

 

ポイント

・名前空間とは、名前とオブジェクトの対応付け(マッピング)のことである。

・「z.real」は、オブジェクト z の属性realを表す。

・スコープとは、ある名前空間から直接アクセスできるプログラムテキスト上の範囲である。

・クラス定義の最も簡単な形は以下のようになる。

 例)

 class ClassName:

  <文1>

  :

  <文N>

・クラス定義は関数定義と同様で、有効化するためには一度実行する必要がある。

・クラスのインスタンス化には関数の表記法が使用される。以下のようにすることでクラスの新しいインスタンスが生成され、ローカル変数 xに代入される。

 例)

 x = MyClass()

・メソッドは以下のようにどこかに格納して後から実行することができる。

 例)

 xf = x.f

 while True:

  print(xf())

・クラスの継承を行う場合は以下のような構文を書く。ここで、DerivedClassNameは派生クラス、BaseClassNameは基底クラスを表している。

 例)

 class DerivedClassName(BaseClassName):

  <文1>

  :

  <文N>

・Pythonでは、以下のように多重継承を行うことも可能である。

 例)

 class DerivedClassName(Base1, Base2, Base3):

  <文1>

  :

  <文N>

 

まとめ

・約22ページの試験範囲から出題数2問とされている章のため、試験対策としては比較的優先度は高くない分野。

実際にPythonを使いこなしていくためには必要な知識ですが、試験対策限定で考えるのであれば後回しにしても良いでしょう。

余裕がある場合は、「クラスオブジェクト」、「インスタンスオブジェクト」、「メソッドオブジェクト」、「継承」についてはそれぞれ使い方を含めて覚えておきたいところです。

 

 

 

トップページ