본문 바로가기

전체 글261

[python] class(클래스) - 02 안녕하세요. TDR입니다. 오늘은 1부에 이어 비공개, 정적 , 클래스 메소드에 대해서 간략히 정리해 보겠습니다. [python] class(클래스) - 01 안녕하세요. TDR입니다. 이번에는 python에서 class를 어떻게 선언하고 어떤 식으로 사용하는지 간략히 정리해 보겠습니다. Default format class SomeClass: # 생성자 def __init__(self): pass def set_fruits(self, fruits) tdremon.tistory.com Private method(비공개 메소드) class SomeClass: def __init__(self): pass def public_method(self): print('Public method!') self.__pr.. 2024. 2. 25.
[python] class(클래스) - 01 안녕하세요. TDR입니다. 이번에는 python에서 class를 어떻게 선언하고 어떤 식으로 사용하는지 간략히 정리해 보겠습니다. Default format class SomeClass: # 생성자 def __init__(self): pass def set_fruits(self, fruits): self.fruits = fruits def get_fruits(self): return self.fruits def set_count(self, count): self.count = count def get_count(self): return self.count class_obj = SomeClass() class_obj.set_fruits('apple') class_obj.set_count(10) print(.. 2024. 2. 24.
[python] 지역변수 & 전역변수 안녕하세요. TDR입니다. 오늘은 python의 조금 특이한 전역변수 및 지역변수 대해서 정리해 보겠습니다. global_var01 = 'global_var01' def main_func(): global global_var01 global global_var02 global_var02 = 'global_var02' main_var = 'main_var' global_var01 = 'edit sub_func : global_var01' print(main_var) # main_var def sub_func(): nonlocal main_var print(main_var) # main_var main_var = 'edit sub_func : main_var' print(main_var) # edit sub.. 2024. 2. 23.
[python] function(함수) - 02 안녕하세요. TDR 입니다. 지난번 함수 1부에 이어 가변인수, 키워드 인수 등에 대해서 정리해 보겠습니다. [python] function (함수) - 01 안녕하세요. TDR입니다. 오늘은 python function(함수)의 여러가지 사용법을 정리해 보겠습니다. Structure def 함수이름(매개변수들): ... return 반환값들 함수 선언은 def 키워드를 통해 이루어지고 다른 tdremon.tistory.com Variable argument(가변인수) def some_function(a, b, *args) print(a) # 1 print(b) # 2 for arg in args: print(arg) # 3, 4, 5 some_function(1, 2, 3, 4, 5) 함수를 작성하다보.. 2024. 2. 22.
[python] function (함수) - 01 안녕하세요. TDR입니다. 오늘은 python function(함수)의 여러가지 사용법을 정리해 보겠습니다. Structure def 함수이름(매개변수들): ... return 반환값들 함수 선언은 def 키워드를 통해 이루어지고 다른 언어와 다른 점은 python에는 변수의 타입을 지정하지 않기 때문에 반환 타입 역시 지정하지 않습니다. 그리고 return 값으로 여러개를 반환이 가능합니다! (이거 정말 편합니다!) def multi_return(): return 1, 2, 3 a, b, c = multi_return() # a = 1, b = 2, c = 3 result = multi_return() # type(result) : tuple, result = (1, 2, 3) 여러개의 return을 .. 2024. 2. 21.
[VS] Compiler vs JIT Compiler 안녕하세요. TDR입니다. 오늘은 일반적인 컴파일러와 Just-In-Time(JIT) 컴파일러를 비교해 보겠습니다. 우선 각각의 정의를 간단히 알아보면 다음과 같습니다. Compiler 소스 코드 전체를 읽고 해석하여 중간 코드나 목적 코드로 생성하는 것 JIT Compiler 소스 코드의 일부 또는 전체를 기계 코드로 런타임(실행 중) 생성하는 것 기계 코드(중간 코드 or 목적 코드)를 생성하는 것 자체는 동일합니다. (그게 Compiler의 역할이니) 중요한 것은 "시점"입니다. 이미 잘 아시겠지만, C, C++ 같은 언어는 사전에 소스 코드와 헤더 파일, 라이브러리 등등을 모두 컴파일하여 실행 시점에는 고속으로 실행할 수 있습니다. 반면 Java의 Hotsopt VM이나 .NET의 CLR(공용 언.. 2024. 2. 18.
[python] closure(클로저) 안녕하세요. TDR입니다. 오늘은 python에서 closure(클로저)라는 개념에 대해서 정리해 보겠습니다. closure란, 함수와 함수가 선언된 환경을 함께 가지는 개념을 말합니다. 이렇게 말하면 무슨 말인지 하나도 이해가 안가기 때문에 간단한 예시를 보면, def outer_function(x): y = 10 # 내부 함수를 정의하고 반환 (클로저) def inner_function(z): return x + y + z return inner_function # outer_function 호출. closure_func에는 inner_function이 저장되어 있음 closure_func = outer_function(5) # outer_function 내부에 있는 변수 y에 접근할 수 있음 pri.. 2024. 2. 17.
[python] lambda(람다) 안녕하세요. TDR입니다. 오늘은 python에서의 lambda를 사용하는 방법에 대해서 정리해 보겠습니다. 우선 lambda가 무엇인지 부터 알아보면 (언어마다 약간의 차이는 있지만) 간략한 익명함수를 생성하는 것을 말합니다. python에서도 간략한 한줄짜리 함수를 굳이 함수로 선언 안하고 간략하게 쓰고 싶을 경우 많이 사용합니다. 우선 lambda의 기본 형태를 먼저 살표 보겠습니다. # 기본 형태 lambda : # 기존 함수와 비교 def (): return 위 코드를 보시면 기존 함수와 비교했을 때, 과 return 키워드가 생략되었습니다. 즉, lambda는 함수의 이름을 가지지 않으며(익명 함수), 은 자동으로 return이 되는 것을 알 수 있습니다. python에서는 함수를 변수에 저장.. 2024. 2. 16.
[python] reduce 함수 안녕하세요. TDR입니다. 오늘은 python에서의 reduce 함수에 대해서 정리해 보겠습니다. reduce 함수는 쉽게 설명하면, 반복 가능한 객체에 저장된 숫자(numeric)들을 받아서 모두 더한 값을 반환해주는 함수 입니다. reduce를 쓰지 않고 일반적인 방법으로 구현을 한다면 아래와 같은 형태가 됩니다. def accumulate(x, y): return x + y list_obj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 값을 누적 시작 전의 초기값 설정 init_value = 1 res = init_value for i in list_obj: res = accumulate(res, i) print(res)# 46 위 코드를 reduce를 써서 변경을 하면 다음과 같.. 2024. 2. 15.
[python] filter 함수 안녕하세요. TDR입니다. 오늘은 python에서의 filter 함수에 대해서 정리해 보겠습니다. filter 함수는 앞에서 알아본 map 함수와 유사한 형태를 가지지만 차이가 있다면, 입력한 반복 가능한 객체 값에 대한 수정을 하는 것이 아닌, 조건에 맞는 값만 결과로 걸러준다는 차이가 있습니다. (그래서 함수 이름이 filter인 듯 합니다.) 먼저, filter 함수를 쓰지 않고 일반적인 방법으로 구현한 형태를 보면 다음과 같습니다. input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] output = [] # 매개 변수가 짝수인 경우 True return def is_even(n): if n % 2 == 0: return True else: return False # input .. 2024. 2. 14.
[VS] 양념 vs 다대기 안녕하세요. TDR입니다. 한국어 중에 비슷한 듯 하면서 미묘하게 다른 뜻을 가지고 있는 두 단어를 비교해 간단히 정리해보겠습니다. 아래 사전 정의의 출처는 "Naver 사전"입니다. 양념 음식의 맛을 돋우기 위하여 쓰는 재료를 통틀어 이르는 말. 기름, 깨소금, 파, 마늘, 간장, 된장, 소금, 설탕 따위를 이른다. 다대기 양념의 하나. 끓는 간장이나 소금물에 마늘, 생강 따위를 다져 넣고 고춧가루를 뿌려 끓인 다음, 기름을 쳐서 볶은 것으로, 얼큰한 맛을 내는 데 쓴다. 즉, 양념이 좀 더 포괄적인 의미를 가지고 있습니다. 일상 생활에서도 국밥이나 잔치국수 등에 넣는 것만 다대기라고 부르고 설탕, 소금과 같이 맛을 내기 위한 조미료는 양념이라고 부릅니다. 재밌는 것은 다대기의 어원인 일본어 다다키(た.. 2024. 2. 8.
[python] File I/O 안녕하세요. TDR입니다. 오늘은 python에서 File Input / Output을 어떻게 하는지 간략하게 살펴 보겠습니다. File을 열 때 어떤 모드로 열지를 결정할 수 있습니다. 대표적인 형태로는 아래 4가지가 있습니다. File open mode r : 읽기 모드 w : 쓰기 모드 a : 수정 모드 x : 쓰기 모드. 배타적 생성으로 파일이 없으면 생성하고, 있으면 오류 발생 (FileExsitsError) File 읽기 ## 기본적인 형태 01 file = open('input.txt', 'r')# input.txt 파일을 읽기모드(r)로 염 line = None while line != '': line = file.readline()# file에서 한줄씩 읽어 들임 file.close()#.. 2024. 2. 3.
[python] for 반복문 안녕하세요. TDR입니다. 오늘은 어느 언어에서만 많이 쓰이는 for 반복문을 Java와 비교해서 python에서는 어떻게 사용하면 되는지 정리해 보겠습니다. #### python에서의 for문 구조 for in : #### 일반적인 반복문 ## Java for (int i = 0; i < 10; i++) { System.io.println(i); } ## python # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 for i in range(10): print(i) #### 특정 값 만큼 증가 ## Java for (int i = 0; i < 10; i = i + 2) { System.io.println(i); } ## python # 0, 2, 4, 6, 8 for i in range(0, 1.. 2024. 2. 2.
[python] String - 02 안녕하세요. TDR입니다. 오늘은 String-01을 이어서 정리해 보겠습니다. [python] String - 01 안녕하세요. TDR입니다. 오늘은 어느 언어에서만 많이 쓰이는 String을 python에서 어떻게 사용하면 되는지 정리해 보겠습니다. ## 선언 str_object = 'apple' str_object = "banana" # 작은 따옴표 3개를 쓰면 개 tdremon.tistory.com ## 문자열 배치 str_object = 'abcd' # .center() new_str = str_object.ljust(10)# 'abcd ' new_str = str_object.rjust(10)# ' abcd' new_str = str_object.center(10)# ' abcd ' new_s.. 2024. 1. 31.
[python] String - 01 안녕하세요. TDR입니다. 오늘은 어느 언어에서만 많이 쓰이는 String을 python에서 어떻게 사용하면 되는지 정리해 보겠습니다. ## 선언 str_object = 'apple' str_object = "banana" # 작은 따옴표 3개를 쓰면 개행을 포함한 그대로의 내용이 출력됨 str_object = '''How to write multi line text''' # 문열안에 \n 를 포함시켜도 개행 가능 str_object = "banana\nfruit" ## 문자열 바꾸기 str_object = 'I like apple' # .replace(, ) new_str = str_object.replace('apple', 'banana')# I like banana ## 문자 바꾸기 str_obje.. 2024. 1. 30.
[python] dictionary <-> json 안녕하세요. TDR입니다. 오늘은 python에서 형태가 유사한 Dictonary와 json 간의 변환 및 각 특징에 대해서 알아보겠습니다. import json ## 변환용 dict 정의 dict_object = {'Key': 'Name', 'Value': 'Apple'} ## dict를 json으로 변환 json_object = json.dumps(dict_object) ## json format은 기본적으로 str 형으로 인식됨 print(type(dict_object))# print(type(json_object))# ## 딱 봐서는 큰 차이는 없지만 dict에서는 '(작은 따옴표)가 ## json에서는 "(쌍 따옴표)로 바뀐 것을 확인할 수 있음 print(dict_object)# {'Key':.. 2024. 1. 26.
[python] map 함수 안녕하세요. TDR입니다. 오늘은 python에서의 map 함수에 대해서 정리해 보겠습니다. ## 기본 구조 # FUNCTION : 함수들 # ITERABLE_OBJECT : 반복 가능한 객체. e.g. list, string, tuple, etc... map_class = map(, ) ## Example 01 a = [1, 2, 3] b = map(str, a) # b = ['1', '2', '3'] ## Example 02 def square (x): return x*x a = [1, 2, 3, 4] b = list(map(square , a)) # b = [1, 4, 9, 16] ## Example 03 # 아래 for문과 동일 b = list(map(square , a)) # 위 map과 동일 .. 2024. 1. 25.
[python] Dictionary 안녕하세요. TDR입니다. 오늘은 python에서의 dictionary(딕셔너리) 자료구조의 기본적인 것에 대해 정리해 보겠습니다. ## 생성 dic_object = {} dic_object = dic() dic_object = {'a': 1, 'b': 2, 99: 'nine'} ## 삽입 dic_object['c'] = 3 dic_object.setdefault('d') = 4 ## 읽기 dic_object['d']# 4 dic_object.get('d') # dict에 key 'x'가 없을 때 100을 반환 dic_object.get('x', 100) ## 수정 # 하나만 수정할 경우 dic_object['c'] = 5 # key 값이 string이여도 아래와 같은 표기 가능 dic_object.up.. 2024. 1. 24.
[한글] 각출 vs 갹출 안녕하세요. TDR입니다. 오늘은 한국어 중에 비슷한 듯 하면서 미묘하게 다른 뜻을 가지고 있는 두 단어를 비교해 간단히 정리해보겠습니다. 우선 사전적인 의미를 보면 다음과 같습니다. (출처 : Naver 사전) 각출(各出) 각각 내놓음 갹출(醵出) 같은 목적을 위하여 여러 사람이 돈을 나누어 냄 쉽게 정리하면 다음과 같습니다. 각출(各出) 모든 사람이 동일한 금액을 내는 것. 즉, 흔히 말하는 더치페이 갹출(醵出) 모두 돈을 내는 것은 같으나, 여유가 있는 사람이 더 내고 여유가 없는 사람은 조금 내는 것 갹출의 "갹"이 "추렴할 갹"이기 때문에 갹출 대신 추렴하다로 순화하는 것이 좋다고는 하는데 개인적으로는 추렴도 생소하게 느껴지긴 합니다. 2024. 1. 19.
[python] Copy (Shallow vs Deep) 안녕하세요. TDR입니다. 오늘은 python에서의 copy(복사)에 대해 정리해 보겠습니다. import copy ori_object = [1, 2, [3, 4]] # 얕은 복사 01 cop_object = ori_object ori_object.append(6) # ori_object = [1, 2, [3, 4], 6] # cop_object = [1, 2, [3, 4], 5] # (약간) 얕은 복사 02 cop_object = ori_object[:] ori_object.append(6) # ori_object = [1, 2, [3, 4], 6] # cop_object = [1, 2, [3, 4]] ori_object[2].append(5) # ori_object = [1, 2, [3, 4, 5],.. 2024. 1. 19.
[python] Set - 02 안녕하세요. TDR입니다. Set - 01에 이어서 나머지 집합 연산을 정리해 보겠습니다. [python] Set - 01 안녕하세요. TDR입니다. 오늘은 python에서의 set(집합) 자료구조의 기본적인 것에 대해 정리해 보겠습니다. 집합 연산이 많아 2번에 나눠서 정리하겠습니다. ## 생성 set_object = set() set_object = set([1, 2, tdremon.tistory.com ## 집합 연산 # 예시 값 s1 = {1, 2, 3} s2 = {3, 4, 5} # 대칭차집합 set_object = s1 ^ s2 set_obejct = set.symmetric_difference(s1,s2) # set_obejct = (s1 | s2) - (s1 & s2) # 연산 결과를 반환.. 2024. 1. 19.