😓 개인 사정으로 약 2주정도 코딩에 손을 놓았더니 기초적인 부분을 좀 까먹은 부분이 몇개 있다. 그래서 블로그를 시작한 김에 다시 기초적인 부분을 정리해놓으려고 한다. 다시 까먹더라도 보고 기억을 상기시킬 수 있도록. type 확인하기 모든 프로그램에서 변수의 타
파이썬의 set() 은 반복 가능하고, 가변적이며, 중복 요소가 없고, 정렬되지 않은 데이터 타입이다.{}로 묶였다고 해서 dict()와 헷갈리지 말자. 키와 값이 없기 때문에 dict()가 아니다.set() 의 가장 큰 특징이다. 중복을 허용하지 않는다.0이 3개가
튜플은 ,로 구분된 값으로 이루어지는 불변 시퀀스 타입이다.tuple()은 값을 변경하거나 삭제 할 수 없다. 단지 쓸 수만 있다.리스트와 가장 다른 점이라고 할 수 있겠다. 불변 시퀀스 타입이기 때문에 값을 변경하거나 삭제할 수 없다.a 는 리스트 b 는 튜플 타입임
딕셔너리는 키와 값의 한 쌍으로 설정이 되는 것이 가장 큰 특징이다.중괄호{} 로 구분한다.{"key":"value"} 한 쌍을 이룬다.키는 아무거나 key가 될 수 있다.key = name, agevalue = 홍길동, 30key는 절대 중복이 될 수 없으며 변하지
위의 그림으로 예를 들어보면 input(x) 라는 입력값이 어떤 기능을 하는 함수인 f 를 지났더니 output f(x)로 출력되었다. 입력값을 가지고 어떤 일을 수행한 다음에 그 결과물을 내어놓는 것, 이것이 바로 함수가 하는 일이다. 어떤 반복된 코드나 작업을 분리
python 의 함수에 대해 공부하다보면 args, *kwargs 라는 내용을 볼 수 있다. 의미는 알겠으나 정확히 어떻게 사용하는지 감이 잘 안잡혀 복습 겸 적는 포스트다.
클래스 함수보다 더 큰 기능을 하나로 모아서 큰 덩어리 클래스에 대한 정의를 공부하면 항상 나오는 예시가 있다. 붕어빵과 붕어빵을 만드는 틀이다. 붕어빵을 매번 만드는것이 아니라 붕어빵 틀을 만들어놓고 틀에 맞게 찍어내면 훨씬 효율적인 생산이 된다. 여기서 붕어빵은
모듈 >함수나 변수나 클래스 등을 모아놓은 파이썬 파일 왜? 코드의 양이 길어지면 길어질수록 하나하나 스크롤을 하며 코드를 읽기에는 가독성이 떨어지며 파이썬의 장점을 많이 잃게 된다. (간결함, 가독성)
이미 작성된 코드에 새로운 기능을 추가하여 함수 기능을 확장시키는 개념파이썬에서의 데코레이터는 함수의 기능을 확장시키는 개념인데, 어떤 방식으로 함수를 확장시킬 수 있는지 동작 원리에 대해서 간단히 확인해보자.파이썬에서 함수는 일급객체로 취급클로저를 사용하여 함수 내
Function Parameters 함수는 input parameter를 받아서 returs값을 output으로 리턴한다. 그리고 함수를 호출할 때 parameter를 함수에 건내주어서 호출한다. 함수의 parameter에는 여러가지 형태가 있다. default pa
코딩을 할 때, 필요에 의해서 module과 package를 만들고 그렇게 생성한 module과 package를 import해서 변수,함수,클래스 등을 사용한다. 그렇다면 파이썬은 module과 package를 어떻게 찾는것인지 알아보자. 앞으로 코딩할 때 각종 라이브
Exception이란 단어는 한국어로 예외라는 뜻이다. 파이썬에서 "예외"의 상황이란 의도하지 않은 상황을 뜻한다. 그리고 이러한 의도하지 않은 상황이 발생한 것을 exception이 일어났다고 한다.Exception은 생각보다 자주 발생할 수 있다. 다음의 예를 보자
list comprehension list comprehension이란 새로운 리스트를 만들 때 사용할 수 있는 간단한 표현식으로 리스트와 마찬가지로 대괄호[]를 사용하여 작성한다. 그리고 만들려고 하는 원소를 표현하는 표현식으로 시작하여 for loop가 뒤에 따라오
값을 순차적으로 꺼내올 수 있는 객체현재까지는 for 반복문을 사용할 때 range를 사용했다. 예를 들어, 100번을 반복해야한다면 과 같이 작성했다. 이 for 반복문이 동작하는것을 조금 자세히 살펴보면 0~99까지의 연속된 숫자를 만들어내는것이 아니라, 0~99까
이터레이터를 생성해주는 함수이터레이터는 클래스에 \_\_iter\_\_, \_\_next\_\_ 또는 \_\_getitem\_\_ 메소드를 구현해야하지만 제너레이터는 함수 안에서 yield라는 키워드만 사용하면 된다. 따라서 제너레이터를 사용하면 이터레이터보다 훨씬 간
람다 표현식 현재까지는 def로 함수를 정의해서 사용했으면 이번에는 람다 표현식으로 익명의 함수를 만드는 방법을 알아보자. 람다 표현식은 식 형태로 되어있다고 해서 람다 표현식(lambda expression)이라고 부른다. 특히, 람다 표현식은 함수를 간편하게 작성할
Thread > 프로그램의 실행 흐름 쓰레드는 프로그램의 실행흐름이다. 하나의 프로세스 안에서 여러개의 쓰레드를 만들 수 있다. 즉 프로세스가 부여된 자원을 이용해서 같은 프로세스 내에서 여러 쓰레드들끼리 자원을 공유할 수 있다. 지금까지 로컬환경에서 작성한 프로그
process 저번 포스팅에서 쓰레드에 대해서 알아보았다. 쓰레드를 사용해서 두개의 쓰레드를 동작시켰을 때 원하는 출력값은 얻을 수 있었지만 프로그램 동작 시간에서는 크게 차이를 보이지 않았다. 그러한 동작 속도부분을 개선시키기 위해서 이번에는 process에 대해서
지금까지 함수를 호출한 뒤 함수가 끝나면 현재의 코드로 다시 돌아왔다. 예를들어, 다음의 함수를 보자. calc() 안에서 add()를 호출했을 때 add 함수가 끝나면 다시 calc()로 돌아온다. 특히, add 함수가 끝나면 함수 안에 들어있던 변수와 계산식은 모