본문 바로가기
반응형

Polpid's World568

파이썬 가상 환경 실행 및 VS Code 설정 파이썬 가상 환경 실행 방법 python -m venv 디렉토리명 python 3 부터는 venv 가 포함되어있어서 virtualenv 를 설치 하지 않아도 된다. 위와 같이 실행을 하면 입력한 폴더가 생성이 된다. 가상환경 실행은 폴더 하위에 Script 디렉토리에 있는 activate 를 실행 하면 된다. (mac 인 경우 source ./bin/activate 를 실행한다.) VS Code 설정 방법 - Ctrl + Shift + P 입력 (cmd + Shift + P) - 가상 환경 선택 또는 새로운 path 선택 (새로운 path 선택시 위에서 생성된 bin 디렉토리 또는 Script 디렉토리에 있는 python 을 선택하면 된다) 2023. 3. 27.
김범준의 핸즈온 리액트 네이티브 리뷰 그동안 리액트를 공부하면서 느꼈던 점을 생각해보면 생각보다 어렵다는 거였다. 컴포넌트를 그리고 재사용 하기 위해서 리액트를 사용하려면 무작정 만들어서 되는것도 아니고 전체적인 구조를 생각해 가면서 만들어야 하기 때문이다. 물론 처음부터 모두 생각하고 만들수 없기 때문에 만들면서 리팩토링을 하는것이 필수이다. 하지만 언어가 갖고 있는 기능만 알고 있다고 해서 해결될 문제는 아니다. 무엇보다도 무언가를 만들어보면서 느낄수 있는 것들이 있기 때문이다. 이런 이유에서 이 책은 리액트를 공부한 사람들에게 프로젝트를 따라 해보면서 기능들을 활용해 볼 수 있는 좋은 참고서가 될 수 있다. (기본적인 지식은 반드시 알고 있어야 한다.) 무언가를 하나 만들려면 하루 아침에 뚝딱 만들어지는 것은 아니다. 먼저 생각해야 할.. 2023. 3. 24.
(내돈내산) 퍼니랙 선반으로 공간 활용하기 겨울 스키 시즌이 끝나고 스키 장비를 어떻게 보관을 할까라는 고민에 빠졌다. 베란다에 보관하기에는 햇빛이 들고 온도차가 많이 나기 때문에 장비가 상해서 보관이 불가능했다. 그리고 창고가 없어서 방에 보관했던 선풍기들이 자리를 많이 차지하는것 같아서 선반이 필요하다는 생각이 들었다. 찾던중 내게 딱 맞는 선반을 찾게 되었다. 그런 바로 퍼니랙 조립식 철제 선반장이다. https://smartstore.naver.com/furnirack/products/4690500770?NaPm=ct%3Dlfdfil05%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3Dfe180c35125bc028c936e5000001e6ca113d4a96 퍼니랙 W800 다용도실/주방 선반장-조립식 철제 선반.. 2023. 3. 18.
파이썬 문법 : 데코레이터 함수 함수의 앞 뒤 부가적인 기능을 넣어주고 싶을때 사용한다 클로저를 사용해서 구현한다. 데코레이터는 @를 함수위에 적용하여 사용한다 def logger(func): def wrapper(): print("함수시작") func() print("함수종료") return wrapper @logger def print_hi(): print("hi") print_hi() # OUTPUT 함수시작 hi 함수종료 매개변수 전달 @logger def print_hi(name): print(name, 'hi') print_hi("tom") # OUTPUT print_hi("tom") TypeError: logger..wrapper() takes 0 positional arguments but 1 was given 위와 같이.. 2023. 3. 13.
파이썬 문법 : 제너레이터 함수 이터러블 객체 순서가 있는 자료형 문자열, 리스트, 튜플, 딕셔너리, range 객체 __iter__(), __next__() 메소드가 정의되어있다. 제너레이터 함수 이터레이터를 만드는 함수이다. yield 사용한다 제너레이터 표현식을 사용해서 만들 수 있다. 메모리 사용이 효율적이다. List 같은 경우 결과 값을 메모리에 저장한다. 제너레이터의 경우 식만 저장할뿐 값을 저장 하지 않는다. __next__ 함수가 호출 될 때에 결과값을 만든다 # yield 사용 def gen_func(*args): for arg in args: yield arg month = gen_func('1월', '2월', '3월', '4월') print(month.__next__()) # 1월 print(month.__next.. 2023. 3. 9.
파이썬 문법 : 내부 함수, 클로저 내부함수 함수 안에서 정의 되는 함수 클로저(closure) 함수가 종료되어도 자원을 사용할 수 있는 함수 클로저 조건 내부함수 외부함수 변수를 참조해야 한다. 외부함수가 내부함수를 반환 해야 한다. def outer(name):# 외부함수 def inner():# 내부함수 print(name, "하이")# 외부함수 변수 참조 return inner# 내부함수 반환 callfunc = outer("tom") callfunc() # OUTPUT tom 하이 클로저 살펴보기 print(dir(callfunc)) # ['__annotations__', '__builtins__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__de.. 2023. 3. 6.
파이썬 문법 : method 인스턴스 메소드 인스턴스 속성에 접근하는 메소드 self 를 파라미터로 받는다. 클래스 메소드 클래스 속성에 접근하는 메소드 클래스를 의미하는 cls 를 파라미터로 받는다 @classmethod 를 붙인다 class Unit: count = 0 def __init__(self, name, weight, height, hidden): self.name=name self.weight=weight self.height=height self.__hidden=hidden Unit.count +=1 print(f"{self.name} Unit 생성") def __str__(self): return f"name={self.name} weight={self.weight} height={self.height}" # 인스.. 2023. 3. 3.
파이썬 문법 : class 속성들 인스턴스 속성 객체마다 다르게 갖고 있는 속성 코드에서 self 로 표기된 속성들이 인스턴스 속성이다. 클래스 속성 모든 객체가 공유하는 속성 count 가 클래스 속성 접근시에는 클래스이름.속성 으로 접근 (ex : Unit.count) 비공개 속성 클래스 안에서만 접근 가능한 속성 __hidden 이 비공개 속성이다. 외부에서 변경시 Unit.__hidden 으로는 접근이 불가능 하다 네이밍 맹글링에 의해서 접근은 가능하다 (unit1._Unit__hidden) class Unit: count = 0 def __init__(self, name, weight, height, hidden): self.name=name self.weight=weight self.height=height self.__hid.. 2023. 3. 2.
파이썬 문법 : map, filter 함수 map 함수 map(함수, 순서가 있는 자료형) map 의 결과는 map object 이기 때문에 사용하기 편한 list 형태로 변환한다. def remove_blank(x): return x.strip() items=[' mouse', ' monitor '] items=list(map(remove_blank, items)) print(items) # output # ['mouse', 'monitor'] # 람다함수로 표기할 경우 items=list(map(lambda x:x.strip(), items)) filter 함수 filter(함수, 순서가 있는 자료형) def func(x): return x < 0 print(list(filter(func, [-3, 0, 2, 7, -7]))) # output.. 2023. 2. 28.
파이썬 문법 : 람다 함수 람다함수를 사용하면 코드가 간결해진다 메모리 사용이 효율적이다. # 람다함수 선언 방법 lambda a : a-1 # 호출방법 1 : 그대로 호출 print ((lambda a:a-1)(10)) # 호출방법 2 : 변수에 담아서 호출 minus_ten = lambda a : a-10 print (minus_ten(100)) # 람다함수 if 문 사용 def is_positive_num(a): if a > 0: return True else: return False lambda a : True if a > 0 else False 개인적으로 함수 자체를 호출하는 방법보다는 변수에 담아서 호출하는게 가독성에는 더 좋아보인다. 2023. 2. 27.
파이썬 문법 : 키워드 가변 매개변수 kwargs kwargs 는 keyword arguments 매개변수 앞에 ** 가 붙는다 딕셔너리 로 인식한다. def comment_info(**kwargs): print(kwargs) for key,value in kwargs.items(): print(f'{key}:{value}') comment_info(name='test1', age=10) output {'name': 'test1', 'age': 10} name:test1 age:10 추가 사항 : 추가적으로 *args 는 임의의 개수의 argument 를 의미한다. kwargs 와는 달리 tuple 로 인식한다. 2023. 2. 27.
파이썬 문법 : 튜플 튜플은 () 로 정의된다 튜플은 값을 바꿀수 없다. t1 = () t2 = (1,) t3 = (1,2,3) t4 = 1,2,3 t5 = ('a', 'b', ('ab', 'cd')) 1개의 요소만 가질때에는 콤마(,) 를 붙여야 한다. 괄호가 생략 가능하다 개수가 정해지지 않은 매개 변수로 사용된다. (* 가 매개변수 앞에 붙는다.) = 위치가변 매개변수 def print_fruits(*args): print(args) for arg in args: print(arg) print_fruits('apple', 'banana', 'melon') output ('apple', 'banana', 'melon') apple banana melon 2023. 2. 27.
728x90
반응형