╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Python/Python 기초 19

[Python] Class (Class 기본, 객체)

이번에 알아볼 것은 클래스(class)이다. 참고로 이번글은 매우매우매우 주관적인 의견이 많이 들어갔으므로 그 점을 감안해야겠다. 클래스를 객체(object)의 개념을 사용해서 설명하고 싶으니 우선 객체에 대해 알아보자. 간단하게만 알아보겠다. 아래의 사진은 파이썬 공식홈페이지의 용어사전에서 object를 검색한걸 캡쳐해온 것이다. 파이썬에서 객체(object)는 선언된 모든 데이터와 정의된 모든 함수들을 포괄하는 단어다. 실체를 가지고 있는 모든 데이터는 객체라고 봐도된다. 이때 실체를 가지고 있다는 것은 '이름'을 가지고 있다는 것과 같다고 생각해도 좋다. 이름으로 접근할 수 있으면 실체가 있는 것이다. 본인은 객체를 아래와 같이 생각한다. 1차원 객체 : 변수 2차원 객체 : 함수(메소드) 3차원 ..

[Python] 함수 4 (lambda, 삼항연산자, 활용 )

def와 lambda 둘다 함수를 만들 때 사용하지만 사용 목적과 용도가 다르다. 그 사용목적과 용도중 둘의 가장 큰 차이점을 꼽자면 lambda는 이름 없는 함수를 만들고 lambda 함수에는 single expression만 사용할 수 있다는 것이다. 그리고 lambda는 간단하다. 함수를 만들 때 한 줄 이면 된다. 여기서 이해를 위해 statement와 expression의 차이점을 간단하게 설명해보자면 statement는 각각 독립적으로 실행될 수 있는 문장이고 expression은 독립적으로 실행될 수 없고 연산 또는 수식이다. 결국엔 하나의 '값'으로 계산이 된다. lambda의 사용형식부터 아래의 예제를 통해 설명하겠다. lambda 함수를 만드는 방법은 lambda parameter : ..

[Python] 함수 3 (*args, **kwargs)

이번에 알아볼 *args, **kwards는그냥 보이게도 보기에 매우 낯설어 보인다. 그러나 *args, **kwards는 매개변수의 연장선인 개념이다. 매개변수의 변형이라고 생각해도 좋다. *args, **kwards는 용도와 사용법만 알면 함수를 더욱 쉽게, 깊게 만들 수 있다. 전혀 어렵지 않다. 우선 *args부터 알아보겠다. 정식 명칭은 positional argument이다. 여기서 args는 arguments의 약자로 인수들이라는 뜻이고 중요한 것은 *(asterisk)기호 이다. 함수 선언에서 매개변수 앞에 *를 붙이는데 positional argument는 넘어오는 모든 인수의 데이터를 tuple로 받는다. tuple로 받으니 원소 수정을 불가능하지만 인덱스를 사용할 수 있다. 아래의 예..

[Python] 함수 2 (디폴트 매개변수)

파이썬에서 함수를 사용하며 빼놓을 수 없는 기능들이 있다. 매개변수 개념의 연장선인 디폴트 매개변수, *args, **kwards이다. 이번엔 디폴트 매개변수에 대해 알아보겠다. 디폴트 매개변수를 설명하기전에 알아야하는 개념이 있다. 함수의 선언과 호출시 매개변수(parameter)와 인수(argument)의 갯수가 같아야한다는 것을 기억해야 디폴트 매개변수의 용도를 이해할 수 있다. 디폴트 매개변수(default parameter)는 값을 가지는 매개변수이다. 사용 방법은 함수 선언시 매개변수에게 대입연산자를 사용해 값을 지정해주면 된다. 함수 호출시 인수가 전달되면 전달된 인수의 값이 적용되고 전달되지 않았다면 디폴트값이 적용된다. 아래의 예제를 통해 확인하겠다. 해당 예제에서는 함수 선언에서 n=5..

[Python] 함수(함수기본, 매개변수, 리턴값)

저번에 함수를 설명할 때는 함수는 어떠한 일을 대신해주는 것이라고 했다. 분명 파이썬에서 기본으로 제공되는 함수와 메소드를 사용하면 분명 원하는 결과를 빠르게 만들어낼 수 있다. 틀린말은 아니지만 이는 함수를 절반밖에 설명하지 못한다. 함수의 본래 목적은 같은 코드를 여러번 반복해서 사용하는 경우, 코드를 한 번 적어서 언제든 재활용하는 기능이고 궁극적으로는 코드의 간략화에 있다. 예를들면 1부터 n까지 수의 합을 구해주는 코드가 있다고 가정하자. 만약 1부터 n까지의 합을 여러번 구해야한다면? 30줄이 될지도 모르는 저 코드를 n까지의 합을 구해야하는 횟수만큼 적어야한다. 물론 복붙하면 되지만 이는 결과적으로만 해결이고 코드의 간략화에 있어서는 매우 안좋은 코드이다. 이처럼 사용자가 코드를 한곳에 저장..

