TIL
-
TIL. 28 람다 표현식(lambda) 사용하기TIL 2020. 11. 5. 18:23
## lambda 표현식 ## 람다 표현식은 식 형태로 되어 있어 람다 표현식이라 부르며, ## 함수를 간편하게 작성할 수 있어, "다른 함수의 인수"로 넣을때 자주 사용한다. ## 반화 값으로 매개변수 x + 10 형태의 함수를 람다 표현식으로 함수를 해보자 1. def def ppp(x): return x+10 print(ppp(1)) :: 11 2. 람다 표현식 # 람다 표현식은 다음과 같이 lambda에 매개변수를 지정하고 :(콜론) 뒤에 반환값으로 사용할 식을 지정한다. # lambda 매개변수들: 식 lambda x : x+10 # 람다 표현식을 위와 같이 작성하면 함수 객체가 생성되는데, 이 상태만으로는 함수를 호출 할 수 없다. # 람다 표현식은 "이름없는"함수를 만들기 때문이다, 이때문..
-
TIL. 27 재귀 호출(recursive call)TIL 2020. 11. 4. 13:19
## 함수에서 재귀호출 사용하기 ## 재귀호출 (recursive call) : 함수 안에서 자기자신을 호출하는 방식을 재귀호출이라 한다. ## 일반적인 상황에서는 사용되지 않지만 알고리즘을 구현할때 매우 유용하다 (구현 == 만들다와 같은 뜻) ## 보통 알고리즘에 따라서 반복문으로 구현한 코드보다 좀 더 직관적이고 이해하기 쉬운 경우가 많다. def helllo(): print('hello mun') helllo() helllo() ## helllo 함수 안에서 자기 자신을 호출하고 있는 상황이다. ## 무한루프 처럼 작동하다가 어느 순간 error가 발생하는데 ## 이유는 파이썬에서는 최대 재귀 깊이(maximum recursion depth)가 1,000 으로 정해져있기 때문이다. ## 즉, he..
-
TIL.26 함수 매개변수 및 인수TIL 2020. 11. 3. 17:39
# 함수에서 위치 인수와 키워드 인수 사용하기 ## 위치 인수와 리스트 언패킹 ## 위치 인수(positional argument) : 아래와 같이 함수에 인수를 순서대로 넣는 방식을 위치 인수라고 한다. 인수의 위치가 정해져있다는 뜻이다. print(1, 2, 3) # 우리가 사용하는 흔한 방식 ## 위치 인수를 이용해 함수를 만들고 호출해보자. def aaa (a, b, c): print(a) print(b) print(c) aaa(1, 2, 3) :: 1 2 3 ## 언패킹 사용하기 ## 위에서 만든 함수에서 언패킹을 사용해보자 ## 아래와 같이 리스트 또는 튜플 앞에 *(애스터리스크)를 붙여 함수에 넣어주면 된다. (함수를 호출 할때) # 함수(*리스트) # 함수(*튜플) def aaa (a, b..
-
TIL. 25 함수의 호출 과정TIL 2020. 11. 2. 21:36
## 함수의 호출 과정 알아보기 def mul(a, b): c = a * b return c def add(a, b): c = a + b print(c) d = mul(a, b) print(d) x = 10 y = 20 add(x, y) 실행 결과 30 200 ## 아래 사진은 mul 과 add라는 함수를 정의한 스크립트이다 ## 해당 이미지는 스크립트를 실행하였을때 (12번) 까지의 결과이며 ##현재 add(13번)은 호출되지 않은 상황이라 가정한다. # 스크립트는 줄 1부터 실행되며 해당 스크립트는 줄 12 까지 실행하면서 전역 프레임(global frame)에 함수 mul, 함수 add, 변수 x , y 가 들어간다 ## 여기서 mul, add는 생성만 되었을 뿐 호출된 상태는 아니다. # 프레임(..
-
TIL. 24 함수 만들고 사용하기TIL 2020. 11. 1. 17:16
## 함수 만들기 # 김왼손의 왼손코딩 강의에서는 이렇게 뒷부분에 등장하지 않았던 것 같으나 많고 많은 중요한 내용 중 하나가 등장했다고 생각하니 # 기본을 기본처럼 익히자. ## hello 함수 만들고 출력하기 ## 함수는 def에 함수 이름을 지정하고 ( )(괄호)와 :(콜론)을 붙인 뒤 다음 줄에 원하는 코드를 작성한다(함수의 이름을 짓는 방법은 변수와 같다). # 이때 코드는 반드시 들여쓰기를 한다. def hello(): print('helloo world') # 빈줄 1줄 사용 print 코드 아래의 빈줄은 print 함수를 실행 후 , 하면서 빈줄이 있음으로써 hello() 함수가 종료되는 것이다. def hello(): print('helloo world') hello() # 빈줄 없이 바..
-
TIL.23 N-gram 만들기TIL 2020. 10. 31. 23:01
## N-gram 만들기 # N-gram은 문자열에서 N개의 연속된 요소를 추출하는 방법입니다. # 만약 'Hello'라는 문자열을 문자(글자) 단위 2-gram으로 추출하면 다음과 같이 됩니다. # he / el / ll / lo ## 반복문으로 N-gram 출력하기 # 2- gram으로 hello 출력하기 text = 'hello' for i in range(len(text)-1): # 0 ~ 3 print(text[i], text[i+1], sep = '') # 2-gram으로 hello 출력하기 :: he el ll lo # 3-gram으로 hello 출력하기 text = 'hello' for i in range(len(text)-2): # 0 ~ 2 print(text[i], text[i+1],..
-
TIL. 22 회문 판별하기TIL 2020. 10. 30. 17:16
## 회문 판별하기 ## 회문 (palinedrome) ## 순서를 거꾸로 읽어도 제대로 읽는 것과 같은 단어 또는 문장을 말한다. ex : 'level', 'sos', 'rotator' 등 ## 회문은 첫번째 문자열과 맨마지막 문자열을 차근차근 비교해가며 서로의 문자열이 같은지 판별해나가며 찾는다. ## 반복문으로 회문 판별하기 word = input('단어 입력 ㄱ:') # level 입력 is_palindrome = True # 회문 판별값을 저장할 변수, 초깃값은 True for i in range(len(word) // 2): # 0부터 문자열 길이의 절반만큼 반복 (// 목) if word[i] != word[-1 - i]: # 왼쪽 문자와 오른쪽 문자를 비교하여 문자가 다르면 is_palin..
-
TIL. 21 파일 사용하기TIL 2020. 10. 29. 22:46
## 파일 사용하기 ## 프로그래밍에서 중요한 축을 차지하는 부분이 파일 처리이다. ## 파일에 문자열 사용하기 ## 파일에 문자열을 쓸 때는 open 함수로 파일을 열어서 파일 객체(file object)를 얻은 뒤에 write 메서드를 사용합니다. # 파일객체 = open(파일이름, 파일모드) # 파일객체.write('문자열') # 파일객체.close() ## IDLE로 아래 코드 입력 file = open('hellow.txt', 'w') # hello.txt 파일을 쓰기 모드(w)로 열기. 파일 객체 반환 file.write('Hellow, cordermun') # 파일에 문자열 저장 file.close() # 파일 객체 닫기 # 위와 같이 입력하며 'hellow.txt' 파일이 저장될 경로와 이..