Python
Python12 :: map, filter, locals, generator, List comprehension
Python12 :: map, filter, locals, generator, List comprehension
2020.08.31ㅡ. map, filtermap, iterator 기능을 수행하고 메모리를 절약해줍니다.def add_1(n): return n+1target = [2,3,3,4,5]result = map(add_1, target) #함수로 만들어서 돌릴 필요가 없습니다.print(list(result))values = [1,2,3,4,5,6,7,8,9,10]def isEven(n): return True if n%2==0 else Falseresult = filter(isEven, values)print(list(result))result2= filter(lambda k:k%2==0, values)print(list(result2))filter 자체는 조건에 의해 걸러진 요소들을 iterator객체로 만들어..
Python11 :: python 문법, 요약
Python11 :: python 문법, 요약
2020.08.19ㅡ. 인덴트 공백을 추가합니다. (보통 4칸) ㅡ. 네이밍 컨벤션 스네이크 케이스 e.g) hi_naming PEP 8 철학에 따라 스네이크 코딩을 지향합니다. ㅡ. 타입 에러 타입 에러 발생시 Incompatible return value type 에러가 발생합니다. ㅡ. 리스트 컴프리헨션 map, filter, 람다를 지원합니다. print([n*3 for n in range(1, 10+1) if n%2 == 1]) #result [3, 9, 15, 21, 27] 가독성이 좋아집니다. ㅡ. 제너레이터 return 은 함수가 종료되는데 비해 yield는 실행 중이던 값을 내보내게 됩니다. 다음 값을 생성하기 위해서는 next를 사용합니다. #print([n*3 for n in range(1, 10+1)..
Python08 :: python csv format 만들기
Python08 :: python csv format 만들기
2020.08.15import io import csv output = io.StringIO() csvdata = [1,2,'abc market','hi everyone','common'] writer = csv.writer(output,quoting=csv.QUOTE_NONNUMERIC) writer.writerow(csvdata) print(type(output.getvalue())) print(output.getvalue()) result #str #1,2,"abc market","hi everyone","common"
Python07 :: python 클래스 이름, 클래스 변수
Python07 :: python 클래스 이름, 클래스 변수
2020.08.14self.records_read = Metrics.counter(self.__class__, 'recordsRead') 모르는 문법이 나와서 정리합니다. 클래스 내부에서 self._ _class_ _._ _name_ _ 하게 되면 해당 name 이 붙어있는 class name을 참조하게 됩니다. 3가지 개념이 존재하는데 1. 클래스 이름 2. 클래스 변수 3. 인스턴스 변수 각각에 대해서 예제 코드로 살펴보겠습니다. Code : class House: def __init__(self, str_price): self.str_price = str_price def info(self): print("class name:", self.__class__.__name__) # // 클래스이름을 출력한다 print(..
Python06 :: Python Project 구성하기
Python06 :: Python Project 구성하기
2020.08.14Python 코드를 작성하다가 프로젝트 구조를 어떻게 잡아야 할지 의문이 들어 포스팅 하게 되었습니다. ㅡ. 모듈 실질적으로 비즈니스를 수행하는 코드를 모듈 폴더에 두어 관리합니다. ㅡ. 라이선스 라이선스 문서 전문, 저작권이 포함되어야 하는 부분 입니다. ㅡ. requirements.txt 프로젝트 수행에 필요한 의존성을 명시하고 설치할 수 있도록 requirements.txt 에 명시합니다. ㅡ. docs 문서들을 명시합니다. ㅡ. 테스트 도구 테스트 수행에 필요한 Script 를 포함합니다. 모듈과 의존성이 있는것이 아니라 독립적으로 설정되어 실행될 수 있도록 해야 합니다. ㅡ. makeFile 프로젝트 관리하는데 유용한 작업들을 명시합니다. init : pip install -r requireme..
Python05 :: python nested dictionary
Python05 :: python nested dictionary
2020.08.13ㅡ. Python nested dictionary 우리가 일반적으로 알고 있는 dictionary 는 python에서 dictionary = { 'key1' : 'value', 'key2' : 'value' } 형태가 있습니다. 여기에서 nested_dict = { 'dictA' : { 'nested_key1' : 'nested_value'}, 'dictB' : {'nested_key2' : 'nested_value2'} } nested dictionary에 접근할 때는 다음과 같이 접근하게 됩니다. print(dictionary['dictA']['nested_key1']) => 'nested_value' nested dictionary에 추가할 때는 다음과 같습니다. dictionary['dictC']..
Python04 :: python class
Python04 :: python class
2020.08.13ㅡ. class 의 정의 추상화를 구체화합니다. ㅡ. class 정의하기 (구조) class ClassName 내용 e.g) class Cat: def meow(self): print("야용") cat1 = Cat() //객체 생성 cat1.meow() ㅡ. 인스턴스 변수 생성 class Cat: def info(self) : self.name = "돼지" self.color ="pink" print("컴퓨터 이름은", self.name, "색깔은", self.color) cat = Cat() #인스턴스 생성 cat.info() #인스턴스 메소드 실행 ㅡ. self 클래스의 인스턴스를 지칭한다. self 를 통해 메소드와 속성을 접근한다. 모든 메소드의 첫 번째 매개변수는 자기 자신을 가리키는 self ..
Python03 :: Class
Python03 :: Class
2018.12.30python으로 class를 구서하는 방법에 대해 알아보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Calculator: def __init__(self): self.result = 0 def adder(self, num): self.result += num return self.result cal1 = Calculator() cal2 = Calculator() print(cal1.adder(3)) print(cal1.adder(4)) print(cal2.adder(3)) print(cal2.adder(7)) #인스턴스는 클래스에 의해서 만들어진 객체, 1개의 클래스는 무수히 많은 인스턴스를 만들어 낼 수 있다. cs 1 2 3 4 5 6 7 8 9 10 1..
Python02 :: sort
Python02 :: sort
2018.12.29정렬(sort) 오름차순, 내림차순 으로 정렬한것. 키란 자료를 정렬하는 기준이 되는 특정 값. ex) 서류를 번호대로 정렬하기 - 키 : 서류번호 대표적인 정렬 방식의 종류 버블 정렬, 카운팅 정렬, 선택 정렬, 퀵정렬, 삽입 정렬, 병합 정렬 이 있다. 버블 정렬과 카운팅 정렬 에 대해서 본다. 버블 정렬 : 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식 - 첫번쨰 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리까지 이동 - 한 단계가 끝나면 가장 큰 원소 또는 가장 작은 원소가 마지막 자리로 정렬됨 - 교환하며 자리를 이동하는 모습이 거품 모양과 같다고 해서 붙여짐 시간 복잡도 = O(n^2) ex) 55, 7, 78, 12, 42를 버블 정렬하는 과정 맨앞에 두 숫자 ..