01-3 자주 나오는 파이썬 용어들

My Image

표현식과 문장

파이썬에서는 어떠한 값을 만들어

내는 간단한 코드를 표현식(expression)이라고 부릅니다.

음과 같이 숫자, 수식, 문자열 등과 같은 것을 의미합니다.

273

10 + 20 + 30 * 10

(Python Programming)

1
print(“Python Programming)
cs

표현식이 하나 이상 모이면 문장(statememnt)이 되는데,

파이썬은 한 줄이 하나의 문장이 됩니다. 그러면 +, -와 같은

기호가 아무것도 없이 있을 때는 표현식일까요?

+

이것은 표현식이 아닙니다, +,-는 그것 자체만으로 어떠한 값도 만들어

낼 수 없기 떄문입니다. 그렇게 때문에 표현식이라고 할 수 없음은 물론

문장이라고도 할 수 없습니다.

 

마지막으로, 문장이 모여서 프로그램(program)이 됩니다.

따라서 표현식이 모여 프로그램이 되는 것입니다.

 

키워드

키워드(keyword)는 특별한 의미기 부여된 단어로,

파이썬이 만들어질 때 이미 사용하겠다고

예약해 놓은 것입니다. 사용자가 키워드인지를

구분해야 하는 이유는 프로그래밍 언어에서 사용자가

이름을 정할 때 키워드를 사용하면 안 되기 때문입니다.

 

현재 파이썬은 다음과 같은 키워드를 사용합니다.

False None True and as assert
break class continue def del elif
else except finally for from global
if import in is lambda nonrlocal
not or pass raise return try
while with yield

파이썬은 대소문자를 구분하는 프로그래밍 언어로,

예들 들어 True는키워드이지만 true는 키워드가 아닙니다.

즉 True로는 이름을 정할 수도 없고 true로는 이름을 정할 수 있다는

 

것입니다. 갑자기 ‘이 낯선 단어를 다 외워야 하나’ 라고

당황스러웠을 것 같은데, 이 키워드는 앞으로 공부하다 보면 저절로

익힐 수 있으니 지금은 키워드가 무엇인지만 알고 넘어다고 됩니다.

 

혹시 이후에 사용하는 단어가 키워드인지 아닌지 꼭 확인해야 할 경우가

있을 것입니다. 그때는 다음과 같은 코드로 파이썬의 키워드를 확인해 보세요.

1
2
>>> import keyword
>>> print(keyword.kwlist)
cs

다음과 같이 출력합니다. 위의 표에서 봤듯이 모두 파이썬의 키워드입니다.

1
2
3
4
[‘False’‘None’‘True’‘and’‘as’‘assert’‘async’‘await’‘break’,
‘class’‘continue’‘def’‘del’‘elif’,‘else’‘except’‘finally’‘for’,
‘from’‘global’‘if’‘import’,‘in’,‘is’,‘lambda’,‘nonlocal’,‘not’,‘or’,‘pass’,
‘raise’,‘return’,‘try’,‘while’,‘with’,‘yield’]
cs

식별자

식별자(identifer)는 프로그래밍 언어에서 이름을 붙일 때 사용하는 단어입니다.

주로 변수 또는 함수 이름 등으로 사용됩니다.

 

식별자는 기본적으로 다음과 같은 규칙을 지켜 만들어야 합니다.

  • 키워드를 사용하면 안 됩니다.
  • 특수 문자는 언더 바(_)만 허용됩니다.
  • 숫자로 시작하면 안됩니다.
  • 공백을 포함할 수 없습니다.

위 규칙에 맞는 단어는 모두 식별자로 사용할 수 있습니다.

예를 들어, 다음 표에서 왼쪽의 단어는 모두 식별자로 사용할 수 있지만,

오른쪽의 단어는 모두 식별자로 사용할 수 없습니다.

식별자로 사용할 수 없는 이유를 꼭 확인 하세요.

사용 가능한 단어 사용 불가능한 단어
alpha break
alpha10
_alpha 273alpha
AlpHa
ALPHA has space

식별자를 만들 떄는 한글, 한자, 일본어아 같은 건 세계의

언어를 모두 사용할 수있지만, 알파뱃을 사용하는 것이 관례입니다.

또한 a, b처럼 의미 없는 단어보다 file, output처럼 의미 있는단어를

사용하는 것이 좋습니다.

 

스네이크 케이스와 캐멀 케이스

식별자 에는 공백을 사용할 수 없습니다.

다음과 같은 식별자의 의미를 쉽게 이해할 수 있나요?

itemlist loginstatus characterhp rotateangle

조금 생각해 보면 이해할 수 있겠지만, 공백이 없어서

재빠르게 이해하기 힘듭니다, 그래서 개발자들은

다음과 같은 두 가지 방법을 사용해

