728x90
반응형

< 수치형 >

 

> 정수형 (int = Intiger)

정수형은 가장 간단한 수치형이며 가격, 나이, 점수 등 일상생활에서 늘상 사용하는 수이다.

부호가 있어 음수는 표현할 수 있지만 소수점 이하의 정밀한 값은 표현할 수 없다.

98
1200
-80
>>> a = 1234567890
>>> print(a)
1234567890

사람의 손가락이 10개이기 때문에 일상생활에서는 흔히 10진수를 사용한다.

그러나 컴퓨터는 2진수로 숫자를 기억하며 그래서 기계적인 값을 표기할 때는 2진수 4자리를 묶어 표현하는 16진수가 편리하다.

 

# intradix

print(hex(26))
print(oct(26))
print(bin(13))

0x1a
0o32
0b1101

* 10진수 이외의 진법으로 정수를 출력하려면 hex, oct, bin 함수를 사용한다. 이 함수들은 10진수를 접두까지 붙여 문자열 형태로 변환한다.

 

> 실수형 (float = around)

 실수형은 소수점 이하의 정밀한 값을 표현하며 부호가 있어 음수도 표현할 수 있다.

67.5
89.75
-3.1415

* 파이썬은 모든언어가 채택하고 있는 국제 표준의 부동 소수점 포맷을 준수하여 실수 하나를 8바이트에 저장한다.

 

> 복소수형

복소수는 제곱해서 음수가 되는 가상의 숫자이다.

실제로 존재하지 않는 허수여서 실생활에서 쓸 일은 없지만 과학 분야에서는 중간 과정 계산을 위해 종종 사용된다.

실수부 + 허수부j
>>> a = 1 + 2j
>>> b = 3 + 4j
>>> print(a + b)
(4+6j)

< 문자열 >

 

> 문자열 (str = string)

문자열은 일련의 문자를 따옴표로 감싸 나열해 놓은 것이다.

"Welcome to Korea"
>>> a = "Korea 서울 1234"
>>> print(a)
Korea 서울 1234

* 파이썬은 세계의 모든 문자를 포함하는 유니코드를 지원하여 영문, 기호, 숫자는 물론이고 한글이나 한자도 포함할 수 있다.

 

> 확장열 (Escape sequence)

문자열 안에 큰따옴표와 작은따옴표가 동시에 있을 경우에는 어떤 따옴표로 감싸든 문제가 발생한다.

"I Say "Help" to you"

따옴표 외에 개행이나 탭 등 문자열 안에 담기 힘든 문자가 있다.

이런 특수한 문자는 \ 문자 뒤에 특별한 기호로 표기하는데 이를 확장열(Escape Sequence)이라고 한다.

확장열 설명
\n 개행
\t
\" 큰따옴표
\' 작은따옴표
\\ \문자

 

"I Say \"Help\" to you"

