구문(Syntax)

pengpengIT·2024년 1월 28일

파이썬

목록 보기
2/6

파이썬 문법은 파이썬 프로그램을 작성하는 데 사용되는 규칙 집합을 정의한다.
파이썬 프로그래밍 언어 문법은 Perl, C, 그리고 Java 프로그래밍 언어와 많은 유사성이 있다.
그러나 이러한 언어들 간에는 몇 가지 명백한 차이가 있다.

목차
1. 파이썬 프로그래밍
2. 식별자
3. 예약어 목록
4. 들여쓰기
5. 멀티라인 구문
6. 문자열 인용
7. 주석
8. 공백 라인
9. 사용자의 입력 대기
10. 세미콜론
11. suites
12. 명령줄 인수

1. 파이썬 프로그래밍

두 가지 다른 모드의 파이썬 프로그래밍으로 "Hello, World!"를 출력할 수 있다.
1) 대화형 모드 프로그래밍
2) 스크립트 모드 프로그래밍

1-1. 대화형 모드 프로그래밍

명령 프롬프트에서 다음과 같이 python을 입력하여 파이썬 인터프리터를 호출할 수 있다.

$ python3
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

여기서 >>> 는 파이썬 명령 프롬프트를 나타낸다.
명령을 입력할 수 있는 곳이다.

파이썬 프롬프트에서 다음 텍스트를 입력하고 Enter 키를 누르면, Hello, World! 가 출력된다.

>>> print ("Hello, World!")

1-2. 스크립트 모드 프로그래밍

스크립트 매개변수와 함께 파이썬 인터프리터를 호출할 수 있다.
이는 스크립트의 실행을 시작하고 스크립트가 완료될 때까지 계속된다.
스크립트가 완료되면 인터프리터가 더 이상 활성 상태가 아니다.

간단한 텍스트 파일인 스크립트에 간단한 파이썬 프로그램을 작성해 본다.
파이썬 파일의 확장자는 .py 이다.
test.py 파일에 다음 소스 코드를 입력하고, 아래와 같이 프로그램을 실행하면, Hello, World! 를 생성한다.

1) 서버에 .py 파일 확장자를 사용하여 파이썬 파일 생성

C:\Users\Your Name>test.py

2) test.py 파일에 입력

print ("Hello, World!")

3) 프로그램 실행(PATH 변수에 Python 인터프리터 경로가 설정되어 있다고 가정한다.)

$ python3 test.py

1-3. 스크립트 모드 프로그래밍 - 다른 방법

Python 스크립트를 실행하는 다른 방법이다.

2) test.py 파일에 입력

#!/usr/bin/python3

print ("Hello, World!")

3) 프로그램 실행(/usr/bin 디렉토리에 Python 인터프리터가 있다고 가정한다.)

$ chmod +x test.py     # This is to make file executable
$./test.py

2. 식별자

파이썬 식별자는 변수, 함수, 클래스, 모듈 또는 기타 객체를 식별하는 데 사용되는 이름이다.
식별자는 A에서 Z 또는 a에서 z로 시작하거나 밑줄 (_)로 시작하며, 이후에는 문자, 밑줄 및 숫자(0에서 9)가 따라온다.

파이썬은 식별자 내에서 @, $, %와 같은 구두점 문자를 허용하지 않는다.

파이썬은 대소문자를 구분하는 프로그래밍 언어다.
따라서 Manpower와 manpower는 파이썬에서 두 개의 다른 식별자다.

다음은 파이썬 식별자에 대한 명명 규칙이다.
1) 파이썬 클래스 이름은 대문자로 시작한다. 다른 모든 식별자는 소문자로 시작한다.
2) 식별자를 하나의 밑줄로 시작하면 해당 식별자는 개인 식별자임을 나타낸다.
3) 식별자를 두 개의 밑줄로 시작하면 해당 식별자는 강력한 개인 식별자임을 나타낸다.
4) 식별자가 두 개의 밑줄로 시작하고 끝난다면, 해당 식별자는 언어에서 정의한 특별한 이름이다.

3. 예약어 목록

이들은 예약어로 지정되어 있어서 상수나 변수, 또는 다른 식별자 이름으로 사용할 수 없다.
모든 파이썬 예약어는 소문자만을 포함한다.
and
as
assert
break
class
continue
def
del
elif
else
except
False
finally
for
from
global
if
import
in
is
lambda
None
nonlocal
not
or
pass
raise
return
True
try
while
with
yield

4. 들여쓰기

들여쓰기는 코드 라인의 처음에 있는 공백을 나타낸다.
다른 프로그래밍 언어에서 코드의 들여쓰기는 가독성을 위한 것일 뿐이지만, 파이썬에서는 들여쓰기가 매우 중요하다.
파이썬은 클래스 및 함수 정의 또는 흐름 제어를 위한 코드 블록을 나타내는 중괄호를 제공하지 않는다.

파이썬은 들여쓰기를 사용하여 코드 블록을 나타낸다.

#들여쓰기 예시

if 5 > 2:
  print("Five is greater than two!")

파이썬은 들여쓰기를 생략하면 오류가 발생한다.

#들여쓰기 Syntax Error 예시

if 5 > 2:
print("Five is greater than two!")

들여쓰기에 사용되는 공백의 개수는 프로그래머의 선택에 달려 있다.
가장 일반적인 사용은 네 개이지만, 최소한 하나 이상이어야 한다.

