본문 바로가기

python30

위코드 Pre Course - 파이썬의 Generator #send() 사용 예제 def generator_send(): received_value = 0 while True: received_value = yield print("received_value = ",end=""), print(received_value) yield received_value * 2 gen = generator_send() next(gen) print(gen.send(2)) next(gen) print(gen.send(3)) ################################################################3 # 실행 결과 received_value = 2 4 received_value = 3 6 파이썬에서 사용하는 함수 중 특수한 경우라고 볼 수 .. 2020. 7. 24.
위코드 Pre Course - 파이썬의 Iterator Iterator 개념은 파이썬 고유의 개념이 아닌 객체 지향 프로그래밍 언어에는 대부분 포함되는 개념으로 보인다. Iterator 반복자 라고 부르며, 객체 지향 언어에서 배열과 비슷한 자료 구조의 내부 요소를 순회하는 객체를 말함 파이썬에서 해당 객체를 사용할 수 있는 자료형은 String, Tuple, Set, List, Dictionary에서 사용 가능 dir(객체) 결과로 나오는 리스트에 __iter__이 포함된다면 반복자 객체를 사용할 수 있다 반복문을 사용한 방법과 반복자를 사용한 방법의 비교 # 각 방식을 비교 L = [1, 2, 3] for x in L: print(x ** 2, end=' ')#리스트 L의 값을 제곱해서 출력 I = iter(L) while True: try: X = ne.. 2020. 7. 24.
위코드 Pre Course - 파이썬의 Comprehension 이전에 봤었던 한줄로 여러 조건을 사용해서 객체를 만드는 것의 정체였다. Comprehension 컴프리헨션이라고 표현한다. + + + + + + + # Comprehension 예제 example_list = [ i for i in range(1,15)] print(example_list) ################################################ # 실행 결과 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] 세트, 리스트, 딕셔너리를 생성할 때 조건으로 사용할 수 있다. 어떤 자료를 사용하여 새로운 기준을 가진 데이터 모음을 만들 때 특히 유용하다. 절대로 만능이 아니다! 장단점을 확실하게 알고 사용하자. 장점 간단하게 표현된 컴프리헨.. 2020. 7. 24.
Python - Module과 Package 파이썬에서 사용되는 모듈과 패키지에 관하여 정리한다. 모듈과 패키지 모두 지칭하는 단어만 다를 뿐이지 다른 언어들에 모두 존재하는 개념인 것 같다. Module 다른 언어와 비슷하게 main모듈로 사용할 목적인 모듈에서 다른 모듈들을 import 하여 사용한다. # main.py import test print(test.large_check(10, 5)) ################################# from test import large_check#다른 import 방법 print(large_check(10, 5))#어떤 모듈의 함수인지 알려줄 필요가 없다. # test.py def large_check(num1, num2): if num1 < num2: res = num2 elif n.. 2020. 7. 23.
Python - Class 파이썬도 당연하겠지만 Class를 사용할 수 있다. 관련된 내용을 정리해보자. 클래스 정의 예제 class Calculator: def __init__(self, id):#생성자 self.id = id#클래스 attribute(속성) def plus(self, num1, num2):#이하 클래스 method(메소드) return num1 + num2 def minus(self, num1, num2): return num1 - num2 def div(self, num1, num2): if num2 != 0: return num1 / num2 def check(self): return self.id 파이썬에서 클래스를 사용할 때는 주의할 점이 몇개있다. 클래스 이름은 첫문자를 대문자로 할 것 따르지 않았을 .. 2020. 7. 23.
Python - range와 scope range와 scope 사실 서로 별 관련은 없는 개념인데 겸사겸사 한꺼번에 정리한다. range range는 기본 제공되는 함수이다. 기본적으로 지정된 값만큼의 범위를 가진다고 이해하는게 좋다. 총 3개의 인수를 전달할 수 있고, 각각의 경우에 따른 세부 기능이 다르다. 인수 1개 - 0에서부터 인수로 입력한 숫자 - 1만큼의 범위를 가진다. 인수 2개 - 시작할 지점과 마무리 지점을 순서대로 지정한다. 시작 지점은 표시한 숫자부터, 마무리 지점은 인수 - 1 지점까지의 범위를 가진다. 인수 3개 - 인수 2개와 거의 동일하지만 3번째 인수의 값만큼 값을 건너뛰는 범위를 가진다. 사실 인수 2개를 사용하는 방법에도 기본값인 1이 적용된다. for i in range(4): print(i, end=', .. 2020. 7. 22.
Python - Decorator 파이썬에 있는 데코레이터라는 개념에 대해서 간단하게 정리해보자. closure 개념과 관련된 기능으로 어떤 함수가 실행되기 전에 먼저 실행되어야만 하는 조건을 가진 함수가 있다면 데코레이터를 적용하기 위해 만들어진 상황이다. def decorator_function(original_function): def wrapper_function(): print("함수가 호출되기 전") return original_function() return wrapper_function @decorator_function #1 def display_1(): print("display1 실행") @decorator_function #2 def display_2(): print("display2 실행") display_1() .. 2020. 7. 22.
위코드 Pre Course - 절대경로와 상대경로 (1) 주어진 Assignment 문제에 맞게 정리를 해보고 있다. sys.modules와 sys.path의 차이점을 서술 sys.modules 이미 로드되어있는 모듈에 이름을 매핑하는 딕셔너리 강제로 다시 로드할 수 있도록 조작할 수 있다. 딕셔너리형이라고 내부의 요소들을 마음대로 수정할 수는 없고, 필수적인 부분을 건들경우 파이썬 전체에 문제가 생길 수 있다. sys.path 모듈의 검색 경로를 지정하는 문자열의 리스트 환경변수와 설치시에 정한 기본값에 종속된다. 자유롭게 내부 데이터를 수정할 수 있지만 자료형이 문자열 또는 바이트 데이터로 한정된다. sys.path와 sys.modules의 차이점 sys.path는 print 결과가 보여주듯이 모듈이 위치한 경로를 가지고 있을 뿐이고 리스트형의 데이터이기 .. 2020. 7. 22.
위코드 Pre Course - Python 1 다행히도 오늘 진행한 repl.it 내용은 간단한 부분이 많아서 특별히 따로 정리할 내용이 많지는 않다. 파이썬 정수 나누기 //연산자로 수행한다. 간단한 연산자지만 있는 줄 몰랐다;;; 파이썬 제곱 연산 ** 연산을 이용해서 수행한다. 이것도 정수 나누기와 동일하게 있는 줄 몰랐음;;; 제곱 같은 건 라이브러리를 쓰거나 구현하거나 해야 할 줄 알았다. Literal String Interpolation print 문을 사용할 때 앞에 f 를 추가해준다. print(f "내용~~ 중간에 {변수}~~ {변수}~~") 식으로 사용해서 문자열 중간중간에 변수 속 데이터를 끼워넣어서 출력할 수 있다. 파이썬의 논리 연산자 &&, || 같은 기호가 아닌 and, or 등 그냥 단어를 사용하면 연산 가능 이제 파이.. 2020. 7. 21.