「Python3エンジニア認定 [基礎試験]」 合格を目指します。
使用教材:
・Pythonチュートリアル第4版 --オライリー・ジャパン--
・徹底攻略Python3エンジニア認定基礎試験 問題集 --impress--
前回の記事:
・Python3エンジニア認定基礎試験 勉強してみた1
・Python3エンジニア認定基礎試験 勉強してみた2
・Python3エンジニア認定基礎試験 勉強してみた3
こんにちは!今回も続きで、
徹底攻略Python3エンジニア認定基礎試験 問題集を解きました。
第7章 モジュール
7問中1問正解
第8章 ファイル入出力
7問中3問正解
以下間違えた箇所の確認です。
見直し
【モジュールのインポート】
関数などをファイルに記述して、インタープリタや別のファイルからそのファイルを利用できる仕組みのことをインポートといい、インポートされるファイルをモジュールといいます。
import calender
calender.prmonth(2000, 1)
【fromを使ったインポート】
モジュールに含まれる関数のみをインポートするには、下記のようにfromを使用します。
from モジュール名 import 関数名
from calc import add
【ワイルドカードを使ったインポート】
from モジュール名 import *
ただし、アンダースコア「_」で始まる名前はインポートされません。
なお、モジュールに__all__という文字列のリストが存在した場合は、
そのリスト内の名前だけインポートされます。
【asを使ったインポート】
asを使うと、モジュールや関数を別名でインポートできます。
import モジュール名 as モジュールの別名
import calendar as cal
from モジュール名 import 関数名 as 関数の別名
from calendar import calendar as cal
【__ name__】
__name__は、モジュールの属性であり、モジュール名が自動で代入されます。
メインモジュールで実行している場合は、 " __ main __ "が代入されます。
if __name__ == "__main__":
print("Main module") #何らかの処理
【__ init __.py】
package_name/ __ init __.pyというファイルがあるときに、
下記のようにpackage_nameをインポートすると、モジュールpackage_nameに
__ init __.pyの内容が読み込まれます。名前
import package_name
このように、ディレクトリに __ init __.pyというファイルを配置すると、
ディレクトリ名のモジュールとしてインポートできます。
このような構成をパッケージといいます。パッケージにすることで、
__ init __.pyだけでなく別の.pyファイルをまとめて扱えます。
この別のファイルをパッケージのサブモジュールといいます。
bookcard/
__ init __.py
dump.py #dump_cardが定義されている
bookcard/ __ init __.pyが存在すればbookcardがパッケージになります。
また、bookcard/ __ init __.pyが空ファイルであっても、次のようにして、
サブモジュールのdumpからdump_cardをインポートできます。
from bookcard.dump import dump_card
from . import dump # __ init __.pyに記述する内容
【相対インポート】
ドット「.」を使ったインポートを相対インポートといいます。
相対インポートは、パッケージ内のサブモジュールをインポートする方法で、
サブモジュールに対してのみ実行できます。
相対インポートでは、次のようにサブモジュールを指定します。
from . import サブモジュール名
from .. import サブモジュール名
from . サブモジュール名 import 名前
from .. サブモジュール名 import 名前
bookcard/
__init__.py
dump.py
load/
__init__.py #このファイルの内容を考える
core.py
from . import core
from .. import dump
from ..dump import *
【open()関数】
ファイルの操作ができる関数です。
mode引数を追加することで、ファイルの開き方を指定できます。
open("ファイル名", mode ="モード")
使用文字 | 意味 |
---|---|
"r" | 読み込み専用 |
"r+" | 読み書き両用 |
"w" | 新規書き込み |
"a" | 追加書き込み |
"b" | バイナリモード |
※バイナリモード("b")だけの指定はできない。
【with文】
ファイルを閉じるにはopen()メソッドを使用します。
また、with文を使うことで、この閉じる処理が自動で行われます。
この処理は例外が発生したときにも行われます。
with open("ファイル名") as 変数:
# ファイルの処理
【ファイルを1行ずつ読み込む】
for s in fp: # 変数sに1行入る
for s in fp.readlines(): # 変数sに1行入る
for s in list(fp): # 変数sに1行入る
【JSON形式の書き込み】
JSON(JavaScript Object Notation)とは、JavaScriptのオブジェクト表記を用いたデータ交換用フォーマットのことです。Pythonで作成したオブジェクトをJSON形式で書き込むには、json.dump()メソッドを使用します。
json.dump(data, fp) # data:JSON形式に変換するオブジェクト
json.dump(fp=fp, obj=data) # data:JSON形式に変換するオブジェクト
fp.write(json.dumps(data)) # data:JSON形式に変換するオブジェクト
【JSON形式の読み込み】
JSON形式のデータを読み込んで、Pythonのオブジェクトとして取得するには、
json.load()メソッドを使用します。
json.load(fp)
json.loads(fp.read()) # fp.read():JSON形式の文字列