中級
STAGE 1
110問目 • 10
  • Q1

    クラスを定義するキーワードはどれですか?

    ANSWER
    class
    クリックして解説を表示
    EXPLANATION

    classキーワードでクラスを定義します。class クラス名:の形式で書きます。

  • Q2

    クラスのインスタンスを作成するときに自動的に呼ばれるメソッドはどれですか?

    ANSWER
    init
    クリックして解説を表示
    EXPLANATION

    __init__メソッドはコンストラクタで、インスタンス作成時に自動的に呼ばれます。

  • Q3

    インスタンスメソッドの最初の引数は何ですか?

    ANSWER
    self
    クリックして解説を表示
    EXPLANATION

    インスタンスメソッドの最初の引数はselfで、インスタンス自身への参照です。

  • Q4

    次のコードを実行すると何が表示されますか?

    class Person:
        def __init__(self, name):
            self.name = name
        
        def greet(self):
            return f"Hello, {self.name}!"
    
    p = Person("太郎")
    print(p.greet())
    ANSWER
    Hello, 太郎!
    クリックして解説を表示
    EXPLANATION

    Personクラスのインスタンスを作成し、greet()メソッドを呼び出すと「Hello, 太郎!」が返されます。

  • Q5

    クラスの継承の正しい書き方はどれですか?

    ANSWER
    class Child(Parent):
    クリックして解説を表示
    EXPLANATION

    継承はclass 子クラス(親クラス):の形式で書きます。

  • Q6

    親クラスのメソッドを呼び出すにはどうしますか?

    ANSWER
    super().method()
    クリックして解説を表示
    EXPLANATION

    super()関数で親クラスにアクセスし、そのメソッドを呼び出せます。

  • Q7

    クラス変数とインスタンス変数の違いは何ですか?

    ANSWER
    クラス変数は共有、インスタンス変数は固有
    クリックして解説を表示
    EXPLANATION

    クラス変数はすべてのインスタンスで共有され、インスタンス変数は各インスタンス固有です。

  • Q8

    クラスメソッドを定義するデコレータはどれですか?

    ANSWER
    @classmethod
    クリックして解説を表示
    EXPLANATION

    @classmethodデコレータでクラスメソッドを定義します。最初の引数はcls(クラス自体)です。

  • Q9

    スタティックメソッドを定義するデコレータはどれですか?

    ANSWER
    @staticmethod
    クリックして解説を表示
    EXPLANATION

    @staticmethodデコレータでスタティックメソッドを定義します。selfclsを受け取りません。

  • Q10

    プロパティを定義するデコレータはどれですか?

    ANSWER
    @property
    クリックして解説を表示
    EXPLANATION

    @propertyデコレータでゲッターを定義し、属性のようにアクセスできるようにします。

STAGE 2
1120問目 • 10
  • Q11

    例外を発生させるキーワードはどれですか?

    ANSWER
    raise
    クリックして解説を表示
    EXPLANATION

    raiseキーワードで例外を発生させます。

  • Q12

    例外を捕捉するキーワードはどれですか?

    ANSWER
    try-except
    クリックして解説を表示
    EXPLANATION

    tryexceptで例外を捕捉します。

  • Q13

    次のコードを実行すると何が表示されますか?

    try:
        x = 1 / 0
    except ZeroDivisionError:
        print("エラー")
    else:
        print("成功")
    ANSWER
    エラー
    クリックして解説を表示
    EXPLANATION

    0で除算するとZeroDivisionErrorが発生し、exceptブロックが実行されます。

  • Q14

    finallyブロックの特徴は何ですか?

    ANSWER
    例外の有無に関わらず必ず実行
    クリックして解説を表示
    EXPLANATION

    finallyブロックは例外の有無に関わらず必ず実行されます。

  • Q15

    複数の例外を1つのexceptで捕捉する書き方はどれですか?

    ANSWER
    except (TypeError, ValueError):
    クリックして解説を表示
    EXPLANATION

    複数の例外をタプルで指定します:except (TypeError, ValueError):

  • Q16

    ファイルを開く関数はどれですか?

    ANSWER
    open()
    クリックして解説を表示
    EXPLANATION

    open()関数でファイルを開きます。

  • Q17

    ファイルを書き込みモードで開く引数はどれですか?

    ANSWER
    "w"
    クリックして解説を表示
    EXPLANATION

    "w"は書き込みモードです。既存の内容は上書きされます。

  • Q18

    ファイルを追記モードで開く引数はどれですか?

    ANSWER
    "a"
    クリックして解説を表示
    EXPLANATION

    "a"は追記モードです。既存の内容の末尾に追加されます。

  • Q19

    ファイルを安全に扱うための推奨される書き方はどれですか?

    ANSWER
    with open() as f:
    クリックして解説を表示
    EXPLANATION

    with文を使うと、ブロック終了時に自動的にファイルがクローズされます。

  • Q20

    ファイルの全内容を文字列として読み込むメソッドはどれですか?

    ANSWER
    read()
    クリックして解説を表示
    EXPLANATION

    read()メソッドでファイルの全内容を文字列として読み込みます。

