본문 바로가기

Language76

[Python] Scope에 대한 이해 모듈은 전역 이름공간을 가지고 있어서 모듈 내부에 작성된 함수나 클래스가 이름공간에 정의된 변수를 참조할 수 있다. 모듈에 정의된 함수는 지역 이름공간을 가지고 있어서 이 함수 내부에 또 함수를 정의하면 지역 이름공간이 만들어진다. 이렇게 이름공간에 있는 변수를 참조하여 범위를 정하는 규칙을 스코프(scope)라고 한다. 스코프에 따라 변수를 참조할 수 있어 규칙을 벗어나면 예외가 발생한다. 1. 지역변수를 할당 없이 처리 함수 func를 정의할 때 매개변수는 x, y 2개 이고 내부에 변수 result에 더한다. 모두 3개의 지역변수가 만들어진다. def func(x, y): #에러 result = result + x + y return result 함수에 2개의 인자를 넣고 실행하면 예외가 발생한다... 2021. 11. 10.
[Python] 네임드 튜플(Named Tuple) 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 네임드 튜플(Named Tuple) 클래스와는 다르고 collection module 하위에 있으며, dictionary 형태와 같이 key와 value 형태로 mapping 됩니다. 튜플인데 딕셔너리 형태를 갖고 있습니다. 요소에 key 또는 index로 접근할 수 있으며 데이터를 가공하거나 주고받을 때 독특한 성질을 갖고 있습니다. # 네임드 튜플 from collections import namedtuple # 네임드 튜플 선언 Point = namedtuple('Point', 'x y') pt3 = Point(1.0, 5.0) # 클래스 형태로 튜플을 추상화 하고 있습니다.. 2021. 10. 26.
[Python] 매직 메서드(Magic Method) 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 매직 메서드(Magic Method) 클래스 안에 정의할 수 있는 특별한(Built-in) 메서드입니다. 때론, 스페셜 메서드(Special Method)로 불리기도 합니다. 특별하다는 의미(?): 이미 만들어진 것을 예를 들어, 3 + 3 을 했을 때, 6이 나오는 것처럼 어떤 특별한(Built-in) 메서드가 동작을 해서, 결과값이 6이 나오는 것인지, 좀 더 낮은 레벨에서, 클래스 기반으로 코딩을 할 수 있도록 도와주는 메서드 매직 메서드를 이해해야 클래스를 좀 더 풍부하게 사용하고, 시퀀스를 이해해야 반복과 함수를 좀 더 편리하게 사용할 수 있습니다. print(int) .. 2021. 10. 24.
[Python] 함수는 1급 객체이다 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 정수나 문자열은 1급 객체(first-class object)이다. 따라서 변수, 매개변수, 반환값 등에 정의해서 사용할 수 있다. 함수도 1급 객체로 다른 객체와 같은 방식으로 사용할 수 있고 함수도 1급 객체라는 뜻입니다. 1급 객체의 중요한 특징 - 변수나 데이터 구조 안에 담을 수 있다 - 매개변수로 전달이 가능하다 - 리턴값으로 사용할 수 있다 1. 변수나 데이터 구조 안에 담을 수 있다 def func(x, y): return x, y print(type(func)) >>> 이 함수는 2개의 매개변수를 그대로 반환하는 함수입니다. 함수도 객체이기에 변수 func을 조회.. 2021. 7. 16.