第263問osモジュールにおいて、カレントディレクトリを取得する関数と移動する関数の正しい組み合わせはどれか。
- Aos.pwd() と os.cd()
- Bos.getcwd() と os.chdir()
- Cos.getcwd() と os.cd()
- Dos.pwd() と os.chdir()
Pythonに標準で付属する豊富なライブラリを一通り学ぶ、総仕上げの分野です。os・globによるファイル操作、sys.argvでのコマンドライン引数取得、argparseによる引数解析、math・random・statisticsといった数値・統計処理、urllib.requestによるネットワークアクセス、datetimeによる日時処理が頻出です。各関数の役割と戻り値、存在しない関数を呼んだときのAttributeErrorなどが問われます。範囲は広いものの、代表的なモジュールと主要関数の対応を一覧で押さえれば効率よく得点できます。あわせてPEP 8の総復習も行いましょう。出題数40問。
この分野の問題40問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。
クイズモードで挑戦 →正解:B.osモジュールには os.pwd() や os.cd() という関数は存在しない。
LinuxなどのOSコマンドとは異なり、osモジュールにos.pwd()やos.cd()という関数は存在しません。
この問題の解説ページを開く →正解:D.任意の文字の並びにマッチするが「.」で始まるファイルには対応しない。
ワイルドカードの*は任意の文字の並びにマッチしますが、「.」で始まるファイルには対応しません。
この問題の解説ページを開く →正解:A.数字の0から9のうち重複を許して10個がランダムに出力される。
random.choice()は過去の出力に関係なく選ぶため、10回の出力の中で重複する可能性があります。
この問題の解説ページを開く →正解:A.0以上1未満のランダムな値(小数)を返し引数は指定できない。
random.random()関数は0以上1未満のランダムな小数を返し、引数を指定することはできません。
この問題の解説ページを開く →正解:A.self.assertEqual(actual, expected)
TestCaseクラスを継承したメソッド内で、結果が同じか確認するには「self.assertEqual(actual, expected)」を使います。
この問題の解説ページを開く →正解:A.指定した幅(24文字)に収まるように文字列を整形(改行)する。
textwrap.fill(文字列, width=値)を使うと、指定した幅に収まるように改行を含めて整形します。
この問題の解説ページを開く →正解:B.OSに複数バージョンのPythonが導入されていれば仮想環境作成時にバージョンを指定できる。
OSに複数バージョンのPythonがあれば、仮想環境作成時に使用するバージョンを指定できます。
この問題の解説ページを開く →正解:C.source venv/bin/activate
UnixやmacOSで仮想環境を有効化するには「source ディレクトリ名/bin/activate」を実行します。
この問題の解説ページを開く →正解:C.venv\\Scripts\\activate.bat
Windows環境で仮想環境を有効化する書式は「ディレクトリ名\\Scripts\\activate.bat」です。
この問題の解説ページを開く →正解:A.ファイルを介して環境間でパッケージの種類やバージョンを揃えるため
pip freezeの出力をrequirements.txtに保存し、別の環境で入力として使うことで、環境間のパッケージを揃えられます。
この問題の解説ページを開く →正解:C.一次プロンプトは「>>>」で二次プロンプトは「...」である。
対話モードの一次プロンプトは「>>>」、複数行にわたる構文の入力時の二次プロンプトは「...」です。インデントは自動挿入されません。
この問題の解説ページを開く →正解:C.ソースコードの幅が100文字を超えないように折り返す。
PEP 8では、ソースコードの幅は79文字を超えないように折り返すことが推奨されています(100文字は不適切)。
この問題の解説ページを開く →正解:A.インデックスに「-1」を指定すると末尾の要素を指定できる。
リストの先頭インデックスは0で、負数のインデックス「-1」を使うと末尾の要素を指定できます。また、リストは更新可能です。
この問題の解説ページを開く →