< 수치형 >
> 정수형 (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, " 출동")
손오공 출동
저팔계 출동
사오정 출동
삼장법사 출동
* 튜플은 리스트와 거의 비슷하되 ( ) 괄호로 멤버를 나열하고, 실행 중에 값을 변경할수 없다는 점이 다르다.
리스트는 요소를 삽입, 삭제, 추가할 수 있는데 비해
튜플은 한번 정의한 값을 읽을 수만 있어 내부 구조가 단순하고 빠르다.
'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 |