파이썬 hello world - paisseon hello world

Python is a very simple language, and has a very straightforward syntax. It encourages programmers to program without boilerplate (prepared) code. The simplest directive in Python is the "print" directive - it simply prints out a line (and also includes a newline, unlike in C).

There are two major Python versions, Python 2 and Python 3. Python 2 and 3 are quite different. This tutorial uses Python 3, because it more semantically correct and supports newer features.

For example, one difference between Python 2 and 3 is the print statement. In Python 2, the "print" statement is not a function, and therefore it is invoked without parentheses. However, in Python 3, it is a function, and must be invoked with parentheses.

To print a string in Python 3, just write:

print("This line will be printed.")

Indentation

Python uses indentation for blocks, instead of curly braces. Both tabs and spaces are supported, but the standard indentation requires standard Python code to use four spaces. For example:

x = 1 if x == 1: # indented four spaces print("x is 1.")

Exercise

Use the "print" function to print the line "Hello, World!".

print("Goodbye, World!") print("Hello, World!") test_output_contains("Hello, World!") success_msg('Great job!')

파이썬을 설치했으니 이제부터 본격적으로 파이썬을 배워보겠습니다. 먼저 프로그래밍 언어의 첫 관문인 Hello, world! 출력부터 알아보죠.

3.1 IDLE에서 Hello, world! 출력해보기

IDLE의 >>> 부분에 다음 내용을 입력한 뒤 엔터 키를 누릅니다.

>>> print('Hello, world!') Hello, world! >>> 

그림 3-1IDLE의 파이썬 셸에서 Hello, world! 출력

Hello, world!가 출력되었죠? 이렇게 파이썬 코드를 입력해서 Hello, world!를 출력합니다. 그럼 조금 응용해서 Hello, Python은 어떻게 출력해야 할까요? 한 번 생각해보세요.

방법은 간단합니다. 이렇게 print( ) 안에 'Hello, Python'을 넣으면 됩니다.

>>> print('Hello, Python') Hello, Python >>> 

Hello, Python이 출력되었습니다.

에러

NameError: name ... is not defined: 함수 이름을 잘못 입력했을 때 발생하는 에러입니다. 파이썬은 대소문자를 구분하므로 대소문자를 정확히 입력해야 합니다. print처럼 전부 소문자로 입력했는지 확인해주세요.

SyntaxError: invalid syntax: print( )안에 Hello, world!를 넣을 때 ' '(작은따옴표)로 묶지 않아서 발생하는 구문 에러(syntax error)입니다. 작은따옴표로 묶어주세요.

SyntaxError: EOL while scanning string literal: 따옴표를 잘못 사용했을 때 발생하는 구문 에러입니다. 'Hello, world!'와 같이 앞 뒤로 작은따옴표 쌍이 맞는지 확인해주세요.

지금까지 파이썬 코드를 입력한 뒤 엔터 키를 누르면 결과가 바로 나왔죠? 이처럼 코드를 한 줄 한 줄 실행하여 결과를 얻는 방식을 인터프리터(interpreter) 방식이라고 부릅니다.

IDLE처럼 파이썬 코드를 직접 입력해서 실행하는 프로그램을 파이썬 셸(Python Shell)이라고 하며 >>> 부분을 파이썬 프롬프트(Python prompt)라고 부릅니다. 즉, 파이썬 셸을 통해서 파이썬 코드를 해석(interpret)해주는 인터프리터를 사용하게 됩니다.

참고 | 대화형 셸

파이썬 셸은 파이썬 인터프리터와 대화하듯이 코드를 처리한다고 해서 대화형 셸(interactive shell) 또는 인터렉티브 모드(interactive mode)라고도 부릅니다. 특히 이런 방식을 코드를 읽고, 평가(계산, 실행)하고, 출력한다고 해서 REPL(Read-Eval-Print Loop)이라고 합니다.

그림 3-2 REPL

참고 | IDLE의 파이썬 셸에서 에러가 났을 때

IDLE의 파이썬 셸에서 코드를 잘못 입력하여 에러가 나면 올바른 코드를 다시 입력해야 합니다. 이런 경우에 코드를 매번 처음부터 다시 입력하려니 좀 번거롭습니다. IDLE의 파이썬 셸에서는 ↑ 방향 키를 누르면 이전 코드로 쉽게 돌아갈 수 있습니다. 또한, 이전 코드에서 엔터 키를 누르면 해당 코드를 다시 사용할 수 있습니다. 각자 다음 그림의 Hello, world!'Hello, world!'처럼 '로 둘러싸서 올바르게 고쳐보세요.

그림 3-3 IDLE 파이썬 셸에서 이전 코드 사용하기

Unit 29. 함수 사용하기