STAGE 3
2130問目 • 10
  • Q21

    ファイルを1行ずつリストで読み込むメソッドはどれですか?

    ANSWER
    readlines()
    クリックして解説を表示
    EXPLANATION

    readlines()メソッドで各行を要素とするリストを取得します。

  • Q22

    モジュールをインポートするキーワードはどれですか?

    ANSWER
    import
    クリックして解説を表示
    EXPLANATION

    importキーワードでモジュールをインポートします。

  • Q23

    モジュールから特定の関数だけをインポートする書き方はどれですか?

    ANSWER
    from math import sqrt
    クリックして解説を表示
    EXPLANATION

    from モジュール import 関数の形式で特定の関数だけをインポートできます。

  • Q24

    モジュールに別名を付けてインポートする書き方はどれですか?

    ANSWER
    import numpy as np
    クリックして解説を表示
    EXPLANATION

    import モジュール as 別名の形式で別名を付けられます。

  • Q25

    リスト内包表記の正しい書き方はどれですか?

    ANSWER
    [x*2 for x in range(10)]
    クリックして解説を表示
    EXPLANATION

    [式 for 変数 in イテラブル]の形式でリスト内包表記を書きます。

  • Q26

    次のコードを実行すると何が表示されますか?

    result = [x**2 for x in range(5)]
    print(result)
    ANSWER
    [0, 1, 4, 9, 16]
    クリックして解説を表示
    EXPLANATION

    0から4の各数を2乗したリスト[0, 1, 4, 9, 16]が作成されます。

  • Q27

    条件付きリスト内包表記の書き方はどれですか?

    ANSWER
    [x for x in range(10) if x > 5]
    クリックして解説を表示
    EXPLANATION

    [式 for 変数 in イテラブル if 条件]の形式で条件を追加できます。

  • Q28

    次のコードを実行すると何が表示されますか?

    result = [x for x in range(10) if x % 2 == 0]
    print(result)
    ANSWER
    [0, 2, 4, 6, 8]
    クリックして解説を表示
    EXPLANATION

    0から9の偶数のみをフィルタリングして[0, 2, 4, 6, 8]が作成されます。

  • Q29

    辞書内包表記の正しい書き方はどれですか?

    ANSWER
    {k: v for k, v in items}
    クリックして解説を表示
    EXPLANATION

    {キー: 値 for 変数 in イテラブル}の形式で辞書内包表記を書きます。

  • Q30

    ラムダ関数の正しい書き方はどれですか?

    ANSWER
    lambda x: x * 2
    クリックして解説を表示
    EXPLANATION

    lambda 引数: 式の形式でラムダ(無名)関数を定義します。

STAGE 4
3140問目 • 10
  • Q31

    次のコードを実行すると何が表示されますか?

    double = lambda x: x * 2
    print(double(5))
    ANSWER
    10
    クリックして解説を表示
    EXPLANATION

    ラムダ関数で5を2倍して10が返されます。

  • Q32

    map()関数は何をしますか?

    ANSWER
    各要素に関数を適用する
    クリックして解説を表示
    EXPLANATION

    map()はイテラブルの各要素に関数を適用した結果を返します。

  • Q33

    次のコードを実行すると何が表示されますか?

    numbers = [1, 2, 3, 4]
    result = list(map(lambda x: x * 2, numbers))
    print(result)
    ANSWER
    [2, 4, 6, 8]
    クリックして解説を表示
    EXPLANATION

    各要素を2倍にして[2, 4, 6, 8]が作成されます。

  • Q34

    filter()関数は何をしますか?

    ANSWER
    条件を満たす要素を返す
    クリックして解説を表示
    EXPLANATION

    filter()は条件を満たす要素だけを返します。

  • Q35

    次のコードを実行すると何が表示されますか?

    numbers = [1, 2, 3, 4, 5, 6]
    result = list(filter(lambda x: x % 2 == 0, numbers))
    print(result)
    ANSWER
    [2, 4, 6]
    クリックして解説を表示
    EXPLANATION

    偶数のみをフィルタリングして[2, 4, 6]が返されます。

  • Q36

    sorted()関数とlist.sort()メソッドの違いは何ですか?

    ANSWER
    sortedは新しいリストを返し、sortは元のリストを変更
    クリックして解説を表示
    EXPLANATION

    sorted()は新しいリストを返し、sort()は元のリストを変更します。

  • Q37

    リストを降順でソートする方法はどれですか?

    ANSWER
    sort(reverse=True)
    クリックして解説を表示
    EXPLANATION

    sort(reverse=True)またはsorted(list, reverse=True)で降順ソートできます。

  • Q38

    カスタムキーでソートする方法はどれですか?

    ANSWER
    sort(key=func)
    クリックして解説を表示
    EXPLANATION

    key引数にソート基準を返す関数を指定します。例:sorted(list, key=len)

  • Q39

    enumerate()関数は何を返しますか?

    ANSWER
    インデックスと要素のペア
    クリックして解説を表示
    EXPLANATION

    enumerate()はインデックスと要素のペア(タプル)を返すイテレータです。

  • Q40

    次のコードを実行すると何が表示されますか?

    fruits = ["apple", "banana"]
    for i, fruit in enumerate(fruits):
        print(f"{i}: {fruit}")
    ANSWER
    0: apple と 1: banana
    クリックして解説を表示
    EXPLANATION

    インデックスと要素が「0: apple」「1: banana」の形式で表示されます。

