[Python] Interview QnA 100

chaos663·2022년 6월 27일
0

Interview

목록 보기
1/2
post-thumbnail

Python Interview 1 ~ 10

Q1. What is the difference between list and tuples in Python?

LISTTUPLES
List는 변경이 가능합니다튜플은 변경불가
List는 튜플보다 느립니다튜플은 List보다 빠릅니다.
syntax : list_1 = ['a','b','c']syntax : tup_1 = ('a','b','c')

튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다. 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

Q2. What are the key features of Python?

파이썬은 인터프리터 언어입니다. 즉, C 및 그 변형과 같은 언어와 달리 Python은 실행되기 전에 컴파일할 필요가 없습니다. 다른 인터프리터 언어로는 PHP 와 Ruby 가 있습니다.
Python은 동적으로 type이 지정되므로 변수를 선언하거나 비슷한 것을 선언할 때 변수의 type을 명시할 필요가 없습니다. 오류 없이 x=111 그리고 x="I'm a string" 과 같이 사용할 수 있습니다.
(원래 C, Java 등의 언어는 변수의 type을 선언해야함!)
Python은 composition 및 상속과 함께 클래스 정의를 허용한다는 점에서 객체 지향 프로그래밍에 매우 적합합니다.(C++의 'public','private'처럼 지정자로 접근할 필요가 없다!)
파이썬에서 함수는 일급 객체입니다. 변수에 할당될 수 있고, 다른 함수에서 반환되거나 함수로 전달될 수 있음을 의미합니다. 또한, 클래스는 일급 객체입니다.
Python 코드를 작성하는 것은 빠르지만 실행하는 것은 컴파일된 언어보다 느린 경우가 많습니다. 다행스럽게도, Python은 C 기반 확장을 포함할 수 있으므로 병목 현상을 최소화할 수 있고 자주 최적화할 수 있습니다. numpy 패키지는 이것 의 좋은 예입니다. 많은 숫자 크런칭이 실제로 Python에서 수행되지 않기 때문에 매우 빠릅니다.
Python은 웹 응용 프로그램, 자동화, 과학 모델링, 빅 데이터 응용 프로그램 등 다양한 영역에서 사용됩니다. 또한 다른 언어와 구성 요소가 제대로 작동하도록 하기 위해 "glue" 코드로 자주 사용됩니다.

Q3. What type of language is python?

스크립트 언어란 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어입니다.
Python은 스크립팅이 가능하지만 일반적으로 범용 프로그래밍 언어로 간주됩니다.

Q4. Python an interpreted language. Explain.

전통적인 의미의 인터프리터 언어는 실행전에 기계어로의 컴파일 과정을 거치지 않으며, 소스코드가 해석기(인터프리터)에 의해 직접 해석되어 실행되도록 구현된 언어를 말한다. 소스코드가 의도하는 작업의 실질적인 수행은 이를 해석한 인터프리터에 의해서 수행된다. 따라서 인터프리터는 이 경우에 일종의 가상머신이나 실행환경(runtime environment) 혹은 에뮬레이터 같은 것으로 이해할 수 있다.

Q5. What is pep 8?

PEP는 Python Enhancement Proposal의 약자입니다.
가독성을 극대화하기 위해 Python 코드의 형식을 지정하는 규칙 집합입니다.

Q6. What are the benefits of using Python?

  1. 사용하기 편리하다 :
    파이썬은 high-level 프로그래밍 언어이기에 사용,읽기,쓰기 배우기에 쉽다.
  2. 동적인 type지정 :
    개발자는 코딩을 할 때 데이터의 타입을 할당할 필요가 없다. 그냥 자동적으로 타입을 할당한다.
  3. 라이브러리의 확장성 있는 지원 :
    필요로하는 다양한 라이브러리가 있다. PIP(Python Package Manager)를 상요해서 다른 패키지의 import 할 수 있다.
  4. 휴대성 :
    파이썬 프로그램은 변동없이 다른 플랫폼에서도 사용 가능 하다.
  5. 파이썬에서 사용되어지는 데이터 구조가 친근하다.
  6. 적은 코딩으로 더 많은 기능을 제공한다.

