공부/Python
-
Decorator, Generator공부/Python 2023. 4. 11. 15:59
Decorator Decorator란 하나의 함수를 만들어 여러 개의 함수에 기능을 추가할 수 있는 것을 말한다. A_func를 호출하면 안에 정의되어 있는 wrap_A_func를 return 하는데 이 함수는 매개변수로 전달된 함수(origin_func)를 호출하는 함수이다. 정의된 A_func를 B_func에 @를 이용해 함수 헤더위에 데코레이터로 선언하게 되면 B_func가 A_func에 매게 변수로 전달되어서 출력결과와 같이 B_func안에 있는 print 구문이 출력되게 된다. 함수에 매개변수가 존재할경우 *args,**kwargs를 이용해 매개변수가 전달되어질 수도 있다는 것을 선언해 줘야 예외가 발생하지 않는다. Generator Generator이란 간단하게 설명하면 yidel 문을 이용하..
-
파이썬 예외처리, 테스트 코드공부/Python 2023. 4. 6. 17:30
예외처리 예외가 발생하면 프로그램이 중단되기 때문에 발생될 것 같은 예외를 사전에 처리해 주어서 다른 프로세스가 중단되지 않도록 예외를 핸들링해주는 예외 처리 문법이다. try 구문 안에 실행하고자 하는 코드를 입력한다. try 구문안에서 실행한 코드가 예외가 발생하면 except 구문안에 있는 코드가 실행된다. else 구문을 통해 except구문에 걸리지 않으면 즉 예외가 발생하지 않으면 실행하는 코드를 작성해 줄 수 있다. finally 구문은 예외가 발생하던 하지 않던 무조건 동작하게 된다. y를 숫자형으로 바꿔주지 않은 상태에서 +연산을 시도했기 때문에 TypeError가 발생한다. except로 예외를 다뤄 주지 않았다면 예외가 터져서 프로그램이 중단이 됐을 것이다. 하지만 예외를 except..
-
Python 기초 7공부/Python 2023. 4. 2. 13:36
Class class MyClass(): def __init__(self,x,y): """ 생성자 """ #x,y = int self.x = x self.y = y def print(self): print('x : {} y : {}'.format(self.x,self.y)) def sum(self): return self.x+self.y new_class = MyClass(10,20) new_class.print() new_class_sum = new_class.sum() print('new_class_sum : {}'.format(new_class_sum)) 객체지향의 핵심 Class 선언이다. 눈에 띄는 점이 생성자이다. __init__이라는 메서드명으로 생성자를 선언해줘야 한다. 생성자 매개변수에 ..
-
Python 기초 6공부/Python 2023. 3. 28. 23:56
Variable Scope name = "THIS IS A GLOBAL STRING" def greet(): name = "Sammy" def Hello(): print('hello {}'.format(name)) Hello() greet() 개인적으로 자바나 다른 언어들은 { }로 함수의 범위가 묶여있어 변수의 생존 범위가 가독성 있게 파악이 됐는데 파이썬은 잘 읽히지 들여 쓰기로 함수들의 Scope를 정의하다 보니 잘 읽히지가 않았다. 파이썬이 변수를 찾는 방식은 자바와 유사한 거 같았다. 위의 예시를 보면 greet ( ) 함수 안에 Hello 함수가 정의되어 있다. greet ( ) 함수를 호출하면 결과적으로 Hello( ) 함수도 호출하게 되는데 이때 Hello 함수는 name이라는 변수를 출력..
-
파이썬 기초 5공부/Python 2023. 3. 26. 13:52
Functions def sum(x,b): """ 덧샘을 하는 funtion """ return x+b # 매개 변수 default값 지정 def print_name(name = 'none'): print('hello : {}'.format(name)) # 전달된 리스트들중 짝수만 담아 반환하는 함수 def odd_list(list): od_list = [ x for x in list if x % 2 == 0 ] return od_list def (함수 이름) (매개변수): 파이썬에서 함수를 정의하는 방식이다. 함수 역시 파이썬의 특징인 들여 쓰기가 된 곳에 로직을 작성해야 함수의 기능이 동작할수 있다. """ """ 사이에 함수가 어떤 기능을 하는지 간략하게 설명해 주는 DocString을 작성해 줄 ..
-
파이썬 기초 4공부/Python 2023. 3. 25. 12:22
Useful Operator Enumerate #Enumerate count = 0 for word in 'abcde': print('index {} the letter {}'.format(count,word)) count +=1 # 하지만 사람들은 아래와 같은 방법으로 사용하길 원함(나같이 다른 언어 하다온 사람) count = 0 word = 'abcde' for x in word: print(word[count]) count +=1 #이와 같은 기능을 손쉽게 다루기 위헤 enumerate 메서드 제공 word = 'abcde' for x in enumerate(word): print(x) 문자열들을 반복문으로 돌면서 출력하는 경우가 많다. 이때 문자들의 index들을 알기 위해 숫자 변수를 선언한 ..
-
파이썬 기초 3공부/Python 2023. 3. 24. 13:59
논리 연산자 #비교 연산자 # and 연산자 temp = 1 3 print(temp) # or 연산자 temp = 1 3 print(temp) # not 연산자 temp = not(1 != 2) #결과는 true이지만 temp에는 false 담김 print(temp) 다른 언어에서도 제공하는 논리연산자이다. 사용하는 방법은 같은데 선언 구문이 다르다 &&, ||가 아니라 영어 단어 그대로 and, or, not을 적으면 논리 연산을 수행한다. if, elif, else a = 21 if a
-
Python 기초 2공부/Python 2023. 3. 23. 10:33
String Formatting # .format의 예시 print("this is a String {}".format("NEW STRING")) print("i {} the {}".format('like','cake')) # fomat을 inde값을 이용해 자유롭게 배치가능, 반복도 가능 print("{3} {2} {0} {1} {4}".format('car','is','new','the','quick')) print("{0} {0} {0} {0} {0}".format('car','is','new','the','quick')) # 변수같이 이름을 할당해서 사용도 가능, 역시나 반복도 가능 print("{d} {c} {b} {a}".format(a = 'apple', b = 'banana', c = 'c..