WIKI

SEOUL‍
wiki:language:python

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
wiki:language:python [2024/06/06 01:42] – 제거됨 - 바깥 편집 (Unknown date) 127.0.0.1wiki:language:python [2025/02/05 14:15] (현재) – merge from obsidian clockoon
줄 1: 줄 1:
 +Python
 +======
 +
 +## 개요
 +
 +## 개념
 +
 +### 변수
 +파이썬은 기본적으로 묵시적 자료형 형태를 갖는다. 즉 변수에는 어떠한 데이터도 명시할 수 있으며, 그 데이터의 자료형은 인터프리터가 자동으로 판단한다. 필요시에는 사용자가 자료형을 명시하거나 변환하는 식으로 가공할 수 있다. 혹은 한 변수에 다른 자료형의 데이터를 바꿔넣으면 그 자료형이 자동으로 변환된다. 3.5 버전에서부터는 type hinting을 지원하기 때문에, 원하는 자료형을 명시하는 것이 가능하다(그러나 강제되지는 않는다). Type hinting은 빈 변수를 선언하는 데에도 사용할 수 있다.
 +
 +```python
 +a = 1 # integer
 +a = 'One' # str
 +b: int = 1 # type hinting for integer
 +c: int # type hinting, empty variable
 +```
 +
 +## 자료형
 +
 +### Dict
 +
 +### OrderedDict
 +기존 [[#Dict]] 대비 딕셔너리 아이템의 순서를 보장하기 위해 만들어진 자료형이며, `collections` 모듈에서 임포트한다. 다만 파이썬 3.6부터 기본 Dict 자료형도 순서 보장이 되므로 굳이 쓸 필요는 없다. 현재 시점에서 유일한 효용가치는 딕셔너리 객체 간의 순서 일치성을 비교할 필요가 있을 때 뿐이다(Dict는 순서에 무관하게 키-값 조합이 모두 존재하면 동일한 객체라고 판단한다).
 +
 +## 연산자
 +
 +### 언패킹 연산자
 +어떤 함수에 여러 인수를 넣어야 할 경우, 만약 리스트 내의 항목을 사용하고자 할 경우 일일이 넣는 대신 `%%*%%`를 사용할 수 있다. 예를 들어:
 +
 +``` python
 +num_list = [1,2,3,4,5]
 +print(num_list[0], num_list[1], num_list[2], num_list[3], num_list[4])
 +# 1 2 3 4 5
 +```
 +
 +위 코드를 언패킹 연산자로 구현하면 다음과 같이 간단해진다.
 +
 +``` python
 +num_list=[1,2,3,4,5]
 +print(*num_list)
 +# 1 2 3 4 5
 +```
 +
 +혹은 여러 변수를 동시에 언패킹해도 된다.
 +
 +``` python
 +num_list=[1,2,3,4,5]
 +num_list2=[6,7,8,9,0]
 +print(*num_list, *num_list2)
 +# 1 2 3 4 5 6 7 8 9 0
 +```
 +
 +이를 응용하면 여러 리스트를 하나로 합치거나,
 +
 +``` python
 +list3 = [*num_list, *num_list2]
 +# [1,2,3,4,5,6,7,8,9,0]
 +````
 +
 +변수를 쪼갤 때 '나머지' 항목을 몰아서 할당하는 것도 가능하다.
 +
 +``` python
 +myname = 'James'
 +first, *middle, last = myname
 +# first: J, last: s, middle: ame
 +```
 +
 +딕셔너리의 경우에는 `**` 연산자를 사용하여 동일한 기능을 구현할 수 있다.
 +
 +``` python
 +num_dict = {'a': 1, 'b': 2, 'c': 3}
 +num_dict2 = {'d': 4, 'e': 5, 'f': 6}
 +
 +new_dict = {**num_dict, **num_dict2}
 +# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
 +```
 +
 +## numpy
 +Numpy는 내장 list 대비 꽤나 빠른 실행 속도를 보이는 것으로 알려져 있다. 이는 C++로 작성된 코어의 성능이 더 빠르기 때문이다(참고: [Exploring NumPy: Features & Performance Vs Lists | by Ayman Hamed | Stackademic](https://blog.stackademic.com/exploring-numpy-features-performance-vs-lists-7f0b43d2af5f)).
 +---- struct data ----
 +pageinfo.status      : Draft
 +----