-
728x90
1. 파이썬의 정의
프로그래밍언어이다.
인터프리터언어이다.
인터프리터언어(스크립트 언어):
한줄씩 소스 코드를 해석하여 그때그때 실행해 결과를 바로 확인할 수 있는 언어.
● 사용사례 : 웹개발, 게임개발, 소프트웨어 개발, 데이터분석 등
2. 파이썬을 언어로 사용함에 있어 누릴 수 있는 혜택(장점)
직관적이고 간결한문법, 빠른 개발 속도, 높은 확장성 및 이식성(다른언어나 라이브러리에 쉽게접근)
모든 운영체제에서 사용가능, 객체지향 프로그래밍,동적언어,방대한라이브러리 지원 등이 있다.
객체지향 프로그래밍이란?
문제를 여러 개의 객체 단위로 나눠 작업하는 방식이다.
객체지향 프로그래밍의 장점?
객체 단위로 분리해서 작업하기 때문에 여러 개발자와
협업을 진행할 수 있고, 유지보수측면도 뛰어나다.
3. 리스트와 튜플의 차이?
리스트:
가변객체, 많은메모리를 소모한다.
튜플
불변객체, 리스트보다 적은 메모리를 소모한다.
4. 파이썬에서 메모리관리는 어떻게 이루어지는가?
힙 스페이스로 메모리를 관리한다.
가비지 컬렉터로 사용되지 않는 메모리를 지우거나 재활용하여 힙 스페이스에서 사용 가능하게 한다.
5. PEP 8이란?
파이썬 스타일 가이드이다.
파이썬 코드를 잘 작성하기 위한 가이드라인과 모범사례들을 제공해주는 문서이다.
6. 파이썬은 인터프리터 언어이다.
한줄한줄씩 코드가 실행된다.
컴파일언어인 자바는 코드가 한번에 실행된다.
● 컴파일언어와 인터프리터언어의 차이점
컴파일 언어는 소스 코드를 컴파일하는 과정을 거쳐야 하므로 실행 및 수정에
비교적 많은 시간을 소요하지만, 한 번 기계어로 번역되면 빠른 실행 속도를 보여줍니다.
스크립트 언어는 컴파일 없이 곧바로 실행하므로 결과를 바로 확인하고
빠르게 수정할 수 있지만, 번역과 실행이 동시에 이루어져 컴파일 언어보다 느린 실행 속도를 보입니다.
7. 세트와 딕셔너리의 차이점?
세트
순서가 정의되지 않은 데이터타입의 집합, 반복할 수 있고 가변객체이다.
중복된 요소는 제거해준다.
딕셔너리
순서가 정의되지 않은 데이터값의 집합.
맵과같이 데이터값을 저장하기 위해 사용.
세트는 중복된 요소를 사용할 수 없지만, 딕셔너리는
키만 중복값을 사용하지못하고 데이터값은 중복되도 상관없다.
8. 파이썬에서 함수의 인자는 값이나 참조로부터 어떻게 전달되는가?
파이썬에서 모든 것들은 객체이며, 모든변수들은 객체를 참조한다.
참조 값들은 함수에 관한 것이므로 변경이 불가능하다. 하지만, 객체가 가변객체라면 객체 변경이 가능하다.
9. 네임스페이스란?
파이썬에서 네이밍 갈등을 피하기 위해 이름이 고유한지 확실케하는 네이밍 시스템
10. 람다 함수란?
익명함수이다.
매개 변수로 모든 숫자를 가질 수 있지만, 오직하나의 구문만을 가질 수 있다.
11. 파이썬 3.8 버전에 추가된 새로운 기능은?
● 위치로만 인자를 전달
● 할당표현식(:=)
● "=" 를 지원하는 f스트링
● 딕셔너리와 작동하는 reversed() 함수
12. 파이썬에서 다중상속(multiple inheritance)이 지원되는가?
파이썬은 자바와는 다르게 다중 상속을 지원한다.
다중 상속이란 클래스가 하나 이상의 부모클래스로부터 파생될 수 있음을 뜻한다.
13. 파이썬에서 다형성이란?
다수의 폼들을 취할 수 있는 능력을 뜻한다.
즉, 여러 객체 타입을 하나의 타입으로 관리가 가능하게 만들어 코드의 유지보수에 좋다.
ex) 부모클래스가 'ABC' 라는 이름의 클래스 안 함수를 가지고 있다고 가정할 때,
자식클래스도 동일한 'ABC'라는 이름의 고유한 파라미터와 변수를 가지고 있는
클래스 안 함수를 소유할 수 있다는 것이다.
14. 파이썬에서 캡슐화란?
하나의 단위로 묶어서 클래스를 만드는 것
코드와 데이터를 함께 묶는 것을 뜻한다.
15. 파이썬에서 데이터 추상화를 어떻게 하는가?
인터페이스와 추상클래스를 사용하여 구현 가능하다.
16. 어떤 데이터베이스들이 파이썬에서 지원되는가?
MySQL(관계형)&MongoDB(비관계형)이 파이썬에서 네이티브로 지원되는 유명한 데이터베이스이다.
17. 파이썬에서 예외처리는 어떻게 작동하는지?
try,except, 그리고 finally 세가지 메인 키워드를 제공한다.
try 블럭은 에러를 모니터링하기 위한 코드로 구성,
except블럭은 에러가 발생했을 때 발생된다.
finally는 에러 발생유무와 상관없이 실행된다.
18. 얕은복사와 깊은복사의 차이?
얕은복사는 새로운 인스턴스 타입이 생성 되었을 때 사용된다
깊은복사는 이미 복사된 값들을 다시 저장하는데, 얕은복사는 복사된 값을 저장해준다.
즉, 얕은복사는 프로그램 실행을 빠르게 만들지만, 깊은복사는 느리게 만든다.
19.PIP란?
Python Install Package의 줄임말.
여러 종류의 파이썬 모듈을 설치하기위한 인터페이스를 제공해준다.
20__init__()이란?
OOP(Object-Oriented Programming) 용어에서 쓰이는 생성자(constructor)와 동일하게,
예약 함수이다.
__init__ 함수는 언제든 새로운 객체가 시작될 때 자동으로 호출되고,
새로운 객체가 생성되는 순간에 바로 메모리를 할당한다.
변수를 초기화하기 위해 사용될 수 있다.
21. Flask-restx 란?
flask-resful 라이브러리 중 하나
swagger라는 rest api를 문서화해주는 도구를 지원.
swagger :
rest api를 편리하게 문서화해주고, 이를 통해서 관리 및 제 3의
사용자가 편리하게 API를 호출해보고 테스트 할 수 있는 프로젝트이다.
728x90