프로그래머가 아닌 이들을 위한 파이썬 3 자습서/Hello, World

위키책, 위키책
둘러보기로 가기 검색하러 가기

당신이 알게 될 것[+/-]

당신이 이 장을 읽고 마스터한다면, 당신은 텍스트 편집기나 IDLE로 어떻게 프로그램을 편집하고 하드디스크에 저장하는지, 그리고 저장된 것을 어떻게 실행하는지를 알게 될 것이다.

출력[+/-]

"Hello, World!"는 프로그래밍의 시초부터 튜토리얼로 쓰인 작은 프로그램입니다.[1] 여기를 보세요:

print("Hello, World!")

만약 프로그램을 실행하는데 커맨드라인을 사용하고 있다면, 텍스트 편집기에 위 내용을 타이핑 한 후, hello.py로 저장한 후 python3.0 hello.py으로 실행시키면 됩니다.

그게 아니라면 IDLE을 켜고, 새 창을 만든 후, 다음 섹션처럼 프로그램을 만드세요 Creating and Running Programs.

이 프로그램을 실행시키면 아래와 같이 출력된 것을 볼 수 있습니다:

Hello, World!

이제 매번 지시를 하지는 않겠지만, 내가 프로그램을 보여주면 당신이 그것을 타이핑하고 실행시키길 권장합니다. 나 역시 타이핑했을 때 더 잘 배웠고 당신도 아마 같은 겁니다.

이제는 좀 더 복잡한 프로그램을 봅시다:

print("아리랑 아리랑 아라리요,")
print("아리랑 고개로 넘어간다.")
print("나를 버리고 가시는 님은")
print("십리도 못 가서 발병난다.")

이 프로그램을 실행시키면 다음과 같이 출력됩니다:

아리랑 아리랑 아라리요,
아리랑 고개로 넘어간다.
나를 버리고 가시는 님은
십리도 못 가서 발병난다.

컴퓨터가 이 프로그램을 실행시키면 첫 줄을 보게 됩니다:

print("아리랑 아리랑 아라리요,")

그래서 컴퓨터는 다음을 출력합니다:

아리랑 아리랑 아라리요,

그 다음 컴퓨터는 밑의 줄로 진행하여 읽습니다:

print("아리랑 고개로 넘어간다.")

그래서 컴퓨터는 화면에 다음을 출력합니다:

아리랑 고개로 넘어간다.

컴퓨터는 매 줄을 읽고, 명령에 따르고 그 다음에야 다음 줄로 넘어갑니다. 컴퓨터는 프로그램의 마지막에 도달할 때 까지 명령을 실행합니다.

용어[+/-]

이제 뭐가 일어났는지 - 그리고 약간의 프로그래밍 용어를 포함해서 - 알려줄 좋은 때인 것 같습니다.

위에서 우리가 한 것들은 print 함수(Function)를 사용한 것입니다. 함수의 이름 - print - 다음에는 괄호 속에 0개 혹은 그 이상의 인수(Argument)를 포함하고 있습니다. 그럼 이 예시에서

print("Hello, World!")

한 개의 인수 "Hello, World!"로 이루어져 있습니다. 이 인수는 큰 따옴표("")로 묶여진 문자들의 그룹이라는 것에 유의하세요. 이것은 일반적으로 글자의 문자열, 짧게 문자열이라고 합니다. 다른 예에서의 문자열은 "아리랑 아리랑 아라리요," 였습니다. 함수와 괄호로 둘러싼 인수의 조합을 함수 호출(Function call)이라고 합니다.

함수와 그 인수는 파이썬이 가진 구문(Statement)의 한 종류입니다. 그러면

print("Hello, World!")

은 구문의 예시입니다. 기본적으로, 프로그램에서 한 줄당 하나의 구문을 가진다고 생각하면 됩니다.

지금은 이 정도 용어설명이면 충분하다고 봅니다.

표현식[+/-]

다른 프로그램을 보도록 할까요:

print("2 + 2 =", 2 + 2)
print("3 * 4 =", 3 * 4)
print("100 - 1 =", 100 - 1)
print("(33 + 2) / 5 + 11.5 =", (33 + 2) / 5 + 11.5)

그리고 이 프로그램을 실행시키면 출력되는 것입니다:

2 + 2 = 4
3 * 4 = 12
100 - 1 = 99
(33 + 2) / 5 + 11.5 = 18.5

당신이 보시다시피, 파이썬은 100만원짜리 컴퓨터를 5천원짜리 계산기로 변모시킵니다.

이 예시에서, print 함수는 쉼표(comma)로 구분되는 2개의 인수를 가지고 있습니다. 그래서 프로그램의 첫 줄에서

print("2 + 2 is", 2 + 2)

첫 번째 인수는 문자열 "2 + 2 =" 이고 두 번째 인수는 표현식이라고도 하는 수식 2 + 2입니다.