[Python] 반복문 2 (for, in, range)

파이썬의 for문은 다른 언어들의 for문과 조금 다른데 다른 언어(C, Pascal, . . .)의 for문은 while문을 보기쉽게 요약했다고 생각할 수 있는데 파이썬의 for문은 시퀀스 데이터를 객체로 받아 반복에 활용해서 반복조건이 기존과는 다르다. 시퀀스 데이터의 원소 개수만큼 반복한다. 여기서 시퀀스(sequence)는 나열이라는 뜻이며 문자열, 리스트, 튜플이 속한다. (순서가 있다) for문은 주어진 시퀀스 데이터의 원소를 통해 반복하고 아래는 for문의 사용 형식이다. for는 키워드 target_list는 매개변수(매개체) in은 멤버쉽 연산자 expression_list에는 시퀀스 데이터 suite에는 실행문장이 들어간다 아래의 예제를 통해 알아보겠다. for문은 원소 개수만큼 반복하..

[Python] 반복문(while)

우선 간단히 말하자면 반복문이란 코드를 반복시키는 기능이다. 반복문을 사용하면 원하는 코드들을 원하는 만큼 반복 시킬 수 있다. 반복문에서 조건을 지정하는데 이 조건이 참이면 반복한다. 같은 코드를 여러번 쓰지 않아도 되니 많이 편리하다. 아래에서 while의 사용 형식을 설명하겠다. while은 키워드 assignment_expression은 반복조건 : 은 반복문의 범위 지정 suite는 실행코드들을 뜻한다. 여기서 i 0출력 -> i+1 -> if문 검토 i가 1일 때, 반복조건 확인 -> 1출력 -> i+1 -> if문 검토 . . . i가 3일 때, 반복조건 확인 -> 3출력 -> i+1 -> if문 검토 이처럼 반복조건이 성립해도 break문 실행시 반복문을 탈출한다. 그래서 강제탈출이다. 여..

[Python] 조건문(if, else, elif)

프로그램을 작성할 때 항상 실행시키는게 아닌 조건에 따라 실행시켜야하는 기능들을 만들어야하는 경우가 있다. 이때 사용하는 것이 조건문이다. 그리고 프로그램은 위에서 아래로 진행되는데 제어문을 사용하면 조금씩 바꿀 수 있다. if문은 조건을 걸고 이 조건의 결과값이 True or False이냐를 통해 코드를 실행시킨다. (프로그램의 진행을 제어한다.) if문의 사용형식은 아래통해 설명하겠다. if는 키워드 assignment_expression은 조건 :은 제어문의 범위 지정 suite는 실행코드들을 뜻한다. if 키워드로 if문임을 알렸고 (x>0)이라는 조건을 걸고 실행코드를 적어주었다. 조건식이 참을 반환해 양수입니다.가 출력되었다. 실행은 잘 되었지만 하나 유의할 점이 있다. 여기서 if문의 제어범..

[Python] 연산자 2 (논리, 비트, 멤버쉽, 식별)

저번에는 산술, 비교, 대입 연산자에 대한 예제들을 봤고 이번에는 다른 종류의 연산자들을 알아보겠다. 다른 종류의 연산자들은 아래와 같다. 논리연산자 logical operator 비트연산자 bitwise operator 멤버쉽연산자 membership operator 식별연산자 Identity operator 우선 논리연산자에 대해 알아보겠다. 논리연산자는 피연산자의 참 거짓을 통해 연산후 결과를 반환한다. 결국 논리연산자의 결과도 True or False이다. 논리연산자의 종류로는 아래와 같이 있다. and : 양쪽 피연산자의 값이 모두 참일 때 True 반환. 기호는 & or : 양쪽 피연산사의 값 중 하나라도 참인경우 True 반환. 기호는 | not : 피연산자의 진릿값을 반대 값으로 만듦. 기..

[Python] 연산자 (산술, 비교, 대입)

이번엔 연산자에 대해 알아보겠다. 연산자는 어떠한 값을 직접적으로 다루는 기호라고 생각해도 좋다. 이때 연산자에 의해 연산되는 값(변수)을 피연산자라고한다. 그동안 많이 사용했던 =도 연산자중 하나이다. 연산자의 종류들로는 아래와 같이 있다. 산술연산자 arithmetic operator 비교연산자 comparison operator 대입연산자 assignment operator 논리연산자 logical operator 비트연산자 bitwise operator 멤버쉽연산자 membership operator 식별연산자 Identity operator 우선 산술연산자부터 알아보겠다. 기본적인 값의 산술을 해주는 연산자다. 수학과 비슷한 부분이 많으니 아래의 예제로 바로 확인하겠다. 생소한 기호들도 있겠지만..