식별자를 쉽게 이해할 수 있도록 했습니다.

 

첫째, 단어 사이에 언더 바(_) 기호를 붙여 식별자를 만듭니다.

예를 들면 inemlist를 item_list로 쓰는 것입니다. 이러한 것을

스네이크 케이스(snake_case)라고 합니다.

 

둘째, 단어들의 첫 글자를 대문자로 만들어 식별자를 만듭니다.

예를 들면 itemlist를 ItemList로 쓰는 것입니다.

이러한 것을 캐멀 케이스(camelcase)라고 합니다.

다음 예를 살펴보면 이전보다 훨씬 쉽게 이해할 수 있습니다.

식별자에 공백이 없는 경우 단어 사이에_ 기호를 붙인 경우

(스네이크 케이스)

단어 첫 글자를 대문자로 만든 경우

(케멀 케이스)

itemlist item_list ItemList
loginstatus login_status LoginStatus
characterhp character_hp CharacterHp
rotateangle rotate_angle RotateAngle

참고로 스네이크 케이스는 글자들이 뱀처럼 연결된다고 해서,

캐멀 케이스는 글자들이 낙타 같다고 해서 붙은 이름입니다.

대부분의 프로그래밍 언어는 스네이크 케이스와 캐멀 케이스

둘 중의 하나만 사용하는 경우가 많은데, 파이썬은 두 가지를 모두 사용합니다.

 

식별자 구분하기

원래 캐멀 케이스는 ‘첫 번째 글자를 대문자로 적는다’와

‘첫 번째 글자를 소문자로 적는다’라는 캐멀 케이스는 사용하지 않습니다.

예를 들면 다음과 같습니다.

캐멀 케이스 유형 1: PrintHello → 파이썬에서 사용합니다.

캐멀 케이스 유명 2: printHello → 파이썬에서 사용하지 않습니다.

따라서 파이썬에서는 첫 번째 글자가 소문자라면 무조건 스네이크 케이스입니다.

예를 들어, 다음과 같은 식별자는 모두 스네이크 케이스로 적힌 단어입니다.

print input list str map filter

반대로 첫 번째 글자가 대문자라면 무조건 캐멀 케이스입니다.

예를 들어, 다음과 같은 식별자는 모두 캐멀 케이스로 적힌 단어입니다.

Animal Customer

식별자는 굉장히 많은 곳에 사용됩니다. 자세한 내용은 뒷부분에서 알아보겠지만,

식별자를 구분하는 방법을 살펴보고 넘어가겠습니다.

캐멀 케이스

(대문자로 시작)

클래스
식별자 뒤에 괄호가 있다 함수
스네이크 케이스

(소문자로 시작)

뒤에 괄호가 없다 변수

캐멀 케이스로 작성되어 있지면 클래스이며,

스네이크 케이스로 작성되어 있으면 함수 또는 변수 입니다.

그리고 뒤에 괄호가 붙어 있으면 함수이고, 괄호가 없으면 변수입니다.

단순한 구분이라 약간의 예외가 있지만, 대부분의 경우에는

이처럼 구분해도 문제 없습니다. 그럼 다음 코드에서 굵게 표시된 식별자가

클래스인지, 변수인지, 함수인지 구분해 보세요.

1
2
3
4
5
6
7
print()
list()
soup.select()
math.pi
math.e
class Animal:
BeautifulSoup()
cs

풀이하면 다음과 같습니다.

  1. 스네이크 케이스 뒤에 괄호가 붙어 있으므로 함수입니다.
  2. 스네이크 케이스 뒤에 괄호가 붙어 있으므로 함수입니다.
  3. 스네이크 케이스 뒤에 괄호가 붙어 있으므로 함수입니다.
  4. 스네이크 캐이스 뒤에 괄호가 없으므로 변수 입니다.
  5. 스네이크 케이스 뒤에 괄호가 없으므로 변수입니다.
  6. 캐멀 케이스이므로 클래스 입니다.
  7. 멀 케이스이므로 일단 클래스입니다. 그런데 뒤에 괄호가 있습니다.
  8. 클래스 생성자라고 부르는 특이한 형태의 함수입니다. 일단 BeautiflSoup이 라는 식별자는 클래스라는 것을 알 수 있습니다.

주석

주석(comment)은 프로그램의 진행에 전혀 영향을 주지 않는 코드로,

프로그램을 설명하기 위해 사용합니다. 파이썬은 다음과같이

주석으로 처리하고자 하는 부분 앞에 # 기호를 붙여 주석 처리합니다. #

이후의 글자는 주석 처리되어 프로그램에 어떠한  영항도 주지 않습니다.

