프로그래밍 공부 17

[Python] 튜플 그리고 리스트

지난번엔 리스트에 대해서 알아보았습니다.이번에 다룰 튜플이라는 자료형은 리스트와 비슷합니다.튜플은 자료형과 모든게 같지만, 딱 한가지 다른것이 변경불가 라는 점입니다. 실제로 우리가 예전에 다루었던 string은 튜플이기도 합니다. 변경이 불가능한 list이기 때문이죠... 튜플은 리스트와 다르게 선언을 할때 소괄호 '()' 혹은 아얘 없이 선언합니다. 1234#튜플 설명용 예제 tuple_a = 10,'red',True # int, string, bool datatype saved in a print(tuple_a) #printing tuple variable acs위에 코드를 실행해보시면 (10, 'red', True) 라는 결과값이 나올것입니다. 리스트와 다른점은 대괄호가 소괄호로 바뀌었다는점 정도..

[Ren'Py] 렌파이 공부 2편: script.rpy파일과 간단한 대사 스크립트

렌파이로 게임을 만들때 가장 중요한 파일은 script.rpy 파일입니다.이 파일에는 게임 시작과 모든 진행을 담당하는 스크립트를 담당하는 파일입니다. 가장 기본적인 스크립트입니다.5행에 label start: 밑으로 return 문까지는 게임이 돌아가는 부분입니다. start 라벨서부터 return까지 모든 스크립트는 순서대로 진행될것입니다. 그 위에 2행에 define e 는 게임이 시작되기전에 e 라는 변수를 선언하는 부분입니다. 나중에 함수나 다른 선택지를 포함한 스크립트를 미리 만들기 위해서는 이렇게 밖에 선언을 해주어야할때도 있습니다. 그럼 다음으로 스크립트 안에 보시면.. "Tiger" "welcome to Ren'Py Game" 이라는 스크립트와e "Hello World for Ren'Py..

[Ren'Py] 렌파이 공부 1편: 설치와 세팅하기

오늘부터 간단한 게임을 만들기 위해서 렌파이 공부를 해보려 합니다. 예전부터 한번쯤 해보고싶었던 일이기때문에 최소 한달간은 집중적으로 공부해볼 생각입니다. 이번 포스트는 그 게임 제작에 쓸 Ren'Py라는 툴의 기본 정보와 설치, 그리고 테스트 실행까지 해보도록 하겠습니다. Ren'Py 툴이란?비주얼 노벨 게임 제작을 위한 오픈소스 기반의 툴로 말이 비주얼 노벨 게임개발이지 파이썬을 다룰줄 알면 화장성이 매우 높은 개발툴입니다. 요 근래 화제가 되었던 두근두근 문예부도 이 렌파이를 사용해서 만들었다고 하지요.. 오픈소스이기에(MIT 기반) 게임을 만들어 돈을 벌어도 문제가 되지 않습니다. 또한 윈도우즈, 맥킨토시, 리눅스, 모바일을 모두 포팅이 가능하기때문에 멀티플랫폼 형태로 출시하기도 쉽습니다. 무엇보..

[Python] 또다른 자료형 리스트

파이썬을 공부하면서 리스트를 처음 본 장면은 for 루프를 사용할때입니다. for 루프를 다룰때 잠깐 알아봤지만 이번 포스트에서는 리스트에 대해 좀 더 자세히 알아보도록 하겠습니다. 문자열에대해 익숙하다면 리스트도 많이 다르지는 않습니다. 어떻게보면 문자열을 공부하는것보다 리스트를 먼저 다루었어야 하는지도 모릅니다. 123456#리스트 설명용 예제 a=[1,2,3,4,5]b=['a','b','c','d','e']c=list() cs 위에 간단한 세줄의 코드를 보시면 a,b,c 라는 세가지 다른 리스트가 있습니다. 나중에는 리스트 안에 리스트 이런식으로 복잡하게 만들 수 있지만 지금은 필요없습니다. 이런식으로 간단한 리스트를 다루는데 익숙해지는게 중요합니다. 리스트는 문자열과 비슷합니다. 문자열이 가지고있..

[Python]파이썬 기본문법4 문자열의 기초4

문자열의 마지막 내용으로는 슬라이싱에 대해 알아보겠습니다. 파이썬에서 문자열을 슬라이싱한다고 하면 1편에서 배운 인덱싱을 사용하여 어떤 범위의 문자열들을 짤라내는것을 의미합니다. 슬라이싱이라는 기법없이 인덱싱되어있는 문자열만을 가지고 단어를 뽑아내려면 여간 귀찮은게 아닙니다. 인덱싱을 통하여 해당 인덱스도 알아내야하고 그 이후에 하나하나 다 출력해야합니다. 12345678a = 'My life for Auier' # 0 1 # 01234567890123456' 인덱싱 표시list1 = [12,13,14,15,16]b=''for i in list1: b=b+a[i] print(b) cs더 보기 쉽게 할 수 있지만 루프를 연습하기 위해서 ... 인덱스 12번부터 16번까지를 새로운 스트링 b로합쳐서 출력하는..

[Python] 파이썬 기본문법3 문자열의 기초3

오늘은 문자열에 관한 내용중 포맷코드에 대해 알아보도록 하겠습니다. 포켓코드는 C를 다뤄본 사람들이라면 익숙한 문법입니다. 포멧코드는 기본적으로 문자열 사이에 변수를 넣어두는 형식으로 변수는 그때그때 값에따라 보여지는것이 달라집니다. 일단 코드부터 보시겠습니다. string3.py 코드 1~4행은 세가지 포멧코드 초기화 입니다. strS --> 문자형 (string) 포멧 strD --> 정수형 포멧 strF --> 부동소수형 포멧 4행은 나중에 몇가지 테스트를 위한 3.131592로 초기화한 변수입니다. 8행부터 11행까지는 문자형 포멧코드 사용예시입니다. print(strS%'String1') 이 문장은 print('This format is s %s' %'String1')과 같은 뜻을 가지고 있는데..

[Python] 파이썬의 기본분법2 문자열의 기초2 (문자열 더하기, 곱하기)

오늘은 지난번에 이어서 문자열을 다루는 함수들에 대해 알아보겠습니다. 지난번 포스트에는 기본적으로 프린트, index, 길이 등 문자열 그 자체에 대한 함수들 이었다면, 이번포스트는 그 문자열들을 어떻게 쓸 수 있는지에 대해 알아보겠습니다. 문자열 관련 간단한 코드 코드부터 살펴보겠습니다. 1~13행까지는 str1~5 까지 초기화및 프린트 입니다. 지난번과 완전히 똫같습니다. 하지만 지난번과 다른점은 프린트 할때 %s부분입니다. %s 는 문자열에 문자열 형의 변수를 대입할때 쓰는 변수(?) 입니다. print('str1 = %s' %str1) 이 명령은 %s에 %다음에 나오는 문자열형 변수를 대입하라 이런뜻입니다. print('str1 = ') + print (str1) 이 명령과 같은 역할을 하게 됩니..

[Python] 파이썬의 기본분법2 문자열의 기초1

개인적으로 파이썬을 공부하면서 가장 강력한 기능이라고 생각했던 부분이 바로 문자열이였습니다.c 계열의 언어를 공부할때는 기본적인 세팅에서는 문자열 관련해서 작업을 할 수 있는 것들이 많지 않았습니다.이번 포스트는 그 문자열의 기초인 문자열을 만들고 프린트 하는법, 문자열의 길이, 인덱스, 바꾸기 에 대해 알아보고 다음번 포스트에서는 문자열의 다른 함수들을 알아보겠습니다. (함치기, 나누기, 스플릿 등등..) String 사람과 대화를 해야하는 프로그래밍상 문자열은 아주 중요한 자료형입니다. 문자, 단어, 숫자등으로 이루어진 이 자료형은 string 이라고 불립니다. 프로그래밍을 배우다보면 대부분 이 문자열을 쓰는법에서 고생을 하게되는데 파이썬은 다른 언어들에비해 아주 편리한 기능들을 많이 가지고 있습니다..

[프로그래밍] 객체지향 프로그래밍이란? 2편 기본 개념

이번 포스트는 객체지향 프로그래밍(OOP) 에서의 중요한 개념중 하나인 추상화, 켑슐화, 은닉화를 알아보겠습니다. 1. 프로그램의 추상화: Abstraction 프로그램을 설계할때 추상화를 한다는것은 아주 중요합니다. 추상화를 한마디로 표현하면 공통점을 뽑아내는것 입니다. 앞선 포스트에서 예를 들었던 사람을 예로 들어보면, 사람들은 팔, 머리, 다리를 '공통적'으로 소유하고 있다는것 입니다. 추상화는 코드를 직접 짤때도 중요하지만 설계할때 더 중요한 개념입니다. 흔히 객체라는것을 만들때에는 두가지 일을 염두해두고 설계합니다. 간단한, 간결한 시스템 모든 정보들 표현과 간단한 설계, 간결한 설계가 프로그래밍의 가장 힘든부분이긴 하지만 완성만 시키면 절차지향형 설계를 한 프로그램보다 훨씬 구현하기 쉽다는걸 ..

[프로그래밍] 객체지향 프로그래밍이란? 1편 기본 개념

객체지향 프로그래밍! 요즘 시대에 프로그래밍이 엄청나게 빠른속도로 발전하게 된 계기는 객체지향 프로그래밍의 발견이 큰 기여를 했습니다. C를 제외한 거의 모든 '인기' 언어들은 대부분 객체지향 프로그래밍을 지원하고있고 권장하고 있는데요.. 물론 객체지향프로그래밍을 모르더라도 프로그래밍을 할 수 는 있지만 비효율적이고 힘들어지기만 합니다. 지난 포스트에서는 이번에 파이썬의 클래스에대해 다룬다고 했는데요, 그 에 앞서서 클래스의 의미를 알아볼 수 있는 객체지향 프로그래밍 (Object Oriented Programming) 에대해 알아보도록 하겠습니다. 1. 절차지향 프로그래밍 객체지향 프로그래밍(OOP) 가 알려지기 전까지는 모든 프로그래밍은 절차지향형 프로그래밍이였습니다. 기본적으로 코드를 첫줄에서부터 ..