* 확장열 따옴표 입력 (\")

 

>>> a = "first\nsecond"
>>> print(a)

first
second

* 확장열 개행 (\n)

 

확장열 표현이 많으면 입력이 귀찮고 읽기도 불편하다.

\ 는 파일 경로를 표시할 때 주로 사용되는데 그냥 쓰면 문자와 함께 확장열로 해석된다.

>>> print("c:\temp\new.txt")

c : emp
ew.txt

* \t 는 탭, \n은 개행으로 해석되어 출력결과가 이상하다.

경로를 그대로 출력하려면 모든 \ 를 \\ 로 두번 써야하는데 성가신 일이다.

>>> print(r"c:temp\new.txt")

c:\temp\new.txt

* r 접두가 있으면 문자열 내의 확장열을 적용하지 않고 있는 그대로(Raw) 기억한다.

파일의 경로 문자열을 표기할 때는 이 방법이 편리하다.

 

> 긴 문자열

문자열은 보통 짤막하지만 HTML 문서나 SQL 질의처럼 긴 문자열은 한 줄에 쓰기 어렵다.

s = "엄청나게 길고 복잡해서 한 줄에 다 쓸 수 없는
문자열도 가끔 있다."	# 따옴표 이후 개행 금지

* 따옴표를 열었으면 그 줄에서 닫아야 하며 중간에 개행되면 안된다.

 

# long string_1

s = """강나루 건너서 밑발 길을 구름에 달 가듯이 가는 나그네
길은 외줄기 남도 삼백리 술 익는 마을마다 타는 저녁놀
구름에 달 가듯이 가는 나그네"""

print(s)

강나루 건너서 밑발 길을 구름에 달 가듯이 가는 나그네
길은 외줄기 남도 삼백리 술 익는 마을마다 타는 저녁놀
구름에 달 가듯이 가는 나그네

* 이런 긴 문자열을 정의할 때는 따옴표 세개를 연거푸 쓴다. (""")_ 하나의 문자열로 정의

 

# long string_2

s = "강나루 건너서 밑발 길을 구름에 달 가듯이 가는 나그네\
길은 외줄기 남도 삼백리 술 익는 마을마다 타는 저녁놀 \
구름에 달 가듯이 가는 나그네"

print(s)

강나루 건너서 밑발 길을 구름에 달 가듯이 가는 나그네길은 외줄기 남도 삼백리 술 익는 마
을마다 타는 저녁놀 구름에 달 가듯이 가는 나그네

* 삼겹 따옴표를 쓰는 대신 행 계속 문자인 \ 를 사용하는 방법도 있다.

행 끝에 \ 를 붙이면 이 줄이 아직 끝나지 않고 다음 줄에 계속 이어진다는 뜻이며 다음 줄까지 하나로 합친다.

 

# line continue

totalsec = 365 * 24 * \
    60 * 60

print(totalsec)

31536000

* 코드가 너무 길어진다 싶으면 행 끝에 \ 를 두고 다음행에 식을 계속 쓴다.

 

# string merge

s = "korea" "japan" "2002"

print(s)

koreajapan2002

* 콤마로 구분하지 않고 짧은 문자열을 쭉 나열하면 하나로 합쳐진다.

 

# multi line

s = ("korea"
     "japan"
     "2002")

print(s)

koreajapan2002

* 여러 개의 문자열을 개행해서 긴 문자열로 만들고 싶다면 전체를 괄호로 감싸야 한다.

 

# ord char

print(ord('a'))
print(chr(98))

for c in range(ord('A'), ord('Z') + 1):
    print(chr(c), end='')

97
b
ABCDEFGHIJKLMNOPQRSTUVWXYZ

* 파이썬은 문자열 타입만 제공하며 다른 언어에 있는 문자형은 별도로 없다.

길이 1의 문자열로 문자형을 표현한다.

문자는 내부적으로 문자 코드로 저장되는데 ord 함수는 문자의 코드를 조사하고 chr 함수는 코드로부터 문자를 구한다.

 


< 그 외의 타입 >

 

> 진위형

진위형은 참(True) 또는 거짓(False) 딱 두가지 상태만을 표현하는 타입이다.

>>> a = 5
>>> b = a == 5
>>> print(b)

True

* 변수의 값을 비교하는 연산자는 비교 결과를 진위형으로 리턴한다.

 

a = 5

if a == 5:
    print("a는 5입니다")

a는 5입니다

* 진위형을 변수에 대입하는 경우는 별로 없으며 주로 if 나 while 같은 조건 분기문에 사용된다.

 

a = None
print(a)

None

* 파이썬의 상수 중 None은 아무것도 아니라는 아주 특수한 의미로 사용된다. 변수에 이 값을 대입한 후 출력하면 None이 출력된다.

 

> 컬렉션 소개

- 단순 변수 : 정수, 실수, 문자열과 같은 단 하나의 값만 저장하는 변수

- 컬렉션 : 여러개의 값을 모아서 저장, 다른 언어의 배열이나 구조체와 유사

 

컬렉션의 대표적인 예는 리스트이다.

리스트는 여러 개의 값을 하나의 변수에 순서대로 모아 놓은 것이며 [ ] 괄호 안에 콤마로 구분하여 나열한다.

개수에 상관없이 얼마든지 많은 값을 하나의 리스트에 저장할 수 있다.

member = ['손오공', '저팔계', '사오정', '삼장법사']
print(member)

['손오공', '저팔계', '사오정', '삼장법사']

* print 명령으로 리스트 변수를 출력하면 포함된 모든 값이 [ ] 괄호로 묶여 출력된다.

 

member  손오공 저팔계 사오정 삼장법사

* member 라는 이름의 리스트에 4개의 문자열을 저장했다. 정수나 실수를 모아 둘 수도 있다.

메모리상에는 요소가 순서대로 저장된다.

 

# list dump

member = ['손오공', '저팔계', '사오정', '삼장법사']
for m in member:
    print(m, " 출동")

손오공  출동
저팔계  출동
사오정  출동
삼장법사  출동

* 여러가지 값을 하나의 변수에 모아 두면 반복 처리할 때 편리하다. for 문은 리스트의 요소를 하나씩 꺼내 순회하는 반복 처리물이다.

 

# tuple dump

member = ('손오공', '저팔계', '사오정', '삼장법사')

for m in member:
    print(m, " 출동")

손오공  출동
저팔계  출동
사오정  출동
삼장법사  출동

* 튜플은 리스트와 거의 비슷하되 ( ) 괄호로 멤버를 나열하고, 실행 중에 값을 변경할수 없다는 점이 다르다.

 

리스트는 요소를 삽입, 삭제, 추가할 수 있는데 비해

튜플은 한번 정의한 값을 읽을 수만 있어 내부 구조가 단순하고 빠르다.

728x90
반응형

'Language > Python' 카테고리의 다른 글

Python_05. Conditional Statement  (0) 2022.07.27
Python_04. Operator  (0) 2022.07.27
Python_ 02. Variable  (0) 2022.07.25
Python_ 01.Python  (0) 2022.07.25
How to install "Python"  (0) 2022.07.22

+ Recent posts