본문 바로가기

python334

파이썬 데코레이터 간편 설명 파이썬 데코레이터 간편 설명¶ 함수의 실행 전후에 추가적인 코드를 실행하거나, 인자를 조작하거나, 함수의 결과를 가공하는 등의 작업을 수행할 수 있습니다 [필요지식] 파이썬 함수는 함수를 입력값으로 받을 수 있습니다. In [1]: # 데코레이터 함수 선언 def deco(func): # "result is" 와 같이 반복적인 내용을 가진 wrapper 선언 def wrapper(*args, **kwargs): # 반복적인 내용 추가 string = "result is " # 데코레이터를 이용할 함수 결과 반환 result = func(*args, **kwargs) return string + str(result) return wrapper 데코레이터 활용 예시 1¶ In [2]: # @ 뒤에 함수를 데.. 2023. 8. 18.
파이썬 객체 슬라이싱 기능 구현 __getitem__ 특별메소드 파이썬 객체 슬라이싱 기능 구현 : getitem 특별메소드¶ 파이썬 객체에 슬라이싱 기능이 필요한 경우 특별메소드인 __getitem__을 사용합니다. In [1]: list_sample = [1,2,3,4,5,6] list_sample[2:5] Out[1]: [3, 4, 5] __getitem__ 의 슬라이싱 기능을 설명하기 위해 입력된 리스트의 값마다 3을 곱한 결과를 같이 보여주는 코드를 작성하였습니다. In [2]: # __getitem__ 슬라이싱 기능을 보여주기 위해 class ExampleClass(): def __init__(self, list_sample): self.list_sample = list_sample self.data = list(map(lambda x:x*3, list_s.. 2023. 8. 18.
argparser를 활용한 True False 반환 하기 argparser를 활용한 True / False 반환 하기 : action="store_true"¶ 특정 조건에 대한 참/거짓을 판별할때 add_argument에 action 인자를 사용합니다. In [4]: %%writefile action_test.py ### %%writefile 주피터 노트북에 셀을 하나의 파일로 만들어 주는 매직키워드 입니다. ### 첫줄에 %%writefile {파일이름.확장자} 을 사용하면 파일이름.확장자 파일이 생성됩니다. import argparse parser = argparse.ArgumentParser() parser.add_argument("--use_GPU", action="store_true") # use_GPU를 사용하면 true를 저장한다로 해석합니다. a.. 2023. 8. 18.
파이썬 정규식 성능 향상을 위한 compile 객체 사용법 파이썬 정규식 성능 향상을 위한 compile 객체 사용법¶ 정규식을 반복적으로 사용할 때 성능을 높이기 위해서 사용하는 함수입니다. 're.compile' 함수를 사용하여 정규식을 객체형태로 기억하고, 기억된 객체를 활용하여 정규식을 적용합니다. In [1]: import re ex = ["서울시 강남구 06173"] # 정규식 객체 선언 filtering = re.compile("\d+") # 정규식 적용 result = filtering.search(ex[0]) In [2]: # 결과 확인 (span : 정규식이 적용된 위치, match : 정규식 추출 결과) result Out[2]: In [3]: # 정규식 추출 결과만 출력 result[0] Out[3]: '06173' 반복문 적.. 2023. 8. 18.
파이썬 리스트 차원 병합 파이썬 리스트 차원 병합¶ 리스트에서 내 차원을 하나로 병합할 때 sum 함수를 사용하고 sum(list, []) 와 같은 형태로 완성합니다 아래 예시를 보면 좀더 이해가 쉬워 질 수 있습니다. In [1]: a = [["qwe"], ["asd"], ["zxc"]] In [2]: sum(a, []) Out[2]: ['qwe', 'asd', 'zxc'] In [3]: b = [["qwe", "asd", "zxc"]] In [4]: sum(b, []) Out[4]: ['qwe', 'asd', 'zxc'] 단! 병합할 리스트가 없는 1차원 리스트의 경우 에러를 리턴 합니다. In [5]: c = ["qwe", "asd", ".. 2023. 8. 18.
파이토치 데이터로더 데이터 확인하기 dataloader, next(iter(dataloader)) [파이썬] 파이토치 데이터로더 데이터 확인하니 : dataloader, next(iter(dataloader))¶ 파이토치 데이터로더를 사용하면서, for 문을 작성하지 않고 데이터를 확인하고 싶을때가 있습니다. 저는 데이터를 확인하기 위해 iter와 next 함수를 사용합니다. In [1]: import torch from torch.utils.data import TensorDataset, DataLoader # 데이터 생성 sample_data = torch.randn(100, 5) label_data = torch.tensor([int(l>0) for l in torch.randn(100, 1)]) # 데이터 로더 생성 input_dataset = TensorDataset(sample_data, .. 2023. 8. 18.