클래스는 무엇일까요? 왜 사용할까요?객체지향 프로그래밍(object-oriented programming)이란 말을 많이 들어보셨을 겁니다. 간단히 하자면 객체를 중심으로 프로그래밍을 하는 것입니다. 그렇다면 객체가 무엇인 지 또 물어보실 수도 있겠죠? 객체는 그냥 물체, 또는 물체를 바라보는 우리의 관점이라고도 할 수 있습니다. 자동차라는 물체가 있다고 생각해보세요. # 자동차 # 색: 검은색 # 제조사: bmw # 좌석: 2개 자동차에 대한 정보를 한 곳에 모아두면 아주 편하겠죠? "이 자동차의 색은 검은색이고, bmw의 차구나" 하고 그 차에 대한 정보를 바로 알아보면서 활용할 수 있도록 만들어줍니다. 여기서 자동차가 객체라고 할 수 있습니다.객체를 만드는 방법객체를 만드는 방법은 무엇일까요? cl..
유효범위는 무엇일까요?유효범위(scope)는 변수의 수명을 뜻합니다. 더 쉽게 풀어서 얘기하자면 변수가 유효한 범위를 뜻합니다. 유효범위와 함께 알아야 하는 것이 전역변수와 지역변수입니다. 전역변수는 코드 전체에서 다 접근할 수 있는 변수를 뜻합니다. 지역 변수는 함수 내에서만 접근할 수 있는 변수라고 말할 수 있습니다.파이썬의 유효범위는 어떻게 생성될까요?파이썬의 유효범위(scope)는 함수를 통해서 생성됩니다. a = 1 def scope(): a = 2 print(a) scope() print(a) 함수의 밖과 안에 각각 변수 a를 정의했습니다. 여기서 함수 밖의 a를 전역변수, 함수 내부의 a를 지역변수라고 합니다. scope 함수를 실행하면 2가 출력됩니다. 그렇다면 함수 밖에 있는 print(..
함수를 왜 사용할까요?반복해서 사용하는 코드가 있을 때 한번만 정의해두고 필요할 때 간단한 명령으로 불러 사용할 수 있으면 아주 가시적으로 좋고, 사용성도 증가할 것입니다. 함수를 사용하는 이유는 이처럼 가시성과 사용성이 증가하기 때문입니다.함수의 정의와 실행say_hello라는 함수를 정의해보겠습니다. def say_hello(name): return 'hello world {}'.format(name) say_hello("lemon") 함수를 정의할 때는 def 함수명(): 으로 시작하고 밑부분에는 실행할 구문들과 리턴값 등을 적어주면 됩니다. 그리고 함수를 실행할 때는 함수명()을 통해서 정의한 함수를 실행할 수 있습니다.파라미터(매개변수)와 리턴함수와 관련된 헷갈릴 수 있는 용어들을 몇 개 알아보..
인간보다는 기계에 아주 잘맞는 행동 "반복"무언가를 계속 반복한다는 것은 아주 힘든 일입니다. 많은 사람들이 같은 행동만 반복하는 것을 참을 수 없어합니다. 그런 인간들과는 다르게 기계는 반복적인 행동을 아주 빠르게, 잘 합니다. 값을 찾기 위해 같은 행동을 몇 천번 몇 만번까지고 순식간에 할 수 있습니다. 이번 포스팅은 인간보다 기계가 더 뛰어난 반복문에 대해서 다뤄보도록 하겠습니다.for 문[1, 2, 3, 4, 5]라는 리스트가 있을 때 이 리스트에 있는 값을 3씩 증가해서 새로운 리스트를 만들려고 합니다. 이렇게 반복되는 행동은 반복문을 가지고 아주 쉽게 할 수 있습니다. li = [1, 2, 3, 4, 5] li2 = [] for item in li: item = item + 3 li2.appe..
조건문을 왜 사용할까요?조건문은 조건을 충족시키면 구문을 실행시키고, 충족하지 않으면 구문을 실행시키지 않습니다. 이런 특성에서 알 수 있듯이 조건에 따라서 프로그램을 다르게 실행하려고 할 때 조건문을 사용합니다.조건문 if 사용해보기불리언을 다룰 때 조건문을 사용했던 것을 기억하시나요? if(True): print("hello world") 조건이 참일 때 구문이 실행됩니다. 해당 예제에서는 True라는 값을 주었으니 항상 "hello world"라는 구문이 커맨드 창에 나타날 것입니다. 반대로 False라는 값을 주었다면 프린트문은 실행되지 않겠죠? 조건이 "거짓"일 때 구문을 실행시킬 수 있는 방법도 있을까요? if문과 함께 else를 사용하면 조건이 거짓일 때 구문을 실행시킬 수도 있습니다. if..
set이란?set형은 집합자료형이라고도 합니다. 중복을 허용하지 않기 때문에 값들을 필터하는데 쓰이기도 하며 집합을 구할 때 많이 사용됩니다. set을 정의하기set 자료형은 set()함수를 통해서 정의할 수 있습니다. s = set("hello") #s는 {'h', 'e', 'l', 'o'} s2 = set([1, 2, 3, 3, 4, 4, 5]) #s2는 {1, 2, 3, 4, 5} 또 다른 방법은 중괄호 안에 값을 기입하면 됩니다. s = {'h', 'e', 'l','l', 'o'} s2 = {1, 2, 3, 3, 4, 4, 5} 값을 확인해보세요. 중복되는 값들은 모두 사라지고 하나만 남습니다.값을 추가하는 방법set 자료형에 값을 추가하는 방법은 무엇이 있을까요? add()와 update()를 ..
딕셔너리(dictionary)란?딕셔너리는 사전을 뜻합니다. 사전에서 "글"이라는 단어의 뜻을 찾는다고 생각해보세요. "글 : 생각이나 일 따위의 내용을 글자로 나타낸 기록" 같은 형태로 단어의 뜻을 설명해줍니다. 딕셔너리도 이와 비슷합니다. "글"이라는 단어를 딕셔너리에서는 "키"라고 하고, 단어에 대한 설명 부분은 딕셔너리에서는 "값"이라고 합니다. 딕셔너리는 줄여서 딕트(dict) 타입이라고 합니다.딕트 정의하기딕트를 정의하는 방법은 2가지가 있습니다. cafe = {'americano': 2100, "latte": 2800} 중괄호 안에 키와 값을 :(콜론)으로 구분해서 적고, 키값 쌍끼리 구분할 때는 쉼표로 구분해주시면 됩니다. dict(americano=2100, latte=2800) #{'a..
튜플이란?튜플은 읽기 전용인 데이터 형이라고 생각하시면 됩니다. 읽기 전용이라고 하면 보통 수정은 되지 않습니다. 튜플도 값을 수정할 수는 없고 값에 접근해서 값을 읽을수만 있습니다.튜플 자료형을 만들어봅시다.튜플 자료형을 만드는 방법은 3가지가 있습니다. tup1 = (1, 2, 3, 4) tup2 = ("lemon", "candy") 우선 소괄호에 값들을 넣고, 각 값을 ,(쉼표)로 구분하면 됩니다. type(변수명)을 치면 타입을 확인할 수 있습니다. 라고 뜨는 것을 확인할 수 있습니다. tup1 = 5, 6, 7 tup2 = "ti", "story" 소괄호를 사용하지 않더라고 쉼표로 구분해서 값을 여러개 적으면 튜플로 선언됩니다. tup1과 tup2의 타입을 확인하시면 튜플이라는 것을 알 수 있습..
리스트 자료형여러 가지 값을 하나의 변수에 넣을 수 있을까요? 리스트를 활용하면 여러가지 값을 묶어서 변수에 넣을 수 있습니다. list1 = ["name", "age", 11] list2 = [2, 5, 7 ,9] 같은 자료형이 아니라도 상관없습니다. 대괄호 안에 ,(쉼표)로 구분해서 값을 넣으면 됩니다.리스트의 인덱스리스트 안에 있는 값에는 어떻게 접근할 수 있을까요? 리스트도 인덱스를 가지고 있습니다.(인덱스는 0부터 시작한다는 것을 잊지마세요.) 리스트[인덱스]를 통해서 인덱스에 맞는 값에 접근할 수 있습니다. blog = ["lemon", "candy", [1, 2, 3]] blog[0] #"lemon" blog[2][0] # 1 리스트는 중첩될 수도 있습니다. 리스트 안에 리스트가 있더라도 인..
불리언불리언 값에는 True와 False가 있습니다. T = True F = False 두 가지 값 밖에 없지만 불리언 형은 조건문과 반복문을 구성하는데 있어서 아주 중요한 부분이라고 할 수 있습니다. 조건이 실행될지 안될지, 반복을 실행할 지 안할 지를 결정하는 것이 불리언 값이라고 할 수 있습니다. 불리언 값은 대문자로 시작한다는 것을 잊지말아주세요.거짓 같은 값(falsy)과 참 같은 값(truthy)파이썬의 모든 자료형은 True나 False가 될 수 있습니다. 아직 이해가 되지 않으실 수도 있지만 참으로 평가되는 값을 truthy, 거짓으로 평가되는 값을 falsy라고 합니다. True는 아니지만 True처럼 평가되는 값들과 False는 아니지만 False처럼 평가되는 값들을 알아볼까요?fals..