STAGE 5
4150問目 • 10
  • Q41

    zip()関数は何をしますか?

    ANSWER
    複数のイテラブルの要素を組み合わせる
    クリックして解説を表示
    EXPLANATION

    zip()は複数のイテラブルの要素を組み合わせてタプルのイテレータを返します。

  • Q42

    次のコードを実行すると何が表示されますか?

    names = ["Alice", "Bob"]
    ages = [25, 30]
    for name, age in zip(names, ages):
        print(f"{name}: {age}")
    ANSWER
    Alice: 25 と Bob: 30
    クリックして解説を表示
    EXPLANATION

    2つのリストの要素が組み合わされて表示されます。

  • Q43

    any()関数は何を返しますか?

    ANSWER
    1つでも真の要素があればTrue
    クリックして解説を表示
    EXPLANATION

    any()はイテラブル内に1つでも真の要素があればTrueを返します。

  • Q44

    all()関数は何を返しますか?

    ANSWER
    すべての要素が真のときTrue
    クリックして解説を表示
    EXPLANATION

    all()はイテラブル内のすべての要素が真のときTrueを返します。

  • Q45

    デコレータとは何ですか?

    ANSWER
    関数の機能を修飾・拡張する関数
    クリックして解説を表示
    EXPLANATION

    デコレータは関数やクラスの機能を修飾・拡張するための関数です。

  • Q46

    デコレータの使い方として正しいのはどれですか?

    ANSWER
    @decorator def func():
    クリックして解説を表示
    EXPLANATION

    関数定義の直前に@デコレータ名を書きます。

  • Q47

    *argsは何を表しますか?

    ANSWER
    可変長の位置引数
    クリックして解説を表示
    EXPLANATION

    *argsは可変長の位置引数をタプルとして受け取ります。

  • Q48

    **kwargsは何を表しますか?

    ANSWER
    可変長のキーワード引数
    クリックして解説を表示
    EXPLANATION

    **kwargsは可変長のキーワード引数を辞書として受け取ります。

  • Q49

    次のコードを実行すると何が表示されますか?

    def func(*args):
        return sum(args)
    
    print(func(1, 2, 3, 4))
    ANSWER
    10
    クリックして解説を表示
    EXPLANATION

    *argsですべての引数をタプルとして受け取り、合計の10が返されます。

  • Q50

    文字列をバイト列に変換するメソッドはどれですか?

    ANSWER
    encode()
    クリックして解説を表示
    EXPLANATION

    encode()メソッドで文字列をバイト列に変換します。

