본문 바로가기

Python

특징

파이썬은 SW가 처음 만들어 내는 것보다 그 이후의 유지 보수가 훨씬 더 중요하다는 것을 깨닫는다면 파이썬의 진정한 가치를 느낄 수 있다.

 

1. 인터프리터 언어

  • 소스코드를 한 줄 한 줄 읽어 들이면서 실행하는 프로그램

2. 스크립트 언어

  • 소스 코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어

3. mixin

  • 루비에서 믹스인은 다중상속을 지원하지 않기 때문에 사용한다.
  • 파이썬에서 믹스인은 하위 클래스에서 공통으로 사용할 기능만 정의한 클래스를 의미한다.

 

4. 모든 것은 객체다.

  • X = 100 일 때, x가 100 레퍼런스를 가리킨다.
  • 마치,, y = [1] , y 리스트를 가르키는것처럼

5. 일급 객체

  • 데이터처럼 사용 가능
  • 매개변수에 넘겨줄 수 있다.
  • 리턴 값으로 사용 가능

: 파이썬은 함수도 일급 객체임

 

6. 클로저란?(closure)

  • 함수가 종료되어도 자원(함수 안에 있는 변수)을 사용할 수 있는 함수

1) 클로저가 될 3가지 조건

  • 내부 함수여야 한다. (내부 함수는 함수 안에 있는 함수를 의미)
  • 외부 함수(내부 함수를 가지고 있는 함수)의 변수를 참조해야 한다.
  • 외부 함수가 내부 함수를 반환해야 한다.

ex)

def func(name):

  def go():

     print(name)

  return go

 

func = outer("dexter")

func()

 

7. 제너레이터

1) 제너레이터 예약어

Yield

2) 제너레이터를 사용하는 이유

  • 메모리를 효율적으로 사용하기 위해

리스트 : 데이터 저장에 필요한 메모리를 모두 사용

제너레이터 : 나중에 필요할 때 값을 만들어 사용 (메모리 매우 적게 필요)

 

3) 사용 예시

list_data = [ d * 3 for d in range(1, 10000)]

generator_data = ( d * 3 for d in range(1, 10000))

 

8. 데코레이터

  • 함수의 앞, 뒤로 부가적인 기능을 넣어 주고 싶을 때 사용.
  • Ex) 로깅, 권한

1) 데코레이터 사용방법

  • 클로저를 이용해서 생성
  • 적용하고 싶은 함수앞에 @데코레이터

'Python' 카테고리의 다른 글

파이썬 환경설정  (0) 2021.08.25