반응형 Python & Data12 python 매개변수의 기본값 python에서는 매개변수(parameter)에 기본값(default value)를 설정할 수 있다. def f(x, y = 0): # y값이 주어지지 않았을 경우 y의 기본값을 0으로 한다. print(x + y) f(1, 2) # 1과 2를 더한 값을 출력한다. f(1) # y가 주어지지 않았으므로 1과 0을 더한 값을 출력한다. 만약 위 예제에서 y에 기본값을 부여하지 않은 상태에서 f(1)과 같이 x값만을 인자로 전달하는 문장을 실행하게 되면 컴파일 에러가 발생한다. 다음은 y에 공백 리스트 [ ] 를 기본값으로 부여한 예제이다. def f(x, y = []): for i in range(x): # 0부터 x까지의 숫자를 y.append(i) # list y에 추가한다. print(y) f(5) .. 2021. 6. 7. Python Decorator python에서는 함수를 인자로 주고 받을 수 있다. 따라서 인자로 받은 함수에 기능을 추가하거나 수정하여 새로운 함수를 만드는 것도 가능하다. def announce(f): # announce는 함수 f를 입력받아서 wrapper를 반환한다. def wrapper(): # wrapper는 함수 f의 실행 전후에 메시지를 출력한다. print(f"{f.__name__} will be operated soon...") # __name__은 함수의 이름을 나타낸다 f() print(f"{f.__name__} terminated") return wrapper 이제 hello()를 작성하여 announce 함수에 넣어준 뒤 반환된 wrapper를 new_hello로 저장한다. new_hello()를 실행하면 h.. 2021. 5. 24. Python 함수를 간략히 나타내는 lambda 형식 python에서는 매개변수로 함수를 주고 받을 수 있다. 이 때 인자로 주고받을 함수를 별도로 작성하지 않고 과 같은 한 문장으로 간략히 표현할 수 있는데, 이를 lambda 형식이라고 한다. java의 무명클래스와 유사한 개념이다. 이하에서 함수를 인자로 받는 기본 라이브러리의 함수 몇 가지를 통해 lambda의 사용법을 살펴본다. 1. list.sort() 다음과 같은 dictionary의 리스트를 정렬하고자 한다. p = [ {"name": "Choi", "club":"Seoul"}, # p[0] {"name": "Akinfeev", "club": "Moscow"}, # p[1] {"name": "Bale", "club":"Madrid"} # p[2] ] p.sort()를 그대로 실행할 경우 ' 2021. 5. 23. Python 함수, 예외처리, 클래스 1. 함수 기본 라이브러리에서 제공하는 print() input() 등은 모두 함수이다. 함수 또는 메소드는 일정한 동작을 수행하는 단위를 말한다. def를 이용해 직접 함수를 정의하여 사용할 수 있다. 하나의 파일 내에서 함수를 정의하고 사용할 수도 있지만, 별개의 파일로 작성할 경우에는 import 해주어야 한다. cal.py def divide(x,y): # 나누기 함수 return x/y; main.py 1) 함수만 가져오는 경우 from cal import divide # cal.py 파일로부터 divide()를 가져온다 print(divide(4,2)) # 4/2를 출력한다. 2) 파일 전체를 포함시키는 경우 import cal # cal.py를 가져온다. print(cal.divide(4,2.. 2021. 5. 22. Python의 기본 자료구조 1. list list는 배열(array)과 유사한 자료형으로, 쉽게 변경할 수 있고(mutable), 순차적인 값들의 집합(sequence)이다. names = ["Lee", "Son", "Ki"] # list 생성 및 초기화. names.append("Kim") # list에 Kim을 추가 names.remove("Kim") # list에서 Kim을 삭제 names.sort() # list를 정렬 names_copy = names.copy() # list를 복사한다 names_copy.reverse() # list를 역순으로 뒤집는다. print(f"names_copy: {names_copy}") print(f"names: {names}") names = ["Lee", "Son", "Ki"] # li.. 2021. 5. 22. Python 기초) 데이터 타입, 입출력 함수 input과 print, 조건문과 반복문 python의 특징은 단순하고 간편하다는 것이다. 배우기 쉽고 동일한 작업을 처리하기 위한 코드의 길이가 짧은 편이기 때문에 코딩테스트나 알고리즘 문제 풀이 사이트 등에서도 파이썬을 쉽게 볼 수 있다. 1. 기본 문법 문장 끝에 세미콜론( ; ) 을 붙이지 않는다. 또한, 증감연산자( ++ ) 를 사용할 수 없으므로 a+=1 과 같은 식으로 나타내야한다. 한 문장의 주석처리는 #으로 한다. 여러 문장의 경우 """ ~~ """ 또는 ''' ~~ ''' 로 한다. 2. 데이터타입 python에서는 데이터타입의 종류가 비교적 간소할 뿐 아니라 변수 선언시 타입을 지정할 필요가 없다. 즉, 변수 선언시 대입되는 값에 따라 변수의 데이터타입이 자동으로 정해진다. a = None # nonetype 반환할 값이 .. 2021. 5. 21. 이전 1 2 다음 반응형