목록전체 글 (79)
나의 공부 일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cJ3CX3/btsythhlb2f/SDBnWhYHo612cOFPyFtDR1/img.png)
저번 변수의 데이터타입(Data type)에 list,tuple,dictionary,set이 있다고 했었는데 이런 데이터 타입들은 Collection 이라고 합니다. 이 중 먼저 리스트 자료형에 대해 정리해보겠습니다. 리스트 자료형은 여러 종류의 데이터를 순차적으로 나열한 형태로 관리하는 자료형입니다. 리스트는 대괄호로 묶고 각 요소는 , 를 통해 구분합니다. 리스트를 생성하는 가장 기본적인 방법입니다. 리스트이름 = [요소1, 요소 2, 요소 3.....] 리스트이름 = list() 1번은 그 리스트이름에 요소들만큼 전부 들어가고, 2번 방법은 빈 리스트를 생성해 줍니다. 리스트에 리스트도 넣을 수 있습니다. 리스트에 리스트를 넣으면 [ [ ], [ ] ] 이런 형식으로 만들어지는데, 이를 우리는 2차..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zF4ZP/btsywiznwZp/7Jk2EdI8rHKEamO1hllxK1/img.png)
람다함수란? 파이썬에서 익명 함수(anonymous function)를 생성하는 방법입니다. 일반 함수에 비해 더 간결한 문법으로 이름이 없는 간단한 함수를 생성하는데 사용됩니다. 람다 함수는 간단한 연산이나 처리를 위한 목적으로 사용됩니다. 컬렉션 자료형 객체가 가지는 함수들에서 많이 활용됩니다. 함수형 프로그래밍 구현에 활용됩니다. 람다함수의 문법은 lambda argument: expression 입니다. 여기서 lambda 는 람다 함수를 정의하는 키워드 이고 argument는 입력으로 사용되는 인자들(쉼표로 구분합니다) 입니다. expression은 인자를 사용해 계산하는 표현식(표현식의 결과가 람다 함수의 반환 값이다.) 입니다. 람다 함수는 변수로 대입할 수 있고, 함수 호출시 매개 변수로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/L2J3e/btsysp7NuEi/Rt52x0h9CBcdXQMziVsf1K/img.png)
재귀함수는 함수 내에서 자기 자신을 한번 더 부르는 함수를 말합니다. 재귀함수에는 직접재귀와 간접재귀가 있습니다. 재귀함수는 가장 기본적으로 def recursive(): print('재귀') recursive() recursive() 이런 형식으로 생겼고 지금 이 함수를 실행하면 스택 오버플로우가 발생합니다. RecursionError: maximum recursion depth exceeded while calling a Python object 이 스택 오버플로우가 발생하지 않도록 탈출구를 만들어야 합니다. 조건문으로 return을 넣어 특정 값이 나오면 탈출하도록 말이죠 재귀함수가 어떻게 돌아가는가의 대한 예시 입니다. value = 0 def recursive(): global value pri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rulWd/btsyulJ8v1Z/DnTmMBr5Khlv33hj5ICf70/img.png)
변수는 선언한 위치에 따라서 지역변수와 전역변수로 나뉩니다. 지역변수(Local variable)는 함수내에 생성된 변수 혹은 클래스 내에서 생성된 변수들을 말합니다. a = 1 => 전역변수 def sum() : a = 10 => 지역변수 print(a) sum() 이걸 실행하면 결과는 10이 나옵니다. 함수를 사용한것으로 함수내의 있는 변수가 우선순위가 되기 때문입니다. a = 1 def sum() : print(a) a = 2 sum() 이거는 지역변수가 없이 전역변수가 두개가 있는 코드인데, 모든 코드는 위에서 내려오는 규칙을 가지고 있습니다. 그러므로 이 코드의 결과값은 맨 처음 a = 1 이라고 정의되었지만 그 이후 함수가 호출되기 이전에 a = 2 라고 덮어씌웠기 때문에 이 결과값은 2가 나..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FL85s/btsynCTAV90/DNh70FbsgykDKNYeghr6q1/img.png)
저는 이 가변인자라는 단어가 되게 생소했습니다. 그래서 그냥 문법이라고 생각하고 공부했습니다. 가변인자는 함수 중에서 동작에 필요한 인자의 개수가 가변적일 수 있습니다. 이런 경우 함수를 정의할 때 다음과 같이 정의합니다. * 가변 매개변수는 튜플 ** 가변 매개변수는 딕셔너리 def asd(*args) : print(args) asd('hello','hi') ---출력결과--- ('hello', 'hi') 이런 식으로 이루어져 있는데, 원래라면 매개변수가 한 개일 땐 하나의 매개변수만 들어갈 수 있는데, 가변인자를 사용함으로써 'hello','hi' 가 하나의 변수로 인식이 되어 ('hello', 'hi') 이렇게 아까 말했던 튜플로 출력이 됩니다. 저는 한번에 많은 변수를 튜플에 넣어 실행한다고 생각..