💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    파이썬 프로그래밍 객관식 50 문제 | ✅저자: 이유정(박사)

    🔹 파이썬 프로그래밍 객관식 문제 1~10

    1. 다음 중 파이썬의 특징으로 옳은 것은?

    1. 컴파일 언어이다
    2. 중괄호로 코드 블록을 구분한다
    3. 인터프리터 언어이다
    4. 정적 타이핑 언어이다
    5. 오직 웹 개발에만 사용된다
    

    정답: 3. 인터프리터 언어이다

    설명: 파이썬은 컴파일 언어가 아니며, 바로 실행할 수 있는 인터프리터시 언어입니다.


    2. 다음 중 리스트(List)를 정의한 코드는?

    1. list = (1, 2, 3)
    2. list = {1, 2, 3}
    3. list = 1, 2, 3
    4. list = [1, 2, 3]
    5. list = <1, 2, 3>
    

    ✅ 정답: 4. list = [1, 2, 3]

    설명: 리스트는 대가형 [] 기호를 이용해 생성합니다.


    3. 다음 중 print() 함수의 출력 결과로 올바른 것은?

    a = 5
    b = 3
    print(a // b)
    
    
    1. 1.666...
    2. 2
    3. 0
    4. 1.0
    5. 오류 발생
    

    정답: 2

    설명: // 연산자는 모드 분수의 결과에서 정수만 남기는 것입니다.


    4. 다음 중 딕셔너리(Dictionary)에 대한 설명으로 틀린 것은?

    1. 키는 중복될 수 없다
    2. 값은 중복될 수 있다
    3. 키는 변경 가능한 값이어야 한다
    4. 딕셔너리는 {}로 생성한다
    5. dict()  함수를 통해 생성할 수 있다
    

    ✅ 정답: 3. 키는 변경 가능한 값이어야 한다

    설명: 딕셔너리의 키는 변경 불가능한 형태여야 하며, 획을 사용할 수 없습니다.


    5. 다음 중 lambda 함수에 대한 설명으로 옳은 것은?

    1. 이름이 반드시 있어야 한다
    2. 여러 문장을 작성할 수 있다
    3. 함수 안에 if를 사용할 수 없다
    4. 익명 함수로 한 줄 표현이 가능하다
    5. 클래스에서만 사용 가능하다
    

    정답: 4. 익명 함수로 한 줄 표현이 가능하다

    설명: lambda는 이름이 없는 가능 함수이며, 다른 표현식 없이 한 줄을 작성할 수 있는 방식입니다.


    6. 다음 중 반복문에서 사용 가능한 제어문이 아닌 것은?

    1. break
    2. continue
    3. return
    4. pass
    5. stop
    

    정답: 5. stop

    설명: stop은 파이썬에서 사용하지 않는 제어문 입니다.


    7. 다음 중 파이썬 예외 처리 문법으로 알맞은 것은?

    1. try: ... except: ...
    2. do: ... catch: ...
    3. handle: ... rescue: ...
    4. guard: ... fallback: ...
    5. try: ... fail: ...
    

    정답: 1. try: ... except: ...

    설명: 예외 처리는 try 가리에 except 를 이용하여 수행 시 여부에 따라 다른 작업을 진행합니다.


    8. 다음 중 튜플(tuple)의 특징이 아닌 것은?

    1. 순서가 있다
    2. 변경이 가능하다
    3. 소괄호 ()로 생성한다
    4. 인덱싱이 가능하다
    5. 리스트보다 메모리 사용이 적다
    

    정답: 2. 변경이 가능하다

    설명: 튜플은 파이썬에서 변경 불가능한 데이터 구조입니다.


    9. 다음 중 함수 인자의 종류에 해당하지 않는 것은?

    1. 위치 인자
    2. 기본값 인자
    3. 키워드 인자
    4. 가변 인자
    5. 상속 인자
    

    정답: 5. 상속 인자

    설명: 함수의 인자는 위치 인자, 기본값 인자, 키워드 인자, 가변 인자가 존재하지만, “상속 인자”라는 것은 없습니다.


    10. 다음 중 range(1, 5) 의 결과로 옳은 것은?

    1. [1, 2, 3, 4, 5]
    2. (1, 2, 3, 4, 5)
    3. [1, 2, 3, 4]
    4. [0, 1, 2, 3, 4]
    5. [2, 3, 4, 5]
    

    정답: 3 [1, 2, 3, 4]

    설명: range(1, 5)는 1에서 시작하여 5 보다 적은 값까지의 정수 범위를 만드는 함수입니다.


    🔹 파이썬 프로그래밍 객관식 문제 11~20

    11. 다음 중 None의 의미로 가장 적절한 것은?

    1. 0을 의미하는 키워드
    2. 공백 문자열
    3. 아무 값도 없음을 의미하는 객체
    4. 예외 처리 시 사용하는 키워드
    5. 함수에서 오류를 반환할 때 사용하는 상수
    

    정답: 3. 아무 값도 없음을 의미하는 객체

    • 설명: None은 파이썬에서 '값이 없음' 을 나타내는 객체입니다.

    12. 다음 중 문자열 메서드에 해당하지 않는 것은?

    1. upper()
    2. lower()
    3. append()
    4. replace()
    5. split()
    

    정답: 3. append()

    • 설명: append()는 리스트의 메서드이며 문자열에는 사용할 수 없습니다.

    13. a = [1, 2, 3]일 때, a * 2 의 결과는?

    1. [1, 2, 3, 2]
    2. [1, 2, 3, 1, 2, 3]
    3. [2, 4, 6]
    4. [1, 2, 3, 6]
    5. 오류 발생
    

    정답: 2. [1, 2, 3, 1, 2, 3]

    • 설명: 리스트에 * 연산자를 사용하면 리스트가 반복됩니다.

    14. 다음 중 파일을 쓰기 모드로 여는 코드는?

    1. open('file.txt', 'r')
    2. open('file.txt', 'a')
    3. open('file.txt', 'w')
    4. open('file.txt', 'x')
    5. open('file.txt', 'rb')
    

    정답: 3. open('file.txt', 'w')

    • 설명: 'w' 모드는 파일을 쓰기 모드로 엽니다. 기존 내용을 지우고 새로 작성합니다.

    15. 다음 중 파이썬 모듈 import 방법으로 올바르지 않은 것은?

    1. import math
    2. from math import pi
    3. import os as operating\_system
    4. include numpy
    5. from random import randint
    

    정답: 4. include numpy

    • 설명: include는 C 계열 언어에서 사용하는 키워드이며, 파이썬에서는 import 를 사용합니다.

    16. 다음 코드 실행 결과는?

    def test(a, b=3, c=5):
    print(a, b, c)
    test(1, c=7)
    
    
    1. 1 3 5
    2. 1 7 5
    3. 1 5 7
    4. 1 3 7
    5. 오류 발생
    

    정답: 4. 1 3 7

    • 설명: a에 1이 들어가고, b는 기본값 3, c는 키워드 인자로 7이 전달되어 출력 결과는 "1 3 7"입니다.

    17. 다음 중 클래스를 정의하는 키워드는?

    1. function
    2. def
    3. class
    4. lambda
    5. object
    

    정답: 3. class

    • 설명: class는 새로운 클래스를 정의할 때 사용하는 파이썬 키워드입니다.

    18. 다음 중 리스트에서 요소를 삭제하는 방법이 아닌 것은?

    1. del a[0]
    2. a.remove(2)
    3. a.pop()
    4. a.clear()
    5. a.delete(0)
    

    정답: 1. a.delete(0)

    • 설명: delete는 리스트 메서드가 아니며 존재하지 않는 메서드입니다.

    19. 다음 중 math 모듈에서 사용할 수 있는 함수는?

    1. math.upper()
    2. math.sum()
    3. math.sqrt()
    4. math.append()
    5. math.input()`
    

    정답: 3. math.sqrt()

    • 설명: math.sqrt()는 제곱근을 반환하는 math 모듈의 함수입니다.

    20. 다음 중 예외가 발생하지 않는 코드는?

    1. int("abc")
    2. 1 / 0
    3. open("없는파일.txt")
    4. print("hello".index("x"))
    5. len([1, 2, 3])
    

    정답: 5. len([1, 2, 3])

    • 설명:
    • 리스트의 길이를 구하는 len 함수는 정상적으로 실행되며 예외가 발생하지 않습니다.

    🔹 파이썬 프로그래밍 객관식 문제 21~30

    21. 다음 중 조건문 if에 대한 설명으로 옳지 않은 것은?

    1. elif는 여러 번 사용할 수 있다
    2. else는 조건이 반드시 필요하다
    3. if문 안에 if를 중첩할 수 있다
    4. if  뒤에는 조건식이 온다
    5. if  문은 들여쓰기로 코드 블록을 구분한다
    

    정답: 2. else는 조건이 반드시 필요하다

    해설:

    • else는 조건을 필요로 하지 않습니다. 조건 없이 if나 elif에 해당하지 않는 나머지 경우를 처리할 때 사용됩니다.

    22. 다음 중 리스트 컴프리헨션(List Comprehension) 문법으로 올바른 것은?

    1. [x for x in range(5) if x % 2 == 0]
    2. for x in range(5) if x % 2 == 0: [x]
    3. [for x in range(5) if x % 2 == 0]
    4. {x for x in range(5) if x % 2 == 0}
    5. x in range(5) if x % 2 == 0 [x]
    

    정답: 1. [x for x in range(5) if x % 2 == 0]

    해설:

    • 리스트 컴프리헨션은 [출력식 for 변수 in 반복가능한객체 if 조건] 형태입니다. 2~5: 문법 오류 → ❌

    23. 다음 중 zip() 함수의 기능으로 올바른 것은?

    1. 리스트를 정렬한다
    2. 문자열을 압축한다
    3. 여러 이터러블 객체를 튜플로 묶는다
    4. 두 리스트를 덧셈 연산한다
    5. 파일을 압축하여 저장한다
    

    정답: 3. 여러 이터러블 객체를 튜플로 묶는다

    해설:

    • zip()은 여러 iterable 객체를 인덱스별로 묶어 튜플의 형태로 반환합니다.
      예: zip([1, 2], ['a', 'b'])[(1, 'a'), (2, 'b')]

    24. 다음 중 set 자료형의 특징이 아닌 것은?

    1. 중복을 허용하지 않는다
    2. 순서가 유지된다
    3. 집합 연산이 가능하다
    4. set()으로 생성할 수 있다
    5. 요소의 중복을 제거하는 데 사용된다
    

    정답: 2. 순서가 유지된다

    해설:

    • set중복을 허용하지 않으며, 순서를 보장하지 않습니다.
    • 집합 연산 (합집합, 교집합 등)이 가능하며, set()으로 생성 가능합니다.

    25. a = {1, 2, 3}일 때, a.add(4) 실행 후의 결과로 옳은 것은?

    1. {1, 2, 3, 4}
    2. [1, 2, 3, 4]
    3. (1, 2, 3, 4)
    4. {1, 2, 3}
    5. {1, 2, 3, 4, 4}
    

    정답: 1. {1, 2, 3, 4}

    해설:

    • set 객체의 .add() 메서드는 새로운 원소를 추가합니다.
    • 중복을 허용하지 않기 때문에 동일한 값이 여러 번 들어가진 않습니다.

    26. enumerate(['a', 'b', 'c']) 의 결과로 옳은 것은?

    1. [(0, 'a'), (1, 'b'), (2, 'c')]
    2. ['a0', 'b1', 'c2']
    3. {0: 'a', 1: 'b', 2: 'c'}
    4. 'a', 'b', 'c'
    5. ['a', 'b', 'c']
    

    정답: 1. [(0, 'a'), (1, 'b'), (2, 'c')] 해설:

    • enumerate()는 인덱스와 요소를 함께 반환하는 이터레이터를 생성합니다.
    • list로 감싸면 위와 같이 인덱스-값 쌍의 튜플 리스트가 됩니다.

    27. 다음 중 파이썬 내장 함수가 아닌 것은?

    1. map()
    2. filter()
    3. sum()
    4. print()
    5. numpy()
    

    정답: 5. numpy()

    해설:

    • numpy는 외부 라이브러리이며, numpy()라는 내장 함수는 없습니다.
    • 나머지 map(), filter(), sum(), print()는 내장 함수입니다.

    28. a = [1, 2, 3]일 때, a[-1]의 값은?

    1. 0
    2. 1
    3. 2
    4. 3
    5. 오류 발생
    

    정답: 4

    해설:

    • 파이썬에서 인덱스 -1은 리스트의 마지막 요소인 3이 출력됨을 의미합니다.

    29. 다음 중 함수를 정의할 수 있는 올바른 문법은?

    1. function myFunc():
    2. def myFunc:
    3. define myFunc():
    4. def myFunc():
    5. def: myFunc()
    

    정답: 4. def myFunc():

    해설:

    • 함수 정의는 def 함수이름(): 형식으로 합니다.
    • 나머지 보기들은 문법적으로 잘못되었습니다.

    30. 다음 중 for 반복문과 함께 사용하지 않는 것이 일반적인 것은?

    1. range()
    2. enumerate()
    3. zip()
    4. input()
    5. list()
    

    정답: 4. input()

    해설:

    • input()은 사용자로부터 입력을 받을 때 사용되며, 일반적으로 for 반복문에 직접 사용되지 않습니다.
    • range(), enumerate(), zip()은 반복문에서 자주 사용됩니다.

    🔹 파이썬 프로그래밍 객관식 문제 31~40

    31. 다음 중 **이터레이터(iterator)**의 특징으로 옳은 것은?

    1. 모든 이터레이터는 인덱싱이 가능하다
    2. for 문에서는 사용할 수 없다
    3. next()  함수로 다음 값을 얻는다
    4. 문자열은 이터레이터가 아니다
    5. 반복이 끝나면 자동으로 처음으로 돌아간다
    

    정답: 3. next() 함수로 다음 값을 얻는다

    해설:

    • 이터레이터는 __iter__()__next__() 메서드를 가진 객체입니다.
    • next() 함수를 사용해 순차적으로 요소를 꺼낼 수 있습니다.
    • 나머지 보기:
      • a ❌ 인덱싱 불가
      • b ❌ for문에서 매우 자주 사용됨
      • d ❌ 문자열은 이터러블이며, iter()를 쓰면 이터레이터가 됩니다
      • e ❌ 반복이 끝나면 자동으로 처음으로 돌아가지 않음 (예외 발생)

    32. 다음 중 제너레이터(generator) 함수로 올바른 것은?

    1. def gen(): return [1, 2, 3]
    2. def gen(): yield 1; yield 2
    3. def gen(): print(1); print(2)
    4. def gen(): return yield 1
    5. gen = (x for x in range(3)); yield gen
    

    정답: 2. def gen(): yield 1; yield 2

    해설:

    • yield를 사용하는 함수는 제너레이터입니다.
    • a는 리스트 반환 → 일반 함수
    • c는 출력만 함
    • d 문법 오류
    • e는 제너레이터 표현식이지만 yield를 잘못 사용

    33. 다음 중 파일을 안전하게 여는 방식으로 권장되는 것은?

    1. f = open('data.txt'); f.read(); f.close()
    2. with open('data.txt', 'r') as f: data = f.read()
    3. open('data.txt').read().close()
    4. f = open('data.txt', 'r').readlines()
    5. read('data.txt') as f
    

    정답: 2. with open('data.txt', 'r') as f: data = f.read()

    해설:

    • with 구문은 파일을 열고 자동으로 닫아주는 안전한 방식입니다.
    • a는 명시적 close()가 필요
    • c는 문법 오류
    • d는 닫기 생략 (비권장)
    • e는 잘못된 문법

    34. 다음 중 파이썬의 주요 예외 클래스가 아닌 것은?

    1. ValueError
    2. KeyError
    3. NameError
    4. BreakError
    5. TypeError
    

    정답: 4. BreakError

    해설:

    • BreakError는 존재하지 않습니다.
    • 나머지는 모두 표준 예외 클래스입니다:
      • ValueError, KeyError, NameError, TypeError

    35. 클래스 메서드를 정의할 때 사용하는 데코레이터는?

    1. @staticmethod
    2. @classmethod
    3. @property
    4. @method
    5. @define
    

    정답: 2. @classmethod

    해설:

    • 클래스 메서드는 첫 번째 인자로 cls를 받으며, @classmethod를 사용합니다.
    • @staticmethod는 인스턴스나 클래스 정보 없이 동작
    • @property는 속성처럼 사용하는 메서드에 사용

    36. 다음 중 모듈을 직접 실행할 때만 동작하는 코드를 감싸는 조건문은?

    1. if run == "\_\_main\_\_"
    2. if \_\_main\_\_ == \_\_name\_\_
    3. if \_\_name\_\_ == "\_\_main\_\_"
    4. if self.name == "\_\_main\_\_"
    5. if \_\_file\_\_ == "\_\_main\_\_"
    

    정답: 3. if __name__ == "__main__"

    해설:

    • 해당 조건은 모듈이 직접 실행될 때만 True가 됩니다.
    • 다른 보기들은 조건문의 구조 또는 변수명이 잘못되었습니다.

    37. 다음 중 타입 힌트가 올바르게 적용된 함수는?

    1. def add(a: int, b: int) -> int: return a + b
    2. def add(a int, b int) -> int: return a + b
    3. def add(int a, int b): return a + b
    4. add = lambda a:int, b:int: a + b
    5. def add(int a, int b) -> int: return a + b

    정답: 1. def add(a: int, b: int) -> int: return a + b

    해설:

    • 타입 힌트 문법: 변수명: 타입, -> 반환타입
    • 나머지 보기들은 문법 오류 또는 타입 힌트의 잘못된 사용

    38. 다음 중 **딕셔너리의 모든 키-값 쌍을 순회(iterate)**하는 메서드는?

    1. keys()
    2. values()
    3. items()
    4. pairs()
    5. entries()

    정답: 3. items()

    해설:

    • dict.items()(key, value) 형태의 튜플을 반환하며, 모든 쌍을 순회할 수 있습니다.
    • keys()는 키만, values()는 값만 반환
    • 4, 5는 존재하지 않는 메서드

    39. try-except-finally 구문에서 finally의 역할은?

    a. 오류가 발생할 경우에만 실행된다
    b. 오류가 없을 때만 실행된다
    c. 무조건 마지막에 실행된다
    d. 예외를 던진다
    e. 예외 메시지를 반환한다
    

    정답: 3. 무조건 마지막에 실행된다

    해설:

    • finally 블록은 오류 발생 여부와 관계없이 항상 실행됩니다.
    • 자원 해제 등 마무리 작업에 주로 사용

    40. 다음 중 set() 자료형에 적용할 수 있는 연산자는?

    1. +
    2. -
    3. \*
    4. /
    5. %
    

    정답: 2. -

    해설:

    • set- 연산자를 통해 차집합 연산이 가능합니다.
    • 예: {1, 2, 3} - {2}{1, 3}
    • +, *, /, %는 set 자료형에는 지원되지 않습니다

    🔹 파이썬 프로그래밍 객관식 문제 41~50

    41. 다음 중 불변(immutable) 자료형으로만 구성된 것은?

    1. list, dict, set
    2. str, tuple, int
    3. list, str, float
    4. dict, int, str
    5. set, tuple, list
    

    정답: 2. str, tuple, int

    해설:

    • 불변 자료형: int, float, str, tuple, frozenset
    • 가변 자료형: list, dict, set
    • b번만 모두 불변 자료형으로 구성되어 있음.

    42. text = "Python" 일 때, text[1:4]의 결과는?

    1. "Pyt"
    2. "yth"
    3. "ytho"
    4. "Pyt"
    5. "ytho"
    

    정답: 2. "yth"

    해설:

    • 슬라이싱은 [start:end]로, start는 포함하고 end는 제외.
    • text[1:4]"Python"에서 인덱스 1~3까지 → 'y', 't', 'h'"yth"

    43. 다음 중 클래스 상속에 대한 설명으로 올바른 것은?

    1. super() 는 부모 클래스의 인스턴스를 복제한다
    2. 파이썬에서는 다중 상속이 불가능하다
    3. class Sub(Base):는 상속의 기본 문법이다
    4. 하위 클래스는 부모 클래스의 private 속성을 직접 접근할 수 있다
    5. 클래스는 반드시 상속을 사용해야만 정의할 수 있다
    

    정답: 3. class Sub(Base):는 상속의 기본 문법이다

    해설:

    • class Sub(Base): → Base 클래스를 상속받는 Sub 클래스 정의
    • super()는 부모 클래스의 메서드 호출에 사용, 인스턴스를 복제하지 않음
    • 파이썬은 다중 상속 지원
    • 하위 클래스는 private 속성 직접 접근 불가
    • 클래스는 상속 없이도 정의 가능

    44. 다음 중 패키지 구조에서 __init__.py 파일의 역할은?

    1. CSS 파일을 포함하는 데 사용된다
    2. 패키지 디렉토리임을 인식시킨다
    3. 가상 환경을 초기화한다
    4. 웹 프레임워크의 루트를 정의한다
    5. 의존성 파일을 저장한다
    

    정답: 2. 패키지 디렉토리임을 인식시킨다

    해설:

    • __init__.py는 해당 디렉토리를 파이썬 패키지로 인식시키는 역할
    • 다른 선택지는 패키지와 관련 없음

    45. 다음 중 가변 위치 인자를 사용하는 함수 정의는?

    1. def func(a=1, b=2):
    2. def func(\*args):
    3. def func(\*\*kwargs):
    4. def func(a, b, /):
    5. def func[a, b]:
    

    정답: 2. def func(*args):

    해설:

    • *args → 위치 인자를 튜플로 받아들임
    • **kwargs는 키워드 인자용 (가변 키워드 인자)
    • 나머지 선택지는 일반 매개변수 또는 문법 오류

    46. 다음 중 두 리스트 a = [1, 2, 3] , b = [1, 2, 3]에 대해 a is b의 결과는?

    1. True
    2. False
    3. 예외 발생
    4. 메모리 주소를 비교하지 않는다
    5. 두 값이 같으면 항상 True
    

    정답: 2. False

    해설:

    • is객체의 정체성(메모리 주소) 비교
    • ab는 내용이 같지만 서로 다른 객체a is bFalse

    47. 다음 중 심볼 테이블(Symbol Table)에 저장되는 항목은?

    1. 실행 중의 에러 로그
    2. 외부 라이브러리 정보
    3. 현재 코드에서 정의된 변수명
    4. 네트워크 통신 상태
    5. HTML 렌더링 구조
    

    정답: 3. 현재 코드에서 정의된 변수명

    해설:

    • 심볼 테이블은 변수명, 함수명 등 식별자 이름과 매핑되는 정보 저장
    • 에러 로그, 네트워크 상태 등은 무관

    48. 다음 중 논리 연산자가 아닌 것은?

    1. and
    2. or
    3. not
    4. is
    5. xor
    

    정답: 4. is

    해설:

    • 논리 연산자: and, or, not
    • is동일성 비교 연산자 (객체가 같은지 확인)
    • xor는 파이썬의 기본 연산자가 아님 (비트 연산자 ^는 존재)

    49. sorted(['dog', 'apple', 'Banana'])의 결과로 가장 적절한 것은?

    1. ['Banana', 'apple', 'dog']
    2. ['dog', 'apple', 'Banana']
    3. ['apple', 'Banana', 'dog']
    4. ['Banana', 'dog', 'apple']
    5. ['apple', 'dog', 'Banana']
    

    정답: 1. ['Banana', 'apple', 'dog']

    해설:

    • sorted()대소문자를 구분해 정렬 (대문자가 소문자보다 앞)
    • 따라서 "Banana""apple"보다 먼저 옴

    50. 다음 중 내장 함수가 아닌 것은?

    1. min()
    2. open()
    3. dir()
    4. count()
    5. eval()

    정답: 4. count()

    해설:

    • min(), open(), dir(), eval() → 모두 파이썬 내장 함수
    • count()는 문자열, 리스트 등의 메서드로 존재할 뿐 내장 함수는 아님
    TOP
    preload preload