Python 3エンジニア認定基礎試験~模擬試験⑧~

1. 
次のコードについて、urlopenにタイムアウトを設定する理由として正しいものを選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com", timeout=10)

2. 
次のコードで、相対インポートが失敗する理由を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── module1.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module2.py
# module2.py
from ..module1 import greet

3. 
次のコードの出力結果を選んでください。

# package/subpackage/module.py
def greet():
return "Hello from module!"

# main.py
from package.subpackage import module
print(module.greet())

4. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module.py
# subpackage/__init__.py
__all__ = ['module']

# main.py
from package.subpackage import *
print('module' in globals())

5. 
Pythonの標準ライブラリでHTTPリクエストを行うために使用されるモジュールとして正しいものを選んでください。

6. 
次のコードを実行したときの出力結果は何でしょうか?

age = 18
result = "成人" if age >= 20 else "未成年"
print(result)

7. 
変数scoreが60以上なら「合格」、そうでなければ「不合格」と表示する条件式はどれでしょうか?

8. 
変数nが5と10の両方で割り切れる場合に「5と10の倍数」、そうでなければ「倍数ではない」と表示するコードはどれでしょうか?

9. 
次のコードについて、モックを使用したテストの結果として正しいものを選んでください。

import unittest
from unittest.mock import MagicMock

class TestMockExample(unittest.TestCase):
def test_mock(self):
mock_function = MagicMock(return_value=42)
result = mock_function()
self.assertEqual(result, 42)

if __name__ == "__main__":
unittest.main()

10. 
次のコードで、サブパッケージのsubpackage内にあるモジュールmoduleを読み込む正しい方法を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module.py

11. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module2.py
# │ ├── module3.py
# module2.py
from .module3 import greet as hello
print(hello())

# module3.py
def greet():
return "Hello from module3"

12. 
次のコードで、module3.py内の関数funcを相対インポートでインポートする正しい方法を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── module3.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module4.py
# module4.py から module3.py の func をインポートする

13. 
次のコードを実行したときの出力結果は何でしょうか?

marks = 55
result = "Excellent" if marks >= 90 else "Good" if marks >= 75 else "Average" if marks >= 50 else "Poor"
print(result)

14. 
変数xが0でなければ「非ゼロ」と表示し、0であれば「ゼロ」と表示するコードはどれでしょうか?

15. 
次のコードを実行したときの出力結果は何でしょうか?

x = -1
y = 1
result = "正の数" if x > 0 or y > 0 else "非正の数"
print(result)

16. 
次のコードの動作として正しい説明を選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com")
print(response.status)

17. 
変数tempが25度以上なら「暑いです」、そうでなければ「快適です」と表示する条件式はどれでしょうか?

18. 
次のコードについて、テストメソッド名に必要なルールとして正しいものを選んでください。

import unittest

class TestExample(unittest.TestCase):
def test_something(self):
self.assertTrue(True)

19. 
変数scoreが50以上の場合に「合格」、そうでなければ「不合格」と表示するコードはどれでしょうか?

20. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.request

try:
response = urllib.request.urlopen("https://www.example.com")
print(response.read().decode("utf-8")[:20])
except urllib.error.HTTPError as e:
print(f"HTTP Error: {e.code}")
except urllib.error.URLError as e:
print(f"URL Error: {e.reason}")

21. 
次のコードで、親パッケージを明示的に参照せずにサブパッケージのモジュールをインポートする方法を選んでください。

# current module: package/subpackage/module.py
from ... import sibling_module

22. 
次のコードについて、テストスキップの用途として正しい説明を選んでください。

import unittest

class TestExample(unittest.TestCase):
@unittest.skip("Not implemented yet")
def test_case(self):
self.assertTrue(True)

23. 
変数aとbの両方が正の数である場合に「両方正の数」、それ以外の場合に「どちらかまたは両方が負またはゼロ」と表示するコードはどれでしょうか?

24. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module.py
# subpackage/module.py
def add(a, b):
return a + b

# main.py
import package.subpackage.module as mod
print(mod.add(3, 7))

25. 
次のコードを実行した場合の結果として正しいものを選んでください。

import unittest
from unittest.mock import patch

class TestPatchExample(unittest.TestCase):
@patch("builtins.print")
def test_patch(self, mock_print):
print("Hello, World!")
mock_print.assert_called_with("Hello, World!")

if __name__ == "__main__":
unittest.main()

26. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module2.py
# │ ├── module3.py
# module2.py
from . import module3
print(dir(module3))

# module3.py
def greet():
return "Hello from module3"

class Greeter:
def say_hello(self):
return "Hello, world!"

27. 
次のコードを実行したときの出力結果は何でしょうか?

num = 5
result = "偶数" if num % 2 == 0 else "奇数"
print(result)

28. 
次のコードを実行した場合の結果として正しいものを選んでください。

import unittest
from unittest.mock import MagicMock

class TestMockCallCount(unittest.TestCase):
def test_call_count(self):
mock_function = MagicMock()
mock_function()
mock_function()
self.assertEqual(mock_function.call_count, 2)

if __name__ == "__main__":
unittest.main()

29. 
次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com")
print(response.getheaders())

30. 
次のコードを実行したときの出力結果は何でしょうか?

score = 70
result = "合格" if score >= 60 else "不合格"
print(result)

31. 
unittestのmockモジュールの用途として正しいものを選んでください。

32. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module2.py
# │ ├── module3.py
# module2.py
from .module3 import greet
from .. import module1
print(greet(), module1.__name__)

# module3.py
def greet():
return "Hello from module3"

# module1.py
def info():
return "Info from module1"

33. 
次のコードについて、HTTP POSTリクエストのボディ内容として正しいものを選んでください。

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({"key": "value"}).encode("utf-8")
req = urllib.request.Request(
"https://www.example.com",
data=data,
method="POST"
)
response = urllib.request.urlopen(req)
print(response.status)

34. 
次のコードを実行した場合の結果として正しいものを選んでください。

import unittest

class TestExample(unittest.TestCase):
def test_skip(self):
self.skipTest("This test is skipped")

if __name__ == "__main__":
unittest.main()

35. 
次のコードについて、クエリパラメータを解析するための正しい関数を選んでください。

import urllib.parse

url = "https://www.example.com/path?name=John&age=30"
parsed_url = urllib.parse.urlparse(url)
query_params = urllib.parse.parse_qs(parsed_url.query)
print(query_params)

36. 
変数numが偶数である場合に「偶数」、奇数である場合に「奇数」と表示するコードはどれでしょうか?

37. 
次のコードの実行結果を選んでください。

# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module.py
# subpackage/__init__.py
from .module import hello

# main.py
from package.subpackage import hello
print(hello())

38. 
次のコードで、from ... import構文を使用してサブパッケージをインポートする正しい方法を選んでください。

# main.py
# パッケージ構造:
# package/
# ├── __init__.py
# ├── subpackage/
# │ ├── __init__.py
# │ ├── module.py

39. 
次のコードでfrom package import *を使用した場合、インポートされるものを制御する方法を選んでください。

40. 
次のコードについて、出力結果として正しいものを選んでください。

import unittest

class TestListOperations(unittest.TestCase):
def test_list_modification(self):
lst = [1, 2, 3]
lst.append(4)
self.assertListEqual(lst, [1, 2, 3, 4])

if __name__ == "__main__":
unittest.main()

コメントを残すにはログインしてください。