정말로 중요한 것은 문자열은 입력한 대로 출력되는 반면 (큰 따옴표를 제외하고), 표현식계산된 것, 그 식의 실제 값으로 변환한 것을 출력합니다.

파이썬은 숫자에 대한 일곱 가지 기본 연산을 가지고 있습니다:

연산 기호 예시
지수 (거듭제곱) ** 5 ** 2 == 25
곱셈 * 2 * 3 == 6
나눗셈 / 14 / 3 == 4.666666666666667
몫 구하기 // 14 // 3 == 4
나머지 % 14 % 3 == 2
덧셈 + 1 + 2 == 3
뺼셈 - 4 - 3 == 1

나눗셈을 하는 2가지 방법이 있다는 것을 유의하세요. 하나는 10진수로 값을 계속 반환하고, 다른 방법은 정수로 나머지와 몫을 얻는 것입니다. 연산의 순서는 수학하고 똑같습니다:

  • 괄호 ()
  • 지수 **
  • 곱셈 *, 나눗셈 /, 몫 구하기 //, 나머지 구하기 %
  • 덧셈 + 과 뺄셈 -

그러므로 당신의 계산식에서 필요하다면 괄호를 사용하여 구조화할 수 있습니다.

사람들(그리고 다른 지능적 존재들)과의 대화하기[+/-]

프로그래밍에서 이따금 당신은 뭔가 복잡한 것을 하고 있고 아마 미래에는 당신이 무엇을 했는지 기억하지 못할 수도 있습니다. 이러한 상황에서는 프로그램에 아마도 주석이 되어있어야 합니다. 주석은 당신과 다른 프로그래머에게 무엇이 되고 있는지 설명하기 위해 기록한 것입니다. 예를 들어:

# PI는 아니지만, 믿을 만한 시뮬레이션
print(22 / 7)

이것이 출력한 것은:

3.14285714286

주석이 해쉬(샵;hash): #로 시작하는 것에 주의하세요. 주석들은 프로그램을 읽는 다른 사람들과 미래의 내가 복잡한 코드를 명확하게 이해하기 위해 사용됩니다.

모든 텍스트가 주석에 올 수 있고, 프로그램이 실행될 때 # 다음에 오는 텍스트는 그 줄의 끝까지 무시된다는 것을 기억하세요. # 는 새 줄의 시작부분에 위치할 필요는 없습니다:

# 화면에 Pi 출력
print(22 / 7) # 음, 꽤 좋은 근사값인데

예제[+/-]

모든 장은 (결국) 그 장에서 소개된 프로그래밍 기능에 대한 예제를 포함하고 있습니다. 당신은 적어도 그것을 쓱 보고 이해할 수 있을 때까지는 봐야 합니다. 만약 그게 안된다면, 그것을 타이핑해서 무슨 일이 발생하는지 보아야 합니다. 그것이 혼란스러우면, 바꾼 후 어떤 일이 일어나는지 보십시오.

Denmark.py

print("Something's rotten in the state of Denmark.")
print("                -- Shakespeare")

Output:

Something's rotten in the state of Denmark.
                -- Shakespeare

School.py

# 이것은 미국 밖에서는 사실이 아닐 수도 있습니다
# 그리고 이것은 내 어린 시절의 일기에 기초한 것입니다.
print("Firstish Grade")
print("1 + 1 =", 1 + 1)
print("2 + 4 =", 2 + 4)
print("5 - 2 =", 5 - 2)
print()
print("Thirdish Grade")
print("243 - 23 =", 243 - 23)
print("12 * 4 =", 12 * 4)
print("12 / 3 =", 12 / 3)
print("13 / 3 =", 13 // 3, "R", 13 % 3)
print()
print("Junior High")
print("123.56 - 62.12 =", 123.56 - 62.12)
print("(4 + 3) * 2 =", (4 + 3) * 2)
print("4 + 3 * 2 =", 4 + 3 * 2)
print("3 ** 2 =", 3 ** 2)

Output:

Firstish Grade
1 + 1 = 2
2 + 4 = 6
5 - 2 = 3

Thirdish Grade
243 - 23 = 220
12 * 4 = 48
12 / 3 = 4
13 / 3 = 4 R 1

Junior High
123.56 - 62.12 = 61.44
(4 + 3) * 2 = 14
4 + 3 * 2 = 10
3 ** 2 = 9

실습[+/-]

  1. 당신의 이름과 생일을 분리된 문자열로 출력하는 프로그램을 작성하시오.
  2. 7개의 수학함수 전체를 사용하는 프로그램을 작성하시오.

틀:Solution

틀:Solution


주석[+/-]

  1. 에서 유명한 "Hello, world!" 프로그램이 다양한 언어로 작성된 것을 볼 수 있습니다. 그리고 파이썬이 얼마나 단순한지도 볼 수 있겠죠...

틀:Navigation 스크립트 오류: "TScope" 모듈이 없습니다.