Q7. What are python namespaces?

파이썬에서 namespaces는 파이썬에서의 각 객체에 할당된 이름을 말한다.
객체들은 변수와 함수이다. 각 객체가 생성될 때 마다 space(객체가 있는 외부 함수의 주소)와 함께 객체의 이름이 생성됩니다. namespaces는 key가 namespace이고 값이 객체의 주소인 dictionary처럼 파이썬에서 유지 관리됩니다.
파이썬에는 다음과 같은 4가지 유형의 namespaces가 있습니다.

  • Built-in namespace – 이 네임스페이스는 파이썬의 모든 내장 객체를 포함하며 파이썬이 실행될 때마다 사용할 수 있습니다.
  • Global namespace – 기본 프로그램 수준에서 생성된 모든 개체에 대한 네임스페이스입니다.
  • Enclosing namespaces – 이 네임스페이스는 상위 수준 또는 외부 기능에 있습니다.
  • Local namespaces – 이 네임스페이스는 로컬 또는 내부 기능에 있습니다.

Q8. What are decorators in Python?

데코레이터는 구조의 변동없이 함수의 일부 디자인 패턴을 추가하기 위해 사용됩니다.즉, 함수를 빠르게 변경할 때 사용합니다.
Ex)
@decorators()
def main()
이렇게 데코레이터를 사용하려면 먼저 데코레이터의 기능을 정의합니다.
그런 다음 적용되는 함수를 작성하고, 적용해야하는 함수 위에 데코레이터를 작성합니다. 이를 위해 데코레이터 앞에 @ 기호를 사용합니다.

Q9. What are Dict and List comprehensions?

Dictionary and list comprehensions 은 dictionaries and lists를 정의하는 또 다른 간결한 방법 중 하나 !

  • list comprehension의 예시 -
    x=[i for i in range(5)]
    이 코드는 아래의 리스트를 만듦니다.
    4
    [0,1,2,3,4]
  • dictionary comprehension의 예시-
    x=[i : i+2 for i in range(5)]
    위의 코드는 다음과 같은 리스트를 만듦니다.
    [0: 2, 1: 3, 2: 4, 3: 5, 4: 6]

Q10. What are the common built-in data types in Python?

(파이썬의 자료 유형)

파이썬의 내장된 자료 유형은 다음과 같습니다.

  • 숫자 – 여기에는 정수, 부동 소수점 숫자 및 복소수가 포함됩니다.
    예를 들어 1, 7.9,3+4i
  • 리스트 - 항목의 순서가 지정된 순서를 리스트라고 합니다. 리스트의 요소는 다른 데이터 type이 있을 수 있습니다.
    예.[5,’market’,2.4]
  • 튜플 - 요소의 순서가 지정된 시퀀스이기도 합니다. 리스트와 달리 튜플은 변경할 수 없습니다.
    예.(3,’tool’,1)
  • 문자열 - 일련의 문자를 문자열이라고 합니다.
    작은따옴표나 큰따옴표 안에 선언됩니다.
    예. “Sana”, ‘She is going to the market’등
  • 세트(set) – 세트는 순서가 맞지 않는 고유한 항목의 모음입니다.(집합이라고 보면 됩니다.)
    예. {7,6,8}
  • 딕셔너리 - 딕셔너리는 키를 통해 각 값에 액세스할 수 있는 키 및 값의 쌍에 키,값을 저장합니다. 항목의 순서는 중요하지 않습니다.
    예.{1:’apple’,2:’mango}
  • Boolean - True와 False 를 값으로 가집니다.

출처

profile
자습서 같은 공부 블로그 만들기!

0개의 댓글