프로그래밍을 하다 보면 들어가는 값만 바뀔 뿐 같은 코드가 계속 반복되는 경우가 많습니다. 특히 같은 코드를 반복해서 작성하면 코드도 길어지고 중간에 실수할 가능성이 높아집니다.

파이썬은 함수(function)라는 기능을 제공하는데 특정 용도의 코드를 한 곳에 모아 놓은 것을 뜻합니다. 그래서 함수는 처음 한 번만 작성해 놓으면 나중에 필요할 때 계속 불러 쓸 수 있습니다. 예를 들어 지금까지 사용했던 print, input 등도 모두 파이썬에서 미리 만들어 둔 함수입니다.

즉, 함수를 사용하면 이런 점이 좋습니다.

  • 코드의 용도를 구분할 수 있다.
  • 코드를 재사용할 수 있다.
  • 실수를 줄일 수 있다.

함수는 다양한 사용 방법이 있으므로 이제부터 각 유닛에서 함수의 사용법을 자세히 알아보겠습니다.

29.1 Hello, world! 출력 함수 만들기

함수는 def에 함수 이름을 지정하고 ( )(괄호)와 :(콜론)을 붙인 뒤 다음 줄에 원하는 코드를 작성합니다(함수의 이름을 짓는 방법은 변수와 같습니다). 이때 코드는 반드시 들여쓰기를 해야 합니다(들여쓰기 규칙은 if, for, while과 같습니다).

여기서 def는 정의하다(define)에서 따온 키워드입니다.

29.1.1  함수 만들기

그럼 'Hello, world!'를 출력하는 함수를 만들어보겠습니다.

>>> def hello(): ...      print('Hello, world!') ... 

함수 이름은 hello로 지정하고, 그다음 줄에서 print'Hello, world!' 문자열을 출력하도록 만들었습니다.

29.1.2  함수 호출하기

함수를 만들었으니 사용을 해봐야겠죠? 함수를 만든 부분 아래에서 hello()와 같이 함수 이름과 ()를 적어주면 함수를 사용할 수 있습니다.

  • 함수()

>>> hello() Hello, world!

이렇게 함수를 사용하는 방법을 "함수를 호출(call)한다"라고 부릅니다.

29.1.3  소스 파일에서 함수를 만들고 호출하기

이번에는 소스 파일에서 함수를 만들고 호출해보겠습니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력한 뒤 실행해보세요.

function.py

def hello():     print('Hello, world!')   hello()

에러

SyntaxError: invalid syntax: 함수의 형식이 맞지 않아서 발생하는 구문 에러입니다. ( )(괄호)의 짝이 맞는지, :(콜론)을 빠뜨리지 않았는지 확인해주세요.

함수 호출이 되지 않음: 함수를 호출할 때 ( )(괄호)를 빠뜨리지 않았는지 확인해주세요. 그냥 hello처럼 괄호를 붙이지 않으면 함수가 호출되지 않습니다.

실행을 하면 hello 함수가 만들어진 뒤 호출되어서 'Hello, world!' 문자열이 출력됩니다.

29.1.4  함수의 실행 순서

이제 파이썬 스크립트에서 함수의 실행 순서를 알아보겠습니다. hello 함수는 다음과 같은 순서로 실행됩니다.

  1. 파이썬 스크립트 최초 실행
  2. hello 함수 호출
  3. hello 함수 실행
  4. print 함수 실행 및 'Hello, world!' 출력
  5. hello 함수 종료
  6. 파이썬 스크립트 종료
그림 29-1 파이썬 스크립트에서 hello 함수의 실행 순서

29.1.5  함수 작성과 함수 호출 순서

함수를 만들고 호출할 때 주의할 점이 있는데, 바로 함수를 만들기 전에 함수를 먼저 호출하면 안 된다는 점입니다. 즉, 다음과 같이 함수를 먼저 호출한 뒤 함수를 만들 수는 없습니다.

hello()         # hello 함수를 만들기 전에 함수를 먼저 호출   def hello():    # hello 함수를 만듦     print('Hello, world!')

실행 결과

Traceback (most recent call last):   File "C:\project\function.py", line 1, in <module>     hello()    # hello 함수를 만들기 전에 함수를 먼저 호출 NameError: name 'hello' is not defined 

함수를 먼저 호출하면 함수가 정의(define)되지 않았다는 에러가 발생합니다. 왜냐하면 파이썬 코드는 위에서 아래로 순차적으로 실행되기 때문입니다. 반드시 함수를 먼저 만든 뒤에 함수를 호출해야 합니다.

참고 | 빈 함수 만들기

내용이 없는 빈 함수를 만들 때는 코드 부분에 pass를 넣어줍니다.

나중에 다른 사람이 만든 파이썬 소스 코드를 보다 보면 pass를 자주 접할 수 있습니다. pass는 아무 일을 하지 않아도 함수의 틀을 유지할 필요가 있을 때 사용합니다.

Toplist

최신 우편물

태그