Python/Basic
-
reduce함수Python/Basic 2022. 12. 11. 20:41
reduce함수 # syntax reduce(집계함수, 순회가능한데이터) - functools 내장 모듈의 reduce()함수는 여러개의 데이터를 대상으로 주로 누적 집게를 내기 위해서 사용 - 집계함수에서는 두개의 인자를 사용, 첫번째는 인자는 누적자(accumulator), 두번째 인자는 현재값(current value)가 넘어온다 누적자(accumulator)는 함수 시작부터 끝까지 계속 재사용되는 값이고 현재값은 '순회가능한데이터' 에서 바뀌는 값 - 순회가능한데이터는 문자열, 리스트, 튜플... 등 시퀀스를 말한다 # reduce함수 from functools import reduce def add_func(a,b): return a + b def mul_func(a,b): return a * ..
-
모듈(module)Python/Basic 2022. 12. 11. 16:38
모듈(module)이란 변수, 함수, 클래스 등을 모아놓은 파일 # calculator.py # calculator 모듈 # 합 def sum(x, y): return x + y # 차이 def difference(x, y): return x - y # 곱 def product(x, y): return x * y # 제곱 def square(x): return x * x # test.py from calculator import sum # calculator 모듈에서 sum 함수 부르기 print(sum(5,10)) from calculator import * print(sum(3, 5)) print(difference(3, 5)) print(product(3, 5)) print(square(3)) 파이..
-
Python에서 가상환경 만들기Python/Basic 2022. 11. 30. 22:38
1. venv : Python 3.3 버전 이후 부터 기본모듈에 포함됨 # 가상환경 만들기 python3 -m venv 가상환경이름 # 가상환경 실행 가상환경이름\Scripts\activate 2. virtualenv: Python 2 버전부터 사용해오던 가상환경 라이브러리, Python 3에서도 사용가능 # pip 업그레이드 하기 python -m pip install --upgrade pip # virtualenv 설치하기 python3 -m pip install --user -U virtualenv # 가상환경 만들기 virtualenv 가상환경이름 3. conda: Anaconda Python을 설치했을 시 사용할 수 있는 모듈 머신러닝, 데이터과학 분야의 다양한 라이브러리들이 설치된 런타임인 아..
-
__getitem__Python/Basic 2022. 10. 13. 16:26
# __getitem__은 클래스의 인덱스에 접근할 때 자동으로 호출되는 메서드 class 클래스이름: def __getitem__(self, 인덱스): 코드 class test: def __init__(self): print("test클래스의 생성자입니다") self.numbers = [i for i in range(1,11)] def __getitem__(self, index): print("__getitem__메서드 호출") return self.numbers obj = test() print(obj[0]) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] class test: def __init__(self): print("test클래스의 생성자입니다") self.numbers = [i..
-
데코레이터(Decorator)Python/Basic 2022. 10. 12. 10:07
# 데코레이터 함수, 꾸며주는 함수 # when to use?! - 함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용 =================== def print_hello(): print("안녕하세요") def add_print_to(original): def wrapper(): print("함수 시작") original() print("함수끝") return wrapper # add_print_to함수가 print_hello함수를 꾸며준다 print_hello = add_print_to(print_hello) print_hello() ================================ 데코레이터를 써보자 def add_print_to(original): def wrapper(..
-
람다(Lambda)와 클로저(Closure)Python/Basic 2022. 9. 29. 09:30
람다함수란?! - 익명함수. 즉, 함수의 이름이 없는 함수 - 다른 함수의 인수로 넣을 때 주로 사용 일반함수 vs 람다함수 # 일반함수 def plus_ten(x): return x + 10 plus_ten(1) # 11 # 람다함수 lambda x : x + 10 람다함수 특징 # 변수에 할당 plus_lambda = lambda x: x + 10 plus_lambda(1) # 11 # 람다 표현식 자체를 호출 (lambda x:x+ 10)(10) # 20 # 람다 표현식 안에서는 새 변수를 만들 수 없다 (lambda x: y=10; x+y)(1) # 람다식 밖에서 호출 y = 10 (lambda x: x + y)(100) 람다함수 사용하기
-
위치인자(Positional Argument) & 키워드인자(Keyword Argument) & 기본인자(Default Argument)Python/Basic 2022. 9. 27. 09:01
1. 위치 인자(Positional Argument) def print_numbers(a,b,c): print(b,a,c) print_numbers(10,20,30) # 20 10 30 # 인수를 순서대로 넣을 때는 리스트나 튜플을 사용 할 수 있다 함수(*리스트) 함수(*튜플) print_numbers(*[10, 20, 30]) # 20 10 30 # 위치 인수와 리스트 언패킹은 어디에 사용하나?! - 인수의 갯수가 정해지지 않은 가변 인수(variable arguement)에 사용한다 def 함수이름(*매개변수): 코드 def print_numbers(*args): for arg in args: print(arg) # 함수에 직접 값들을 넣어주거나?! print_numbers(10) print_num..
-
타입힌팅(Type Hinting)Python/Basic 2022. 9. 27. 08:17
타입 힌팅(Type Hinting) - Parameter와 return값의 데이터 값을 명시적으로 지정해 주는 것 # 변수 타입 어노테이션 - 변수 이름 뒤에 콜론(:)을 붙이고 타입을 명시해 주는 것 name:str = "yunaaa" age:int = 25 emails: list: ["yunajoe@gmail.com"] address: dict = { "street": "12345 Pine street, IL 32124", "city": "Urbana", "state" : "IL" "Zipcode" : "32124" } # 함수 타입 어노테이션 - parameter 뒤에 콜론(:) 을 붙이고, 반환값은 (->) def 함수명(: , : = ) -> : ... def stringfy(num: int) ..