본문 바로가기

Python

(11)
파이썬 중급 (Inflearn Original) 10편 - 해시테이블(Hash Table), Dict 고급, setdefault() 함수 # Chapter-04-03 # 시퀀스형 # 컨테이너(Container : 서로다른 자료형[List, tuple, collections.deque]) # 플랫(Flat : 한개의 자료형[str, bytes, bytearray, array.array, memoryview]) # 가변(list, bytearray, array, memoryview, deque) # 불변(tuple, str, bytes) 1. 해시테이블과 해시 값 # 해시테이블 # Key에 Value를 저장하는 구조 # 파이썬의 Dict 자료형은 해시 테이블의 한 예시임 # 키 값의 연산 결과에 따라 Value에 직접 접근이 가능한 구조 # key 값을 해싱 함수에 넣어주면 -> 해시 주소가 나옴 -> 해시 주소를 통해 key에 대한 valu..
파이썬 중급 (Inflearn Original) 9편 - divmod 함수, 가변형 컨테이너와 불변형 컨테이너, sorted 와 sort의 차이 코드 내용과 출력 결과를 따로 작성하는 것보다는, 가독성을 높이기 위해서 주제별로 코드블럭을 나누고 코드 내에 주석으로 출력내용을 같이 담았습니다. 강의 내용을 자세히 적어, 천천히 읽어보면서 따라하면 강의 없이 코드블럭만 보고도 복습할 수 있도록 했습니다. # Chapter-04-02 # 시퀀스형 # 컨테이너(Container : 서로다른 자료형[List, tuple, collections.deque]) # 플랫(Flat : 한개의 자료형[str, bytes, bytearray, array.array, memoryview]) # 가변(list, bytearray, array, memoryview, deque) # 불변(tuple, str, bytes) # 리스트 및 튜플 고급 # Python은 표현할 ..
파이썬 중급 (Inflearn Original) 8편 - 지능형 리스트(Comprehending Lists), filter, map 함수의 차이점, Generator, 깊은 복사와 얕은 복사 코드 내용 # Chapter-04-01 # 시퀀스형 # 컨테이너(Container : 서로다른 자료형[List, tuple, collections.deque]) # 플랫(Flat : 한개의 자료형[str, bytes, bytearray, array.array, memoryview]) # 가변(list, bytearray, array, memoryview, deque) # 불변(tuple, str, bytes) # 리스트 및 튜플 고급 # 지능형 리스트(Comprehending Lists) chars = '+_)(*&^%$#@!' code_list1 = [] for s in chars: # 유니코드 리스트 code_list1.append(ord(s)) print(code_list1) # Comprehend..
파이썬 중급 (Inflearn Original) 7편 - namedtuple( tuple과 dict를 합친 자료형이 있다?) 코드 내용 #Chapter03-04 # namedTuple의 사용 # 파이썬의 핵심 -> 시퀀스(Sequence), 반복(Iterator), 함수(Function), Class(클래스) # 클래스 안에 정의할 수 있는 특별한(Built-in) 메서드 # 객체 -> 파이썬의 데이터를 추상화 # 모든 객체 -> id, type -> value # 일반적인 튜플 pt1 = (1.0, 5.0) pt2 = (2.5, 1.5) from math import sqrt l_leng1 = sqrt((pt1[0]-pt2[0])**2 + (pt1[1]-pt2[1])**2) print(l_leng1) # 네임드 튜플 사용 - 네임드 튜플은 tuple과 dict를 결합해놓은 것 같은 자료형임 from collections im..
귀도 반 로섬, 파이썬(Python) 창시자의 철학에 대하여 파이썬 창시자의 소프트웨어 개발 철학 내가 아는 개발자는 그렇게 많지 않지만, 그중 가장 인상적인 개발자를 뽑으라고 한다면 ‘귀도 반 로섬’을 뽑을 것이다. 그를 간단히 소개하자면, 프로그래밍 언어인 Python을 만든 사람이다. Python은 소프트웨어에 관심이 있다면 모를 수 없는 프로그래밍 언어이다. 이 언어를 만든 사람이라는 사실만으로도 흥미로운 사람이다. 나는 그가 Python을 개발할 때 가졌던 가치관과 신념을 조사한 적이 있었는데, 이는 분명 매력적이었다. 오늘은 그에 대해서 알아보도록 하자. 그를 간단히 소개하자면 다음과 같다. 1956년 네덜란드 출신의 남성으로 2005년부터 2012년까지 구글에서 일했으며, 2013년부터는 드롭박스의 수석 개발자로 일하고 있다. 지금도 Python 프로..
파이썬 중급 (Inflearn Original) 6편 - Special Method(Magic Method) - (__add__, __mul__, __bool__, __repr__) 코드 내용 #Chapter03-02 # Special Method(Magic Method) # 파이썬의 핵심 -> 시퀀스(Sequence), 반복(Iterator), 함수(Function), Class(클래스) # 클래스 안에 정의할 수 있는 특별한(Built-in) 메서드 # 클래스 예제2 # (5,2) + (4,3) = (9,5) # (10,3) * 5 = (50,15) # Max((5,10)) = 10 class Vector(object): # object를 상속 ''' ^^* ''' def __init__(self, *args): """ Create a vector, example : v = Vector(5,10) """ if len(args) == 0: # e.g. Vector() self._x..
파이썬 중급 (Inflearn Original) 5편 - Special Method(Magic Method) - (__add__, __ge__, __le__, __sub__) 코드 내용 #Chapter03-01 # Special Method(Magic Method) # 파이썬의 핵심 -> 시퀀스(Sequence), 반복(Iterator), 함수(Function), Class(클래스) # 클래스 안에 정의할 수 있는 특별한(Built-in) 메서드 # 기본형 print(int) print(float) # 모든 속성 및 메소드 출력 print(dir(int)) print(dir(float)) n = 10 print(n+100) # '+' 연산자는 무엇일까? print(n.__add__(100)) # Int.__add__()를 호출해주는 특이한 연산자 print(n.__bool__(), bool(n)) # n이 0이 아닌 경우 True를 반환하는 함수 print(n*100, n._..
파이썬 중급 (Inflearn Original) 4편 - 객체지향프로그래밍(class method와 static method) 코드 내용 # chapter02_03 # # 객체 지향 프로그래밍(OOP) -> 코드의 재사용, 코드 중복 방지 등 # 규모가 큰 프로젝트(프로그램) -> 함수 중심 -> 데이터 방대 -> 복잡 # 클래스 중심 -> 데이터 중심 -> 객체로서 관리 class Car(): """ Car class Author: Kim Date:2020.04.05 Description : Class, Static, Instance Method """ #클래스 변수(모든 인스턴스가 공유) price_per_raise = 1.0 def __init__(self, company, details): self._company = company self._details = details def __str__(self): return ..