Python資格試験対策でDIVE TO EXAMだけでは不十分なところをまとめてみた

Sponsored Link

DIVE TO EXAMのPython試験対策模試をうけて

DIVE TO EXAMで受験できる模試を受けて1000点取れるようにはなりましたが、得点源である3章、4章、5章、8章がやや弱いと感じました。

 

ということで、Pythonチュートリアルに立ち返って、ここは出そうだなというところに山を掛けてみようと思います。

created by Rinker
¥1,944 (2019/02/23 17:45:08時点 楽天市場調べ-詳細)

3章 気楽な入門編(出題率15.0%,出題数6)

数値

# 剰余算
# 余りである、2をかえす。
# 4章で素数探索ループでも使われています。
17 % 3

配列外参照

word = 'Python'
word[99]
# 配列外のIndexを指定した場合、IndexErrorが発生
# Javaで言うところのIndexOutOfBoundsexceptionが発生するわけですね
# ところが、
word[4:99]
# スライシングの場合は、範囲外の参照をいい具合に処理し、
# 上記の実行結果は'on'となります

多重代入、printの改行抑制等

# 以下式にて多重代入できる
a, b = 0, 1
while b < 10:
    print(b, end=',') # end=で改行抑制、出力末尾文字列の変更ができる
    a, b  = b, a+b
# 出力結果 1,1,2,3,5,8

4章 制御構造ツール(出題率22.5%,出題数9)

if文

# if文
x = 10
if x < 0:
    print('負数')
elif x == 0:   # Javaでいうelse ifはelifで表現
    print('ゼロ')
else
    print('その他')
print('x')
# 結果は
# その他
# x

for文

# for文
words = ['one','two','three']
for w in words:
    print(w, len(w)) # len関数は文字列の長さを返す
one 3
two 3
three 5
# ちなみに以下でも同様の結果となります
for i in range(len(words)):
    print(words[i], len(words[i]))
# その他
# x

break文,continue文

break文はfor文を抜けるときに使い、continue文ではループ内の処理をスキップするときに使います。

pp.26-7のサンプルプログラムは、どこにbreak,continueを入れればいいか確認しておきましょう。

docstring

ドキュメンテーション文字列docstringはクラスの説明に使います。Javaでいうjavadocですね。

inによる判定

aizen = 'No One Stand On The Sky'
if aizen in ('No', 'N'):
    print('最初から誰も天に立ってなどいない')
if aizen in ('Im'):
    print('私が天に立つ')

lambda(ラムダ)式

lambda式は無名関数を書くことができる。しかし、この形式は単一の指揮しか持つことができない。

コーディングル規約

  • タブを使用しない。インデントはスペース4つとする
  • 79文字以下で折り返す
  • 可能であればコメント行は独立させる
  • 演算子の周囲、カンマの後ろにはスペースを入れる。ただし、かっこのすぐ内側には入れない
  • クラスはキャメルケース(ClassNameのように)で、関数、メソッドはローワーケース(local_argのように)とする。参考
  • メソッド第一引数はselfを使う

5章 データ構造(出題率17.5%,出題数7)

リストオブジェクトのメソッド及びリスト操作

# リストからすべてのアイテム削除
# del a[:]と等価
list.clear()

# リストコピーを返却する
# a[:]と等価
list.copy()
from collections import deque
que = deque(['chad','ichigo','ishida'])
que.append('byakuya')
que.append('abarai')
# 先頭から高速に要素を削除する場合
que.popleft() # 'chad'
que
deque(['ichigo','ishida','byakuya','abarai'])
# 'chad'の霊圧が消えた

集合関数set

set関数は重複しない要素を順不同で取得できる。

ディクショナリによるループ

veg = {'ニンジン': '黄', 'かぼちゃ': '緑','ナス': '紫'}
for v, c in veg.item():
    print(v, c)
# 結果
# ニンジン 黄
# かぼちゃ 緑
# ナス 紫

enumerateによるループ

for i, v in enumerate(['zero','one','two','three']):
    print(i, v)
# 結果
# 0 zero
# 1 one
# 2 two
# 3 three

8章 エラーと例外(出題率10.0%,出題数4)

 try…except…else…finally

try内にはエラーが起きそうな処理(ファイルオープン等)を記載し、エラーが発生しない場合の処理はelse節で記載する。

finally節はエラーが起きようが起きまいが、try文が終了前に実行される。

ちなみに、except節で補足していない例外(以下の例の場合はZeroDivisionError等)はfinally節処理後にトレースが表示される。

try 
    raise OSError('…チャドの霊圧が…') # 1
    print('消えた…') #処理されない
except ValueError:
    print('霊圧には数値以外入力できません') #今回は処理されない
except OSError:
    print('いつから消えたと錯覚していた') # 2
else:
    #例外が発生しない場合の処理
    print('なん……だと……') 
finally:
    print('今までの戦いに勝てたのは、すべて月島さんのおかげじゃないか!') # 3
# 結果
# …チャドの霊圧が…
# いつから消えたと錯覚していた
# 今までの戦いに勝てたのは、すべて月島さんのおかげじゃないか!

最後に

ブリーチが終わってかなり経つ中で、このネタはかなり寒いかもしれません。

皆様の合格を心よりお祈りしております。

追伸–とうとうデータ分析試験も2019年夏に開催予定だそうなので、今のうちにエンジニア認定基礎試験に合格し、キャッチアップしましょう。

主教材は以下です。

created by Rinker
¥2,678 (2019/02/23 13:50:16時点 楽天市場調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください