위와 같이 하면 된다.이렇게 하는게 무슨 상관이 있을까 할 수 있지만 코드를 작성하다가 보면 실수인지 정수인지에 따라서 결과가 완전히 달라질 수 있기 때문에 주의해야 한다.이와 같이 나머지를 구하는 연산자를 모듈 연산자 라고 한다.divmod 라는 함수를 사용하면 몫
변수 할당을 하는데 파이썬에는 다음과 같은 규칙들이 있다.영문 문자와 숫자를 사용할 수 있다.대소문자를 구분한다.변수 이름은 문자로 시작해야하며 숫자로 시작할 수는 없다.\_(밑줄문자) 를 사용할 수 있다.특수 문자(+, -, \*, /, $, @, &, % 등)은 사
print 에 변수나 값을 콤마로 구분하여 넣을 수 있다. 그러면 각각의 값들이 띄어쓰기로 구분되어 출력된다.만약 값들 사이를 띄어쓰기가 아닌 다른 것로 하기 위해서는 sep 을 사용하면 된다.print 함수는 기본적으로 마지막에 개행이 들어가도록 되어있다.그런데 만약
불(Boolean) 을 나타내는 참(True), 거짓(False). 파이썬에서는 논리 연산자와 비교 연산자의 판단 결과로 True, False 를 사용한다.Ture , False 또한 1, 3, 7, 'test' 처럼 일종의 '값'이다.문자열은 대소문자를 구분한다.이번
문자열을 사용할때는 3가지 방법이 있다.위의 작은 따옴표 3개 대신에 큰 따옴표 3개를 사용해도 된다.그런데 왜 둘다 하는일이 같은데 굳이 두 개를 사용할까? 그 이유는 작은 따옴표를 표현하고 싶을때나 큰 따옴표를 사용하고 싶을 때가 있기 때문이다.그렇다면 작은 따옴표
지금까지는 변수를 하나씩 작성했는데 만약에 100개의 값을 저장하려면 어떻게 할까? 일일이 변수 100개를 설정해야할까? 그것은 너무 복잡하고 비효율적이다. 이럴때 사용하는 것이 바로 리스트이다.리스트는 변수의 값을 대괄호로 묶어주고 콤마로 구분해주면 된다.파이썬에서는
우리가 지금까지 배웠던 리스트, 튜플, 문자열, range 를 자세히 보면 공통점이 있다. 바로 이들 모두 연속적(sequence)으로 되어 있다는 것이다.Untitled파이썬에서는 이와 같이 값들이 연속적으로 이어진 자료형을 시퀀스 자료형(sequence types)
지금까지 봤었던 리스트나 튜블은 값들이 일렬로 넣어져 있을 뿐 어떠한 연관 관계가 없었다. 예를 들어서 게임 캐릭터의 능력치를 리스트에 저장해보자위의 능력치는 채력, 마나, 사거리, 방어력 순서이다. 그런데 위 처럼 숫자만 보아서 어떤게 어떤 능력치인지 알아보기가 힘들
만약 'hello' 라는 문자열을 100번 출력해야 한다면 어떻게 해야할까? 가장 1 차원 적인 방법은 print 를 100 번 사용하는 것이다.하지만 이 방법은 너무 무식한 방법이고 시간도 너무 많이 걸리고 비효율적이다.그래서 대부분 프로그래밍 언어에서는 반복되는 작
1. while 사용하기 이전에는 for 을 사용하여 'hello'를 100번 출력했었다. 그러면 이번에는 while 을 통해서 똑같은 작업을 해보자. 먼저 초기식으로 i = 0 을 해준다. 그 이유는 조건식이 True 인지 False 인지 판단하기 위해서 먼저 i
FizzBuzz는 매우 간단한 프로그래밍 문제이며 규칙은 다음과 같다.1에서 100까지 출력3의 배수는 Fizz 출력5의 배수는 Buzz 출력3과 5의 공배수는 FizzBuzz 출력1부터 100까지의 숫자를 출력하면서 3의 배수는 'Fizz', 5의 배수는 'Buzz'
이번에는 조금 재미있는 것을 해보자. 바로 터틀 그래픽스(Turtle graphics) 모듈을 이용하여 간단한 그림을 그려보는 것이다.터틀은 어린이나 초보자들이 파이썬을 쉽게 배울 수 있도록 만든 모듈인데 거북이가 기어가는 모양대로 그림을 그린다고 하여 터틀이라고 한다
먼저 리스트를 조작하는 메서드(method)에 대해서 알아보자. 메서드는 객체에 속한 함수를 뜻하는데 자세한 내용은 뒤에서 설명하겠다. 파이썬에서 제공하는 리스트 메서드는 여러가지가 있지만 여기선 자주 사용하는 메서드르 다루겠다.append 는 리스트 끝에 요소 하나를
이번에는 리스트의 할당과 복사에 대해서 알아보자 이 둘은 비슷한 것 같지만 큰 차이점이 존재한다. 먼저 다음 코드를 보자리스트를 만든 다음에 다른 변수에 할당하였다. 이렇게 다른 변수에 할당하면 리스트는 두 개가 될 것 같지만 실제로 리스트는 한 개이다.Untitled
리스트의 인덱스를 지정하여 요소를 한 개씩 출력하기 상당히 귀찮다. 이번에는 리스트에 반복문을 사용하여 간단하게 모든 요소를 출력해보자for 반복문은 그냥 in 뒤에 리스트를 지정하면 된다.for i in a 는 리스트 a 에서 요소 하나를 가져와 i 에 저장하고, 꺼
이번에는 튜플의 메서드와 다양한 사용 방법에 대해서 알아보자.튜플은 앞서 배웠듯이 리스트와 달리 내용을 변경할 수 없다(immutable). 따라서 요소를 추가하는 append 와 같은 메서드는 사용할 수 없고 요소의 정보를 구하는 메서드만 사용할 수 있다.튜플에서 특
문자열은 문자열을 조작하거 정보를 얻는 다양한 메서드(메서드는 나중에 뒤에서 설명)를 제공한다. 여기서는 자주 사용되는 메서드만 설명하겠다.replace('바꿀문자열', '새문자열') 은 문자열을 바꿔준다. (문자열 자체는 변하지 않으며 바뀐 문자열을 반환한다). 다음
키-값 을 추가하는 메서드는 다음과 같이 두 가지가 있다.setdefault: 키-값 쌍 추가update: 키의 값 수정, 키가 없으면 키-값 쌍 추가setdefault(키) 를 하면 키가 추가되고 값에는 None 이 들어간다.setdefault(키, 값) 을 해주면
세트는 중괄호{} 안에 값을 저장하고 각 값은 콤마 로 구분한다.세트 = {값1, 값2, 값3}간단한 예시로 과일이 들어있는 세트를 만들어보겠다.세트는 요소의 순서가 정해져 있지 않다. 따라서 세트를 출력할 때 마다 매번 출력되는 요소의 순서가 바뀐다.또한 세트는 요쇼
프로그래밍에서 중요한 축에 속하는 것 중 하나가 파일 처리이다. 이번에는 파일에서 문자열을 읽고 쓰는 방법과 파이썬 객체를 파일에 읽고 쓰는 방법을 알아보자.파일객체 = open(파일이름, 파일모드)파일객체.write('문자열')파일객체.close()다음과 같이 Hel
이번에는 문자열을 응용하여 회문을 판별하는 방법과 N-gram을 만드는 방법에 대해서 알아보자회문(palindrome)은 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장을 말한다. 예를 들어 "level", "SOS", "rotator", "nurses run
프로그래밍을 하다가 보면 들어가는 값만 바뀔 뿐 같은 코드가 반복되는 경우가 많다. 특히, 코드를 반복해서 적으면 코드가 길어지고 중간에 실수할 가능성도 높아진다.파이썬은 함수(function) 이라는 기능을 제공하는데 특정 용도로 코드를 한 곳에 놓아둔 것을 뜻한다
지금까지 간단하게 문자열을 출력하는 함수와 두 수를 더하는 함수를 만들었다. 파이썬에서는 함수를 좀 더 편리하게 사용할 수 있도록 다양한 기능을 제공한다. 이번에는 함수에서 위치 인수와 키워드 인수를 사용하는 방법과 리스트와 딕셔너리의 언패킹을 활용하는 방법에 대해서
함수 안에서 함수 자기 자신을 호출하는 것을 재귀호출(recursive call)이라고 한다. 재귀호출은 일반적인 상황에서 잘 사용하지 않지만 알고리즘을 구현할 때는 매우 유용하다. 보통 알고리즘에서 반복문으로 코드를 구현한 것보다 재귀를 사용하여 구현한 것이 좀 더
지금까지는 def 로 함수를 정의했었다. 이번에는 람다 표현식으로 익명의 함수를 만드는 법에 대해서 알아보자.람다 표현식은 식으로 되어 있다고 하여 람다 표현식(lambda expression)이라고 한다. 특히 람다 표현식은 식을 간단하게 작성할 수 있어서 다른 함수
이번에는 클로저에 대해서 알아보자. 클로저는 개념이 다소 어려울 수 있으니 변수의 사용 범위부터 알아본 뒤에 설명해보겠다.파이썬 스크립트에서는 변수를 만들면 다음과 같이 함수 안에서도 변수를 사용할 수 있다.101010Traceback (most recent call
클래스는 객체를 표현하기 위한 문법이다. 예를 들어서 게임을 만든다고 하면 기사, 마법사, 궁수, 사제 직업별로 클래스를 만들어서 표현할 수 있다.Untitled물론 집, 차, 나무 등도 클래스로 표현할 수 있따. 특히 프로그래밍에서는 현실 세계의 개념들 뿐만 아니라
이번에는 클래스를 사용하여 2차원 평면 위에 있는 두 점 사이의 거리를 구해보자.두 점 사이의 거리를 구하기 전에 먼저 클래스로 점을 구현해보자.2차원 평면에서 위치를 표현하려면 x 와 y 가 필요할 것이다. 다음과 같이 클래스를 구현하고 x, y 를 속성으로 넣은다.
예외(exception)란 코드를 실행하는 과정 중에 발생하는 에러를 뜻한다. 다음과 같이 10을 나누는 함수를 보자.다음과 같이 어떠한 값을 10으로 나누는 함수 ten_div 는 인수에 따라서 정상 작동하기도 하고 에러가 나기도 한다. 이 함수에 2을 넣으면 5.0
이터레이터(iterator)는 값을 차례대로 꺼낼수 있는 객체(object)를 말한다.우리는 지금까지 for 문을 사용할 때 range 를 사용했다. 만약 100번 반복한다면 for i in range(100): 처럼 만들어서 사용했다. 이처럼 사용할 때 0부터 99까
지금까지 함수를 호출 한 뒤 함수가 끝나면 원래 함수로 돌아왔다.위 calc 함수에서 add 함수를 호출하고 add 함수가 끝나면 다시 calc 함수로 돌아온다. 특히, add 함수가 끝나면 이 함수에 있던 변수와 계산식이 모두 사라진다.이 소스 코드에서 두 함수의 관
파이썬은 데코레이터(decorator) 라는 기능을 제공한다. 데코레이터는 장식하는 도구 정도로 설명할 수 있다.지금까지 클래스를 만들 때 @staticmethod, @classmethod, @abstractmethod 등을 붙였는데, 이렇게 @ 로 시작하는 것들을 데
정규표현식(regular expression)은 일정한 규칙(패턴)을 가진 문자열을 표현하는 방법이다. 복잡한 문자열 속에서 특정한 규칙으로된 문자열을 검색한 뒤에 추출하거나 바꿀 때 사용한다. 또는, 문자열이 규칙에 맞는지 판단할 때 사용한다.간단하게 문자열에 특정