파이썬 소개 및 자료형(숫자와 문자열)
1. 파이썬 소개
어린왕자 첫 페이지를 기억하시나요? 처음에 모자라고 생각한 그림이 나오죠. 그리고 다음 페이지로 넘겼을 때 모자가 아니라 보아구렁이가 코끼리를 삼킨 것임을 알았던 기억이 있을 거예요.
갑자기 왠 어린왕자 얘기를 하냐구요? 네. 눈치를 채셨겠지만 보아구렁이가 python입니다. Python 언어의 철학이 다양한 형태의 프로그래밍을 할 수 있게 여러 기술을 통합하여 사용할 수 있다는 생각에서 언어 이름을 작명한 것이죠. 표면적으로 파이썬을 만든 귀도 반 로섬이 좋아하는 코미디 [Monty Python’s Flying Circus]에서 따 온 것으로 얘기하고 있어요.
Python은 생각보다 오래 전에 만들어진 언어예요. 1991년에 만들었으니 C++보다는 나중에 나왔지만 Java 보다 먼저 나온 것이죠. 초기에는 아는 이들만 사용하던 것이 이제는 많은 이들이 사용하고 있네요. 필자는 2000년에 IBCS(지능형 대역폭 제어 시스템)를 만들 때 처음 접했는데 15년 가까이 잊고 지내다가 2015년 이후에 다시 사용하고 있네요.'
계산
파이썬은 단순 계산을 할 수 있어요.
Colab이나 쥬피터 노트북 혹은 대화 창에서 간단한 실습을 할 수 있어요.
파이참이나 Visual Studio Code 등을 설치하였다면 대화 창을 사용하여 실습하시고 여기에서는 Colab 환경에서 실습하고 있습니다.
[In]
2+3
[Out]
5
[In]
2-3
[Out]
-1
[In]
2*3
[Out]
6
변수
프로그래밍에서 기억해야 할 데이터가 있을 때 변수를 사용할 수 있어요.
대부분의 프로그래밍 언어에서는 변수를 선언할 때 형식을 지정하여 선언합니다.
하지만 파이썬에서는 형식을 지정할 필요가 없습니다.
[In]
a = 10
a = a+2
a
[Out]
12
[In]
a = a*2
a
[Out]
24
주석
주석은 코드 내용을 이해하기 위해 작성하는 구문입니다.
주석은 프로그램 동작에는 아무런 영향을 주지 않으며 개발자가 보고 어떠한 의미지 파악하기 쉽게 설명을 기재하는 문법입니다.
파이썬에서는 # 뒤에 있는 내용을 주석으로 간주합니다.
[In]
#주석입니다.
b = a+2 #b에 a+2를 설정
출력문
특정 변수나 계산한 결과를 출력할 때 print 함수를 사용할 수 있어요.
print함수에 출력할 값이나 변수 및 수식 등을 넣을 수가 있어요.
다음은 변수 a를 출력하는 출력문입니다.
[In]
print(a)
[Out]
24
다음은 변수 a와 b, 값 23을 출력하는 출력문입니다.
[In]
print(a,b,23)
[Out]
24 26 23
문자열도 출력할 수 있겠죠.
[In]
print("hello")
[Out]
hello
print 함수는 자동으로 개행(다음 라인으로 이동)시켜 줍니다.
참고: 내부적으로 개행도 하나의 문자로 취급하며 ‘\n’ 문자를 개행 문자라고 말합니다.
[In]
print("python")
print(12)
print("야호")
[Out]
python
12
야호
print함수에 아무런 인자를 전달하지 않고 호출하면 단순 개행을 수행합니다.
[In]
print("123")
print()
print()
print("야호")
[Out]
123
야호
이상으로 파이썬의 시작하면서 간단한 실습을 해 보았어요.
2. 자료형
정수
파이썬에서는 다양한 진수 형태로 정수를 표현할 수 있어요.
디폴트 표현은 10진수 정수입니다.
숫자 0과 알파벳 o를 앞에 붙이면 8진수 표현입니다. 예를 들어 0o12는 8진수 12를 의미합니다.
숫자 0과 알파벳 x를 앞에 붙이면 16진수 표현입니다. 예를 들어 0x12는 16진수 12를 의미합니다.
[In]
print(12,0o12,0x12)
[Out]
12 10 18
10진수, 8진수, 16진수 표현에 관계없이 정수 형식은 int입니다.
파이썬에서 특정 표현의 형식을 알고자 할 때 type(표현)을 사용합니다.
[In]
print(type(12),type(0o12),type(0x12))
[Out]
<class 'int'> <class 'int'> <class 'int'>
실수
실수 표현은 부동소수점 표현과 지수 표현을 사용할 수 있습니다.
부동소수점 표현은 우리가 일상에서 실수를 표현하는 방식입니다. 예를 들어 3.14와 같은 표현입니다.
지수 표현은 아주 큰 수나 소수점 이하 자리수가 너무 많을 때 지수를 이용하는 표현입니다. 예를 들어 천억을 표현할 때 1.0e11로 표현할 수 있습니다. 이는 1.0 곱하기 10의 11승이라는 의미입니다.
[In]
print(3.14 , 1.234e6)
[Out]
3.14 1234000.0
파이썬에서 실수의 기본 형식은 float입니다.
[In]
print(type(3.14) , type(1.234e6))
[Out]
<class 'float'> <class 'float'>
복소수
파이썬에서는 복소수도 지원합니다. 허수부를 나타낼 때 j를 뒤에 붙입니다. 예를 들어 실수부 2와 허수부 3인 복소수는 2+3j로 표현합니다.
[In]
print(2+3j)
[Out]
(2+3j)
복소수 변수에서 실수부는 real, 허수부는 imag 멤버입니다.
[In]
cv = 2+3j
print("실수부:",cv.real, "허수부:",cv.imag)
[Out]
실수부: 2.0 허수부: 3.0
숫자 관련 연산자
사칙연산은 +, -, *, / 입니다.
[In]
print("8+5 = ", 8+5)
print("8-5 = ", 8-5)
print("8*5 = ", 8*5)
print("8/5 = ", 8/5)
[Out]
실수부: 2.0 허수부: 3.0
몫을 계산할 때는 //를 사용하고 나머지 계산에는 %를 사용합니다.
[In]
print("8//5 = ", 8//5) #몫
print("8%5 = ", 8%5) #나머지
[Out]
8//5 = 1
8%5 = 3
거듭 제곱을 나타낼 때는 **를 사용합니다.
[In]
print("2**3 = ", 2**3)
[Out]
2**3 = 8
3. 자료형 - 문자열
문자열 표현
파이썬에서는 문자열을 표현할 때 단일 콤마나 이중 콤마, 삼중 콤마로 감싸서 표현할 수 있습니다.
[In]
print('abc')
print("ABC")
print("""여러 줄로 표현한
문자열입니다.""")
[Out]
abc
ABC
여러 줄로 표현한
문자열입니다.
아스키(ASCII,American Standard Code for Information Interchange) 코드 값을 알고자 한다면 ord 함수를 사용하세요.
[In]
print("a:",ord('a'),"A:",ord('A'),"0:",ord('0'))
[Out]
a: 97 A: 65 0: 48
chr 함수에 아스키 코드값을 전달하면 문자로 변환할 수 있어요.
[In]
print(chr(97),chr(65),chr(48))
[Out]
a A 0
이스케이프 문자
이스케이프 문자는 백슬러시를 사용하여 특수 문자임을 알려줍니다.
이스케이프 문자는 이미 정해져 있습니다.
| 이스케이프 문자 | 설명 |
| \b | back space |
| \t | ab |
| \n | (new line |
| \f | form feed |
| \r | carriage return |
| \ | back slash |
| \’ | single quote |
| \” | double quote |
\t 표현은 탭을 나타냅니다. \n 표현은 개행을 나타탭니다.
[In]
print("\thello\nyahoo\tkorea")
[Out]
hello
yahoo korea
단일 따옴표를 나타낼 때는 \’로 표현합니다.
[In]
print('I\'m a boy.')
[Out]
I'm a boy.
만약 문자열을 이중 따옴표로 감싸서 표현하면 ‘ 표현은 단일 따옴표로 인식합니다.
[In]
print("I'm a boy.")
[Out]
I'm a boy.
이중 따옴표는 \”로 표현합니다.
[In]
print("그가 \"안녕\"이라고 말했다.")
[Out]
그가 "안녕"이라고 말했다.
만약 문자열을 단일 따옴표로 감싸서 표현하면 ” 표현은 이중 따옴표로 인식합니다.
[In]
print('그가"안녕"이라고 말했다.')
[Out]
그가 "안녕"이라고 말했다.
여러 줄 문자열
여러 줄로 표현한 문자열은 이중 따옴표 세 개를 앞 뒤로 적어줍니다.
[In]
azalea = """
나보기가 역겨워
가실 때에는
말없이 고이 보내
드리오리다.
"""
print(azalea)
[Out]
나보기가 역겨워
가실 때에는
말없이 고이 보내
드리오리다.
만약 여러 줄 문자열을 표현할 때 처음과 마지막 부분에 백슬러시를 사용하면 앞 뒤 개행이 생기지 않습니다.
[In]
azalea2 = """\
나보기가 역겨워
가실 때에는
말없이 고이 보내
드리오리다.\
"""
print(azalea2)
[Out]
나보기가 역겨워
가실 때에는
말없이 고이 보내
드리오리다.