Python은 성능과 강력한 라이브러리로 인해 Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify 등 최고의 기업에서 가장 많이 사용되는 언어입니다. Python 개발자로서 이러한 회사 및 조직에 들어가려면 몇 가지 중요한 사항을 마스터해야 합니다. Python 인터뷰 질문 Python 온라인 평가 라운드와 Python 인터뷰 라운드를 진행합니다. 우리는 목록을 준비했습니다 Python 인터뷰 질문 상위 50개 인터뷰에서 에이스의 답변과 함께.
Python 인터뷰 질문
내용의 테이블
- 신입생을 위한 기본 Python 인터뷰 질문
- 1. 파이썬이란 무엇입니까? 기술 세계에서 널리 사용되는 Python 응용 프로그램을 나열해 보세요.
- 2. 현재 시나리오에서 Python 언어를 도구로 사용하면 어떤 이점이 있습니까?
- 3. Python은 컴파일된 언어입니까 아니면 해석된 언어입니까?
- 4. Python에서 '#' 기호는 무엇을 합니까?
- 6. Python에서 인수는 값 또는 참조로 어떻게 전달됩니까?
- 7. 세트와 사전의 차이점은 무엇입니까?
- 8. 목록 이해란 무엇입니까? 예를 들어보세요.
- 9. 람다 함수란 무엇입니까?
- 10. Python에서 패스란 무엇입니까?
- 11. Python에서 /와 //의 차이점은 무엇입니까?
- 12. Python에서 예외 처리는 어떻게 수행됩니까?
- 13. Python의 swapcase 함수란 무엇입니까?
- 14. Python의 for 루프와 while 루프의 차이점
- 15. Python에서 함수를 인수로 전달할 수 있나요?
- 16. *args와 *kwargs는 무엇입니까?
- 17. 파이썬에서는 들여쓰기가 필요합니까?
- 18. Python의 범위란 무엇입니까?
- 19. Python의 독스트링이란 무엇입니까?
- 20. 동적 유형 언어란 무엇입니까?
- 21. Python에서 중단, 계속, 통과란 무엇입니까?
- 23. 파이썬으로 숫자를 어떻게 바닥에 놓는가?
- 중급 Python 인터뷰 질문
- 24. xrange와 range 함수의 차이점은 무엇입니까?
- 25. 사전이해란 무엇인가요? 예를 들어보세요
- 26. 튜플 이해력이 있나요? 그렇다면 어떻게, 그렇지 않다면 이유는 무엇입니까?
- 27. 리스트와 튜플을 구별하나요?
- 28. 얕은 복사본과 깊은 복사본의 차이점은 무엇입니까?
- 29. Python의 sort() 및 sorted() 함수에서 사용되는 정렬 기술은 무엇입니까?
- 30. 데코레이터란 무엇입니까?
- 31. Python 프로그램을 어떻게 디버깅합니까?
- 32. Python의 반복자는 무엇입니까?
- 33. Python의 제너레이터란 무엇입니까?
- 34. 파이썬은 다중 상속을 지원합니까?
- 35. 파이썬의 다형성이란 무엇입니까?
- 36. Python에서 캡슐화를 정의하시겠습니까?
- 38. Python에서는 메모리 관리가 어떻게 이루어지나요?
- 39. Python을 사용하여 파일을 삭제하는 방법은 무엇입니까?
- 40. Python에서 슬라이싱이란 무엇입니까?
- 41. Python에서 네임스페이스란 무엇입니까?
- 고급 Python 인터뷰 질문 및 답변
- 42. PIP란 무엇입니까?
- 43. zip 기능이란 무엇입니까?
- 44. 피클링과 언피클링이란 무엇입니까?
- 45. Python에서 원숭이 패치란 무엇입니까?
- 46. 파이썬에서 __init__()는 무엇입니까?
- 47. 현재 시간을 표시하는 코드를 작성해 보세요.
- 48. 파이썬의 접근 지정자는 무엇입니까?
- 49. Python의 단위 테스트란 무엇입니까?
- 50. 파이썬 GIL(Global Interpreter Lock)?
- 51. Python의 함수 주석이란 무엇입니까?
- 52. Python의 예외 그룹이란 무엇입니까?
- 53. Python Switch 문이란 무엇입니까?
- 54. 월러스 오퍼레이터란?
신입생을 위한 기본 Python 인터뷰 질문
1. 파이썬이란 무엇입니까? 기술 세계에서 널리 사용되는 Python 응용 프로그램을 나열해 보세요.
Python은 널리 사용되는 범용 고급 프로그래밍 언어입니다. 1991년 Guido van Rossum에 의해 만들어졌으며 Python Software Foundation에 의해 추가로 개발되었습니다. 코드 가독성에 중점을 두고 설계되었으며 그 구문을 통해 프로그래머는 더 적은 줄의 코드로 개념을 표현할 수 있습니다.
다음 용도로 사용됩니다.
- 시스템 스크립팅
- 웹 개발
- 게임 개발
- 소프트웨어 개발
- 복잡한 수학
2. 현재 시나리오에서 Python 언어를 도구로 사용하면 어떤 이점이 있습니까?
Python 언어를 사용하면 다음과 같은 이점이 있습니다.
- 객체 지향 언어
- 고급 언어
- 동적으로 유형화 된 언어
- 광범위한 지원 라이브러리
- 타사 모듈의 존재
- 오픈 소스 및 커뮤니티 개발
- 휴대용 및 대화형
- 운영 체제 전반에 걸쳐 이식 가능
3. Python은 컴파일된 언어입니까 아니면 해석된 언어입니까?
실제로 Python은 부분적으로 컴파일된 언어이자 부분적으로 해석된 언어입니다. 코드를 실행할 때 컴파일 부분이 먼저 수행되며 내부적으로 바이트 코드가 생성됩니다. 이 바이트 코드는 기본 플랫폼(머신+운영 체제)에 따라 Python 가상 머신(p.v.m)에 의해 변환됩니다.
4. Python에서 '#' 기호는 무엇을 합니까?
'#'은 해당 줄 뒤에 오는 모든 것에 대해 설명하는 데 사용됩니다.
6. Python에서 인수는 값 또는 참조로 어떻게 전달됩니까?
Python의 모든 것은 객체이며 모든 변수는 객체에 대한 참조를 보유합니다. 기준값은 기능에 따라 다릅니다. 결과적으로 참조 값을 변경할 수 없습니다. 그러나 객체가 변경 가능한 경우 객체를 변경할 수 있습니다.
7. 세트와 사전의 차이점은 무엇입니까?
세트는 반복 가능하고 변경 가능하며 중복 요소가 없는 데이터 유형의 정렬되지 않은 컬렉션입니다.
Python의 사전은 지도와 같은 데이터 값을 저장하는 데 사용되는 데이터 값의 정렬된 모음입니다.
8. 목록 이해란 무엇입니까? 예를 들어보세요.
List Comprehension은 기존 반복 가능 항목을 기반으로 목록 생성을 쉽게 하기 위한 구문 구성입니다.
예를 들어:
my_list = [i for i in range(1, 10)]>
9. 람다 함수란 무엇입니까?
람다 함수는 익명 함수입니다. 이 함수는 매개변수를 얼마든지 가질 수 있지만 명령문은 하나만 가질 수 있습니다. 예를 들어:
a = lambda x, y : x*y print(a(7, 19))>
10. Python에서 패스란 무엇입니까?
Pass는 아무 작업도 수행하지 않음을 의미합니다. 즉, 공백이 남아 있어야 하고 거기에 아무 것도 쓸 필요가 없는 복합 명령문의 자리 표시자입니다.
11. Python에서 /와 //의 차이점은 무엇입니까?
/는 정확한 나눗셈(결과는 부동 소수점 수)을 나타내고 //는 바닥 나눗셈(결과는 정수)을 나타냅니다. 예를 들어:
5//2 = 2 5/2 = 2.5>
12. Python에서 예외 처리는 어떻게 수행됩니까?
예외를 포착하고 이에 따라 복구 메커니즘을 처리하는 데 사용되는 3가지 주요 키워드(try, Except 및 finally)가 있습니다. Try는 오류를 모니터링하는 코드 블록입니다. 에러가 발생하면 블록이 실행됩니다.
마지막 블록의 장점은 오류를 시도한 후 코드를 실행한다는 것입니다. 이 블록은 오류 발생 여부에 관계없이 실행됩니다. 마지막으로 블록은 객체/변수의 필수 정리 활동을 수행하는 데 사용됩니다.
13. Python의 swapcase 함수란 무엇입니까?
모든 대문자를 소문자로 또는 그 반대로 변환하는 문자열의 함수입니다. 문자열의 기존 대소문자를 변경하는 데 사용됩니다. 이 메서드는 스왑 사례의 모든 문자를 포함하는 문자열의 복사본을 만듭니다. 예를 들어:
string = 'techcodeview.com' string.swapcase() --->'gEEKSFORGEEKS'>
14. Python의 for 루프와 while 루프의 차이점
for 루프는 일반적으로 다음과 같은 다양한 컬렉션 유형의 요소를 반복하는 데 사용됩니다. 목록 , 튜플 , 세트 , 그리고 사전 . 개발자는 시작 조건과 끝 조건이 모두 있는 for 루프를 사용합니다. 반면 while 루프는 다른 프로그래밍 언어에서 사용되는 실제 루프 기능입니다. 프로그래머는 종료 조건만 있는 Python while 루프를 사용합니다.
15. Python에서 함수를 인수로 전달할 수 있나요?
예, 객체, 변수(동일하거나 별개의 데이터 유형) 및 함수를 포함하여 여러 인수를 함수에 전달할 수 있습니다. 함수는 객체이기 때문에 다른 함수에 매개변수로 전달될 수 있습니다. 고차 함수는 다른 함수를 인수로 사용할 수 있는 함수입니다.
자세한 내용은 다음 문서를 참조하세요. Python에서 함수를 인수로 전달하기
16. *args와 *kwargs는 무엇입니까?
Python에서 다양한 수의 인수를 함수에 전달하려면 특수 구문을 사용하십시오. *args 및 **kwargs 기능 사양에서. 가변 길이의 키워드가 없는 인수 목록을 전달하는 데 사용됩니다. *를 사용하면 *와 연관된 변수가 반복 가능해지며 이를 반복하고 맵 및 필터와 같은 고차 작업을 사용하는 등의 작업을 수행할 수 있습니다.
17. 파이썬에서는 들여쓰기가 필요합니까?
예, 들여 쓰기 Python에서는 필수입니다. ㅏ 파이썬 인터프리터는 Python 들여쓰기를 사용하여 명령문 그룹이 특정 코드 블록에 속한다는 것을 알릴 수 있습니다. 들여쓰기를 사용하면 모든 프로그래밍 언어의 개발자가 코드를 쉽게 읽을 수 있지만 Python에서는 특정 순서로 코드를 들여쓰기하는 것이 매우 중요합니다.
18. Python의 범위란 무엇입니까?
변수를 찾을 수 있고 필요한 경우 변수에 액세스할 수도 있는 위치를 변수 범위라고 합니다.
- Python 지역 변수: 지역 변수는 함수 내에서 초기화되고 해당 함수에 고유한 변수입니다. 함수 외부에서는 접근할 수 없습니다.
- Python 전역 변수: 전역 변수는 함수 외부에서 정의 및 선언되며 함수에 지정되지 않는 변수입니다.
- 모듈 수준 범위: 프로그램에서 액세스할 수 있는 현재 모듈의 전역 개체를 나타냅니다.
- 가장 바깥쪽 범위: 이는 프로그램이 호출할 수 있는 모든 내장 이름을 나타냅니다. 참조된 이름은 이 범위의 개체 중에서 마지막에 위치합니다.
19. Python의 독스트링이란 무엇입니까?
Python 문서 문자열(또는 docstring)은 문서를 Python 모듈, 함수, 클래스 및 메서드와 연결하는 편리한 방법을 제공합니다.
- Docstring 선언: 독스트링은 클래스, 메소드 또는 함수 선언 바로 아래에 '세 개의 작은따옴표' 또는 세 개의 큰따옴표를 사용하여 선언됩니다. 모든 함수에는 독스트링이 있어야 합니다.
- Docstring에 접근하기: 독스트링은 객체의 __doc__ 메소드나 도움말 함수를 사용하여 접근할 수 있습니다.
20. 동적 유형 언어란 무엇입니까?
입력된 언어 데이터 유형의 유형을 정의하는 언어이며 컴파일 타임이나 런타임에 기계에 의해 알려집니다. 입력된 언어는 두 가지 범주로 분류될 수 있습니다.
- 정적으로 입력된 언어: 이러한 유형의 언어에서는 변수의 데이터 유형이 컴파일 타임에 알려집니다. 이는 프로그래머가 변수 선언 시 변수의 데이터 유형을 지정해야 함을 의미합니다.
- 동적 유형 언어: 이는 기계 자체에서 런타임에 해석되므로 변수에 대해 사전 정의된 데이터 유형이 필요하지 않은 언어입니다. 이러한 언어에서 인터프리터는 해당 값에 따라 런타임 시 변수에 데이터 유형을 할당합니다.
21. Python에서 중단, 계속, 통과란 무엇입니까?
그만큼 break 문 존재하는 루프나 명령문을 종료하는 데 사용됩니다. 그 후, 제어는 가능한 경우 break 문 뒤에 있는 명령문으로 전달됩니다.
50개 중 10개
계속하다 또한 break 문과 마찬가지로 루프 제어 문이기도 합니다. continue 문은 break 문과 반대입니다. 루프를 종료하는 대신 루프의 다음 반복을 강제로 실행합니다.
통과하다 아무 작업도 수행하지 않음을 의미합니다. 즉, 복합 명령문의 자리 표시자로서 공백이 남아 있어야 하고 거기에 아무 것도 쓸 필요가 없습니다.
숫자: Python의 숫자 데이터 유형은 숫자 값을 갖는 데이터를 나타냅니다. 숫자 값은 정수, 부동 숫자, 부울일 수 있습니다. , 또는 심지어 복소수.
23. 파이썬으로 숫자를 어떻게 바닥에 놓는가?
Python 수학 모듈에는 숫자의 최소값을 계산하는 데 사용할 수 있는 메서드가 포함되어 있습니다.
- 바닥() Python의 메소드는 x의 최소값, 즉 x보다 크지 않은 가장 큰 정수를 반환합니다.
- 또한 Python의 ceil(x) 메소드는 x의 상한값, 즉 x보다 크거나 같은 가장 작은 정수를 반환합니다.
중급 Python 인터뷰 질문
24. xrange와 range 함수의 차이점은 무엇입니까?
range()와 xrange()는 Python의 for 루프에서 특정 횟수만큼 반복하는 데 사용할 수 있는 두 가지 함수입니다. Python 3에는 xrange가 없지만 range 함수는 Python 2의 xrange처럼 동작합니다.
- 범위() – range() 함수를 사용하여 생성된 숫자 목록을 반환합니다.
- xrange() – 이 함수는 루핑을 통해서만 숫자를 표시하는 데 사용할 수 있는 생성기 개체를 반환합니다. 요청 시 유일한 특정 범위가 표시되므로 호출됩니다. 게으른 평가 .
25. 사전이해란 무엇인가요? 예를 들어보세요
Dictionary Comprehension은 기존 iterable을 기반으로 사전 생성을 쉽게 하기 위한 구문 구성입니다.
예를 들어: my_dict = {i:i+7 for i in range(1, 10)}
26. 튜플 이해력이 있나요? 그렇다면 어떻게, 그렇지 않다면 이유는 무엇입니까?
(i for i in (1, 2, 3))>
튜플 이해는 튜플 이해가 아닌 생성기에서 끝나기 때문에 Python에서는 불가능합니다.
27. 리스트와 튜플을 구별하나요?
List와 Tuple의 차이점을 분석해 보겠습니다.
목록
- 목록은 변경 가능한 데이터 유형입니다.
- 목록은 더 많은 메모리를 소비합니다.
- 목록은 삽입 및 삭제와 같은 작업을 수행하는 데 더 좋습니다.
- 반복에는 시간이 많이 소요됩니다.
튜플
- 튜플은 불변 데이터 유형입니다.
- 튜플은 목록에 비해 메모리를 덜 소비합니다.
- Tuple 데이터 유형은 요소에 액세스하는 데 적합합니다.
- 반복의 의미는 비교적 빠릅니다.
28. 얕은 복사본과 깊은 복사본의 차이점은 무엇입니까?
얕은 복사는 새 인스턴스 유형이 생성될 때 사용되며 복사된 값을 유지하는 반면, 깊은 복사는 이미 복사된 값을 저장합니다.
얕은 복사는 프로그램 실행 속도를 높이는 반면, 깊은 복사는 속도를 느리게 만듭니다.
29. Python의 sort() 및 sorted() 함수에서 사용되는 정렬 기술은 무엇입니까?
파이썬은 팀 정렬 정렬 알고리즘. 최악의 경우가 O(N log N)인 안정적인 정렬입니다. 이는 병합 정렬과 삽입 정렬에서 파생된 하이브리드 정렬 알고리즘으로, 다양한 종류의 실제 데이터에서 잘 작동하도록 설계되었습니다.
30. 데코레이터란 무엇입니까?
데코레이터는 함수를 쉽게 변경하기 위해 Python 구문에서 수행하는 특정 변경이므로 Python에서 매우 강력하고 유용한 도구입니다.
31. Python 프로그램을 어떻게 디버깅합니까?
이 명령을 사용하여 Python 프로그램을 디버깅할 수 있습니다.
$ python -m pdb python-script.py>
32. Python의 반복자는 무엇입니까?
Python에서 반복자는 목록과 같은 컨테이너인 요소 그룹을 반복하는 데 사용됩니다. 반복자는 항목의 컬렉션이며 목록, 튜플 또는 사전일 수 있습니다. Python 반복자는 저장된 요소를 반복하기 위해 __itr__ 및 next() 메서드를 구현합니다. 우리는 일반적으로 Python에서 컬렉션(목록, 튜플)을 반복하기 위해 루프를 사용합니다.
33. Python의 제너레이터란 무엇입니까?
Python에서 생성기는 반복자를 구현하는 방법을 지정하는 방법입니다. 함수에서 표현식을 생성한다는 점을 제외하면 일반적인 함수입니다. __itr__ 및 next() 메서드를 구현하지 않으며 다른 오버헤드도 줄입니다.
함수에 최소한 항복 문이 포함되어 있으면 생성기가 됩니다. Yield 키워드는 상태를 저장하여 현재 실행을 일시 중지한 다음 필요할 때 동일한 상태에서 다시 시작합니다.
34. 파이썬은 다중 상속을 지원합니까?
Python은 Java와 달리 다중 상속을 지원합니다. 다중 상속이란 클래스가 둘 이상의 상위 클래스에서 파생될 수 있음을 의미합니다.
35. 파이썬의 다형성이란 무엇입니까?
다형성은 여러 형태를 취할 수 있는 능력을 의미합니다. 예를 들어 상위 클래스에 ABC라는 메서드가 있는 경우 하위 클래스에도 자체 매개변수와 변수가 있는 ABC라는 이름의 메서드가 있을 수 있습니다. 파이썬은 다형성을 허용합니다.
36. Python에서 캡슐화를 정의하시겠습니까?
캡슐화는 코드와 데이터를 함께 묶는 것을 의미합니다. Python 클래스는 캡슐화의 예입니다.
38. Python에서는 메모리 관리가 어떻게 이루어지나요?
Python은 개인 힙 공간을 사용하여 메모리를 관리합니다. 기본적으로 모든 객체와 데이터 구조는 개인 힙 공간에 저장됩니다. 이 사적인 공간은 인터프리터가 관리하기 때문에 프로그래머도 접근할 수 없습니다. Python에는 또한 사용되지 않은 모든 메모리를 재활용하고 메모리를 해제하여 힙 공간에서 사용할 수 있도록 하는 내장된 가비지 수집기가 있습니다.
39. Python을 사용하여 파일을 삭제하는 방법은 무엇입니까?
다음 접근 방식을 통해 Python을 사용하여 파일을 삭제할 수 있습니다.
- os.제거()
- os.링크 해제()
40. Python에서 슬라이싱이란 무엇입니까?
파이썬 슬라이싱 문자열의 일부 또는 목록의 일부를 추출하는 문자열 작업입니다. 이 연산자를 사용하면 슬라이싱을 시작할 위치와 끝낼 위치를 지정하고 단계를 지정할 수 있습니다. 목록 분할은 기존 목록에서 새 목록을 반환합니다.
Syntax: Lst[ Initial : End : IndexJump ]>
41. Python에서 네임스페이스란 무엇입니까?
네임스페이스는 이름 충돌을 피하기 위해 이름이 고유한지 확인하는 데 사용되는 명명 시스템입니다.
고급 Python 인터뷰 질문 및 답변
42. PIP란 무엇입니까?
PIP는 다양한 Python 모듈을 설치할 수 있는 원활한 인터페이스를 제공하는 Python Installer Package의 약어입니다. 인터넷을 통해 패키지를 검색하고 사용자 개입 없이 설치할 수 있는 명령줄 도구입니다.
43. zip 기능이란 무엇입니까?
Python zip() 함수는 여러 컨테이너의 유사한 인덱스를 매핑하는 zip 개체를 반환합니다. iterable을 가져와 iterator로 변환하고 전달된 iterable을 기반으로 요소를 집계합니다. 튜플의 반복자를 반환합니다.
44. 피클링과 언피클링이란 무엇입니까?
Pickle 모듈은 Python 객체를 받아들이고 이를 문자열 표현으로 변환하고 dump 함수를 사용하여 파일에 덤프합니다. 이 프로세스를 피클링이라고 합니다. 저장된 문자열 표현에서 원본 Python 객체를 검색하는 프로세스를 역피클링이라고 합니다.
45. Python에서 원숭이 패치란 무엇입니까?
Python에서 원숭이 패치라는 용어는 런타임 시 클래스나 모듈의 동적 수정만을 의미합니다.
# g.py class GeeksClass: def function(self): print 'function()' import m def monkey_function(self): print 'monkey_function()' m.GeeksClass.function = monkey_function obj = m.GeeksClass() obj.function()>
46. 파이썬에서 __init__()는 무엇입니까?
OOP 용어의 생성자와 동일한 __init__는 Python 클래스의 예약된 메서드입니다. __init__ 메소드는 새 객체가 시작될 때마다 자동으로 호출됩니다. 이 방법은 새 객체가 생성되자마자 해당 객체에 메모리를 할당합니다. 이 메서드는 변수를 초기화하는 데에도 사용할 수 있습니다.
47. 현재 시간을 표시하는 코드를 작성해 보세요.
import time currenttime= time.localtime(time.time()) print (Current time is, currenttime)>
48. 파이썬의 접근 지정자는 무엇입니까?
Python은 '_' 기호를 사용하여 특정 데이터 멤버 또는 클래스의 멤버 함수에 대한 액세스 제어를 결정합니다. Python의 클래스에는 세 가지 유형이 있습니다. Python 액세스 한정자 :
- 공개 액세스 수정자: 공개로 선언된 클래스의 멤버는 프로그램의 어느 부분에서나 쉽게 액세스할 수 있습니다. 클래스의 모든 데이터 멤버와 멤버 함수는 기본적으로 공개됩니다.
- 보호된 액세스 수정자: protected로 선언된 클래스의 멤버는 해당 클래스에서 파생된 클래스에만 액세스할 수 있습니다. 클래스의 모든 데이터 멤버는 해당 클래스의 데이터 멤버 앞에 단일 밑줄 '_' 기호를 추가하여 보호됨을 선언합니다.
- 비공개 액세스 수정자: private으로 선언된 클래스의 멤버는 클래스 내에서만 액세스할 수 있으며, private 액세스 수정자는 가장 안전한 액세스 수정자입니다. 클래스의 데이터 멤버는 해당 클래스의 데이터 멤버 앞에 이중 밑줄 '__' 기호를 추가하여 비공개로 선언됩니다.
49. Python의 단위 테스트란 무엇입니까?
단위 테스트는 소프트웨어의 테스트 가능한 가장 작은 부분을 테스트하는 첫 번째 수준의 소프트웨어 테스트입니다. 이는 소프트웨어의 각 장치가 설계된 대로 작동하는지 확인하는 데 사용됩니다. 단위 테스트 프레임워크는 Python의 xUnit 스타일 프레임워크입니다. 단위 테스트에는 White Box 테스트 방법이 사용됩니다.
50. 파이썬 GIL(Global Interpreter Lock)?
Python 전역 통역사 잠금 (GIL)은 Python이 프로세스를 처리할 때마다 사용하는 프로세스 잠금 유형입니다. 일반적으로 Python은 작성된 명령문 세트를 실행하기 위해 하나의 스레드만 사용합니다. 단일 스레드 프로세스와 멀티 스레드 프로세스의 성능은 Python에서 동일하며 이는 Python의 GIL 때문입니다. 스레드를 제한하고 단일 스레드로 작동하는 전역 인터프리터 잠금이 있기 때문에 Python에서는 멀티스레딩을 달성할 수 없습니다.
51. Python의 함수 주석이란 무엇입니까?
함수 주석 함수 매개변수와 반환값에 메타데이터를 추가할 수 있는 기능입니다. 이 방법으로 함수 매개변수의 입력 유형과 함수가 반환하는 값의 반환 유형을 지정할 수 있습니다.
함수 주석은 함수의 다양한 부분과 연관된 임의의 Python 표현식입니다. 이러한 표현식은 컴파일 타임에 평가되며 Python의 런타임 환경에서는 수명이 없습니다. Python은 이러한 주석에 어떤 의미도 부여하지 않습니다. mypy와 같은 제3자 라이브러리에서 해석하면 생명을 앗아갑니다.
52. Python의 예외 그룹이란 무엇입니까?
Python 3.11의 최신 기능, 예외 그룹 . ExceptionGroup은 새로운 Except* 구문을 사용하여 처리할 수 있습니다. * 기호는 각 Except* 절에서 여러 예외를 처리할 수 있음을 나타냅니다.
ExceptionGroup은 다양한 종류의 예외의 모음/그룹입니다. 다중 예외를 생성하지 않고도 나중에 필요할 때마다 하나씩 가져올 수 있는 다양한 예외를 그룹화할 수 있습니다. 호출하는 동안 예외가 예외 그룹에 저장되는 순서는 중요하지 않습니다.
파이썬3 try: raise ExceptionGroup('Example ExceptionGroup', ( TypeError('Example TypeError'), ValueError('Example ValueError'), KeyError('Example KeyError'), AttributeError('Example AttributeError') )) except* TypeError: ... except* ValueError as e: ... except* (KeyError, AttributeError) as e: ...>
53. Python Switch 문이란 무엇입니까?
버전 3.10부터 Python은 구조적 패턴 일치라는 스위치 케이스 기능을 구현했습니다. match 및 case 키워드를 사용하여 이 기능을 구현할 수 있습니다. 밑줄 기호는 Python에서 스위치 문의 기본 사례를 정의하는 데 사용하는 것입니다.
메모 : Python 3.10 이전 Python은 match 문을 지원하지 않습니다.
파이썬3 match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>
54. 월러스 오퍼레이터란?
바다코끼리 오퍼레이터 표현식 내의 변수에 값을 할당할 수 있습니다. 이는 루프에서 값을 여러 번 사용해야 하지만 계산을 반복하고 싶지 않을 때 유용할 수 있습니다.
Walrus 연산자는 `:=` 구문으로 표현되며 while 루프 및 if 문을 포함한 다양한 컨텍스트에서 사용할 수 있습니다.
메모: 3.8 이전의 Python 버전은 Walrus Operator를 지원하지 않습니다.
파이썬3 names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>
HTML에서 js 함수 호출