STAGE 6
5160問目 • 10
  • Q51

    バイト列を文字列に変換するメソッドはどれですか?

    ANSWER
    decode()
    クリックして解説を表示
    EXPLANATION

    decode()メソッドでバイト列を文字列に変換します。

  • Q52

    JSONデータを読み込むために使うモジュールはどれですか?

    ANSWER
    json
    クリックして解説を表示
    EXPLANATION

    jsonモジュールでJSONデータの読み書きができます。

  • Q53

    JSONファイルを読み込む関数はどれですか?

    ANSWER
    json.load()
    クリックして解説を表示
    EXPLANATION

    json.load()でファイルオブジェクトからJSONを読み込みます。

  • Q54

    Pythonオブジェクトをファイルにに書き込む関数はどれですか?

    ANSWER
    json.dump()
    クリックして解説を表示
    EXPLANATION

    json.dump()でPythonオブジェクトをJSONファイルに書き込みます。

  • Q55

    JSON文字列をPythonオブジェクトに変換する関数はどれですか?

    ANSWER
    json.loads()
    クリックして解説を表示
    EXPLANATION

    json.loads()でJSON文字列をPythonオブジェクトに変換します(sはstringの意)。

  • Q56

    PythonオブジェクトをJSON文字列に変換する関数はどれですか?

    ANSWER
    json.dumps()
    クリックして解説を表示
    EXPLANATION

    json.dumps()でPythonオブジェクトをJSON文字列に変換します。

  • Q57

    現在の日付と時刻を取得するモジュールはどれですか?

    ANSWER
    datetime
    クリックして解説を表示
    EXPLANATION

    datetimeモジュールで日付と時刻を扱います。

  • Q58

    現在の日時を取得する方法はどれですか?

    ANSWER
    datetime.datetime.now()
    クリックして解説を表示
    EXPLANATION

    datetime.datetime.now()で現在の日時を取得します。

  • Q59

    日時を指定したフォーマットの文字列に変換するメソッドはどれですか?

    ANSWER
    strftime()
    クリックして解説を表示
    EXPLANATION

    strftime()メソッドで日時をフォーマット済み文字列に変換します。

  • Q60

    文字列を日時オブジェクトに変換するメソッドはどれですか?

    ANSWER
    strptime()
    クリックして解説を表示
    EXPLANATION

    strptime()メソッドで文字列を日時オブジェクトにパースします。

STAGE 7
6170問目 • 10
  • Q61

    正規表現を扱うモジュールはどれですか?

    ANSWER
    re
    クリックして解説を表示
    EXPLANATION

    reモジュールで正規表現を扱います。

  • Q62

    正規表現でパターンに最初にマッチする部分を探す関数はどれですか?

    ANSWER
    re.search()
    クリックして解説を表示
    EXPLANATION

    re.search()はパターンに最初にマッチする部分を探します。

  • Q63

    正規表現でパターンにマッチするすべての部分をリストで返す関数はどれですか?

    ANSWER
    re.findall()
    クリックして解説を表示
    EXPLANATION

    re.findall()はパターンにマッチするすべての部分をリストで返します。

  • Q64

    正規表現で置換を行う関数はどれですか?

    ANSWER
    re.sub()
    クリックして解説を表示
    EXPLANATION

    re.sub()でパターンにマッチする部分を置換します。

  • Q65

    osモジュールでカレントディレクトリを取得する関数はどれですか?

    ANSWER
    os.getcwd()
    クリックして解説を表示
    EXPLANATION

    os.getcwd()で現在の作業ディレクトリを取得します。

  • Q66

    osモジュールでディレクトリ内のファイル一覧を取得する関数はどれですか?

    ANSWER
    os.listdir()
    クリックして解説を表示
    EXPLANATION

    os.listdir()でディレクトリ内のファイルとフォルダの一覧を取得します。

  • Q67

    パスの結合に使う関数はどれですか?

    ANSWER
    os.path.join()
    クリックして解説を表示
    EXPLANATION

    os.path.join()でパスをOS依存の区切り文字で結合します。

  • Q68

    ファイルが存在するか確認する関数はどれですか?

    ANSWER
    os.path.exists()
    クリックして解説を表示
    EXPLANATION

    os.path.exists()でパスが存在するか確認します。

  • Q69

    セット(集合)の和集合を求める演算子はどれですか?

    ANSWER
    |
    クリックして解説を表示
    EXPLANATION

    |演算子またはunion()メソッドで和集合を求めます。

  • Q70

    セット(集合)の積集合を求める演算子はどれですか?

    ANSWER
    &
    クリックして解説を表示
    EXPLANATION

    &演算子またはintersection()メソッドで積集合を求めます。