1
2
3
>>> # 간단히 출력하는 예입니다.
>>> print(“Hello! Python Programming···”# 문자열을 출력합니다.
Hello! Python Programming···
cs

연산자와 자료

연산자는 스스로 값이 되는 것은 아니고 값과 값 사이에 무언가

기능을 적용할 때 사용하는 것을 말합니다. 즉 +,-와 같이 단독으로 쓰일

떄는 아무 의미를 갖지 못하지만, 아래와 같이 양쪽에 숫자가 있을 떄는 +는 더하기,

-는 뺴기와 같은 기능을 수행하는것을 말합니다.

1
2
3
4
>>> 1 + 1
2
>>> 10  10
0
cs

자료를 리터럴(literal)이라고도 하는데, 이 책에서는 쉽게 이해랄 수 있는

자료라는 단어로 설명을 시작하겠습니다. 자료란 아래 예시처럼 그게

숫자이든지 문자이든지 어떠한 ‘값’ 자채를 의미합니다.

 

출력: print()

현재 무엇을 하는지 알 수 있도록 메시지를 출력하는 기본 방법을

알아보겠습니다. 파이썬의 가장 기본적인 출력 방법은 print() 함수는 다음과

같이 함수는 다음과 같이 함수의 필요한에 출력하고 싶은 것을 나열해서 사용합니다.

1
print(출럭1, 출럭2, ···)
cs

print() 함수를 사용해서 간단한 출력을 실행해 보겠습니다.

하나만 출력하기

print 명령어 뒤의 괄호 안에 출력하고 싶은 내용을 적는데,

하나만 입력하고 출력해 보겠습니다.

1
2
3
4
>>> print(“Hello! Python Programming···!”)
Hello! Python Programming···!
>>> print(52)
273
cs

여러 개 출력하기

print 명령어 뒤에 출력하고 싶은 내용을 쉼표로 연결해서 여려 개 적어도 됩니다.

여기서는 숫자와 문자열의 혼합. 그리고 네 개의 문자열을 출력하는

예제를 실행해 보겠습니다.

1
2
3
4
>>> print(52273“Hello”)
52 273 Hello
>>> print(“안녕하세요.”“저의”“이름은”“카가리 아츠코입니다.”)
안녕하세요 저의 이름은 카가리 아츠코입니다.
cs

줄바꿈하기

print 명령의 괄호 안에 아무것도 입력하지 않으면 어떻게 될까요?

이런 경우에는 정말 아무것도 출력하지 않고 단순하게 줄바꿈을 합니다.

대화형 셀에 print()를 입력하면 아무것도 출력하지 않고 빈한 줄을 만든 후

프롬프트를 표시합니다.

1
2
3
>>> print()
>>>
cs

지금까지 프롬프트에 입력한 코드를 택스트 에디터에 입력하여 한꺼번에

그 결과를 살펴보겠습니다. 파이썬 IDLE 에디터든 비주얼 스튜디오 코드든

원하는 에디터에 다음과 같은 코드를 입력하고 원하는 폴더에 output.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 하나만 출력합니다.
print(“# 하나만 출력합니다.”)
print(“Hello! Python Programming···!”)
print()
# 여러 개를 출력합니다.
print(“# 여러 개를 출력합니다.”)
print(1020304050)
print(“안녕하세요.”“저의”“이름은”“카가리 아츠코입니다.”)
print()
# 아무것도 입력하지 않으면 단순하게 줄바꿈합니다.
print(“# 아무것도 출력하지 않습니다.”)
print(“— 확인 전용선 —“)
print()
print()
print(“— 확인 전용선 —“)
cs

먼저, 파이썬IDLE 에디터에서의 실행 방법입니다. [Run – [Run Module] ] 메뉴를 선택합니다.

명령 프롬프트가 실행되면 다음과 같이 python 명령어를 사용해서 해당 파일을

실행해 주세요. 참고로 특정 폴더에서 실행된 명령 프롬프트는 종료하지 말고, 계속해서

프로그램을 실행할 때 사용하면 됩니다. 비주얼 스튜디오 코드도 마찬가지로

종료하지 않고 계속 사용해도 됩니다.

1
> python output.py
cs

프로그램을 실행하면 다음과 같이 출력됩니다.

괄호 안에 쉽표로 구분해서 넣은 것들은 공백으로 구분되어 출력됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 하나만 출력합니다.
Hello! Python Programming···!
# 여러 개를 출력합니다.
10 20 30 40 50
안녕하세요 저의 이름은 카가리 아츠코입니다.
# 아무것도 출력하지 하지않습니다.
 확인 전용선 
 확인 전용선 
cs

출력할 때 사용한 print()는 뒤에 괄호가 있으므로 함수(function)라고 부름니다.

함수의 괄호 내부에는 문자열 등의 자료들 입력합니다. 자료는’이떤 상태를 가지고 있는 것’,

함수는 ‘어떤 처리를 하는것’이라고 말할 수 있습니다.