#들여쓰기 예시

if 5 > 2:
 print("Five is greater than two!") 
if 5 > 2:
        print("Five is greater than two!")

같은 코드 블록 내에서는 동일한 공백 수를 사용해야 한다.
그렇지 않으면 파이썬에서 오류가 발생한다.

#들여쓰기 Syntax Error 예시

if 5 > 2:
 print("Five is greater than two!")
        print("Five is greater than two!")

5. 멀티라인 구문

파이썬에서 일반적으로 문은 새 줄로 끝난다.
그러나 파이썬은 라인 연속 문자 (\)를 사용하여 한 줄이 계속될 것임을 나타낼 수 있다.

#멀티라인 구문 예시

total = item_one + \
        item_two + \
        item_three

[], {} 또는 () 괄호 안에 포함된 명령문에서는 줄 연속 문자를 사용할 필요가 없다.
예를 들어 다음 명령문은 Python에서 잘 작동한다.

#멀티라인 구문 예시

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

6. 문자열 인용

파이썬에서는 문자열 리터럴을 나타내기 위해 작은 따옴표('), 큰 따옴표("), 그리고 세 개의 작은 따옴표('''), 세 개의 큰 따옴표("""")를 모두 허용한다.
다만, 문자열을 시작하는 따옴표와 끝나는 따옴표가 동일한 유형이어야 한다.

세 개의 따옴표를 사용하면 여러 줄에 걸친 문자열을 나타낼 수 있다.
예를 들어, 다음은 모두 유효한 예시다.

#문자열 인용 예시

word = 'word'
print (word)

sentence = "This is a sentence."
print (sentence)

paragraph = """This is a paragraph. It is
 made up of multiple lines and sentences."""
print (paragraph)

7. 주석

파이썬 소스 코드에서 프로그래머가 읽을 수 있는 설명 또는 주석이다.
이들은 소스 코드를 인간이 이해하기 쉽게 만들기 위해 추가되며, 파이썬 인터프리터에 의해 무시된다.

대부분의 현대 언어와 마찬가지로 파이썬은 한 줄 주석과 여러 줄 주석을 지원한다.
파이썬 주석은 PHP, BASH 및 Perl 프로그래밍 언어에서 사용 가능한 주석과 매우 유사하다.

문자열 리터럴 내부에 있지 않은 해시 기호(#)는 주석을 시작한다.
# 다음의 모든 문자는 주석의 일부이며 물리적인 줄의 끝까지 이어진다.
이 주석은 파이썬 인터프리터에 의해 무시된다.

#주석 예시

# First comment
print ("Hello, World!") # Second comment

주석은 문장이나 표현식 뒤에 동일한 줄에 작성할 수 있다.

#문장 또는 표현식 뒤 주석 예시

name = "Madisetti" # This is again comment

여러 줄에 걸쳐 주석을 작성할 수 있다.

#여러 줄 주석 예시

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

아래의 세 개 따옴표로 묶인 문자열도 파이썬 인터프리터에 의해 무시되며 여러 줄 주석으로 사용할 수 있다.

#여러 줄 주석 예시

'''
This is a multiline
comment.
'''

8. 공백 라인

파이썬 프로그램에서 공백만 포함된 라인은 공백 라인으로 간주되며 파이썬은 완전히 무시한다.
대화형 인터프리터 세션에서 여러 줄의 문을 종료하려면 빈 물리적인 줄을 입력해야 한다.

9. 사용자의 입력 대기

다음 프로그램 라인은 사용자에게 "Enter 키를 눌러 종료"라는 메시지를 표시하고 사용자의 동작을 기다린다.

#사용자의 입력 대기 예시

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

여기서 \n\n은 실제 줄을 표시하기 전에 두 줄의 새 줄을 생성하는 데 사용된다.
사용자가 키를 누르면 프로그램이 종료된다.
이는 사용자가 응용 프로그램을 사용하는 동안 콘솔 창을 열어 둘 수 있는 좋은 트릭이다.

10. 세미콜론 - 한 줄에 멀티 구문

세미콜론 (;)을 사용하면 각각의 문장이 새로운 코드 블록을 시작하지 않는 한 한 줄에 여러 문장을 작성할 수 있다.
다음은 세미콜론을 사용한 샘플 코드 조각이다.

#세미콜론 예시

import sys; x = 'foo'; sys.stdout.write(x + '\n')

11. suites - 멀티 구문 그룹

파이썬에서는 하나의 코드 블록을 형성하는 개별 문장들의 그룹을 'suites'라고 한다.
if, while, def, class와 같은 복합 또는 복잡한 문장은 헤더 라인과 suite로 구성된다.

헤더 라인은 문장을 시작하며 (키워드와 함께), 콜론 (:)으로 끝나며 이어서 하나 이상의 라인이 온다.

#suites 예시

if expression :
   suite
elif expression :
   suite
else :
   suite

12. 명령줄 인수

파이썬에서는 많은 프로그램이 실행될 때 어떻게 실행되어야 하는지에 대한 기본 정보를 제공할 수 있다.
이를 위해 Python에서는 -h를 사용할 수 있다.

#명령줄 인수 예시

$ python3 -h
usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

참조 1. tutorialspoint, 「Python - Syntax」, tutorialspoint 사이트
참조 2. w3schools, 「Python Syntax」, w3schools 사이트

profile
펭귄을 좋아하고 언어를 공부하는 기획자

0개의 댓글