STAGE 8
7180問目 • 10
  • Q71

    セット(集合)の差集合を求める演算子はどれですか?

    ANSWER
  • クリックして解説を表示
    EXPLANATION

    -演算子またはdifference()メソッドで差集合を求めます。

  • Q72

    isinstance()関数は何をチェックしますか?

    ANSWER
    オブジェクトが特定のクラスのインスタンスか
    クリックして解説を表示
    EXPLANATION

    isinstance()はオブジェクトが特定のクラスのインスタンスかをチェックします。

  • Q73

    オブジェクトの属性一覧を取得する関数はどれですか?

    ANSWER
    dir()
    クリックして解説を表示
    EXPLANATION

    dir()関数でオブジェクトの属性(メソッドやプロパティ)一覧を取得します。

  • Q74

    オブジェクトが特定の属性を持つか確認する関数はどれですか?

    ANSWER
    hasattr()
    クリックして解説を表示
    EXPLANATION

    hasattr()でオブジェクトが特定の属性を持つか確認します。

  • Q75

    オブジェクトの属性を動的に取得する関数はどれですか?

    ANSWER
    getattr()
    クリックして解説を表示
    EXPLANATION

    getattr()で属性名を文字列で指定して属性を取得します。

  • Q76

    オブジェクトの属性を動的に設定する関数はどれですか?

    ANSWER
    setattr()
    クリックして解説を表示
    EXPLANATION

    setattr()で属性名を文字列で指定して属性を設定します。

  • Q77

    名前付きタプル(namedtuple)を定義するモジュールはどれですか?

    ANSWER
    collections
    クリックして解説を表示
    EXPLANATION

    collectionsモジュールのnamedtupleで名前付きタプルを定義します。

  • Q78

    デフォルト値を持つ辞書を作成するクラスはどれですか?

    ANSWER
    collections.defaultdict
    クリックして解説を表示
    EXPLANATION

    collections.defaultdictで存在しないキーにアクセスしたときのデフォルト値を指定できます。

  • Q79

    要素の出現回数を数えるクラスはどれですか?

    ANSWER
    collections.Counter
    クリックして解説を表示
    EXPLANATION

    collections.Counterで要素の出現回数をカウントできます。

  • Q80

    次のコードを実行すると何が表示されますか?

    from collections import Counter
    data = ["a", "b", "a", "c", "a", "b"]
    c = Counter(data)
    print(c["a"])
    ANSWER
    3
    クリックして解説を表示
    EXPLANATION

    Counterで「a」の出現回数をカウントすると3回です。

STAGE 9
8190問目 • 10
  • Q81

    関数の結果をキャッシュするデコレータはどれですか?

    ANSWER
    @functools.lru_cache
    クリックして解説を表示
    EXPLANATION

    functools.lru_cacheで関数の結果をメモ化(キャッシュ)できます。

  • Q82

    部分適用された関数を作成する関数はどれですか?

    ANSWER
    functools.partial
    クリックして解説を表示
    EXPLANATION

    functools.partialで引数の一部を固定した新しい関数を作成できます。

  • Q83

    itertoolsモジュールのchain()関数は何をしますか?

    ANSWER
    複数のイテラブルを連結する
    クリックして解説を表示
    EXPLANATION

    chain()は複数のイテラブルを連結して1つのイテレータにします。

  • Q84

    Pythonのプライベート属性の命名規則はどれですか?

    ANSWER
    _attr または __attr
    クリックして解説を表示
    EXPLANATION

    アンダースコア1つ(_attr)は内部使用を示し、2つ(__attr)は名前マングリングが適用されます。

  • Q85

    抽象基底クラスを定義するモジュールはどれですか?

    ANSWER
    abc
    クリックして解説を表示
    EXPLANATION

    abcモジュールで抽象基底クラス(Abstract Base Class)を定義します。

  • Q86

    抽象メソッドを定義するデコレータはどれですか?

    ANSWER
    @abstractmethod
    クリックして解説を表示
    EXPLANATION

    @abstractmethodデコレータで抽象メソッドを定義します。

  • Q87

    データクラスを定義するデコレータはどれですか?

    ANSWER
    @dataclass
    クリックして解説を表示
    EXPLANATION

    @dataclassデコレータでデータクラスを定義し、__init__などを自動生成します。

  • Q88

    乱数を生成するモジュールはどれですか?

    ANSWER
    random
    クリックして解説を表示
    EXPLANATION

    randomモジュールで乱数を生成します。

  • Q89

    リストからランダムに1つ選ぶ関数はどれですか?

    ANSWER
    random.choice()
    クリックして解説を表示
    EXPLANATION

    random.choice()でリストからランダムに1つの要素を選びます。

  • Q90

    リストをシャッフル(ランダムに並べ替え)する関数はどれですか?

    ANSWER
    random.shuffle()
    クリックして解説を表示
    EXPLANATION

    random.shuffle()でリストをその場でシャッフルします。

STAGE 10
9191問目 • 1
  • Q91

    指定範囲の整数乱数を生成する関数はどれですか?

    ANSWER
    random.randint()
    クリックして解説を表示
    EXPLANATION

    random.randint(a, b)でaからbまでの整数乱数を生成します(両端を含む)。