일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Data Structure
- vector 비교
- :
- 데이터 입출력
- 정규표현식
- 함수
- seq
- R 개요
- 연습문제
- vector 연산
- 문자열처리
- 스크래핑
- TXT
- length
- R 기초
- REP
- factor
- stringr
- scraping
- Names
- 데이터 타입의 우선순위
- CSV
- c()
- data frame
- ROTTEN TOMATOES
- 변수 선언
- 네이버 영화 댓글
- working directory
- Crawling
- 데이터 타입
- Today
- Total
study blog
Python 내장 데이터 타입 - numeric, text, bool 본문
Python Built-in Type (내장 데이터 타입)
- Numeric 타입: int(정수), float(double)(실수), complex(복소수)
- Text Sequence 타입: 문자열(str)
- Bool 타입: True, False (bool)
1. Numeric 타입
- int(정수)
- float(실수)
- complex(복소수)
a = 123 # 정수
b = 3.14159265358979 # 실수
c = 3.14E10 # 3.14* 10^10 (실수)(지수표현-> 작거나 큰 수 표현할 때)
d = 1+2j # 복소수
e = 0o37 # 0o : 8진수
f = 0xFF # 16진수
# type() : data type을 알려줌
print(type(a))
# / : 나누기
div = 3/4 # 0.75 (3.x버전에서는. 만약 2.x버전이라면 0으로 나옴- 정수*정수 연산이므로)
print(type(div))
# ** : 지수표현 (승)
result = 3 ** 4
print(result)
# % : 나머지 연산. R에서의 %%와 같음
result = 100%3 # 1
print(result)
# // : 몫
result = 10//3 #3
print(result)
2. Text Sequence 타입(str)
- 우리가 일반적으로 말하는 문자열
1) 문자열 생성 방법(4가지)
① "", '' : 한줄짜리 문자열
a = "Hello"
b = 'Hello'
② """ """, ''' ''' : 여러줄 문자열 생성
c = """이것은
소리없는
아우성""" # 여러줄 주석인 """ """을 변수에 저장하면 문자열이 됨.
# 해당 문자열은 줄바꿈을 포함할 수 있음
d = '''이것은
소리없는
아우성''' # """ """과 동일하게 사용 가능
2) 문자열 연산, indexing, slicing
① + : 문자열 연결
first = "이것은"
last = "소리없는 아우성!"
result = first + last # 연산자 overloading
print(result)
② * : 문자열의 곱
text="python"
print(text*3) # text 3번 반복
③ indexing ( 0부터 시작 ) - 1개를 지칭
a = "This is a sample text! show me the money!" # 문자열을 벡터라고 생각
print(a[4]) # 공백
print(a[8]) # a
print(a[-1]) # -하면 뒤에서부터 시작. but 1부터 시작. -0은 없음
④ slicing ( 일부분을 발췌/대체 ) - 여러개를 지칭
a = "This is a sample text! show me the money!"
print(a[0:3]) # 0:2까지. 시작은 inclusive, 마지막은 exclusive
print(a[:4]) # 0:3까지 (아무것도 없으면 처음부터라는 뜻)
print(a[4:]) # 마지막 부분이 없으면 끝까지.
print(a[:]) # a의 처음부터 끝까지
3) in, not in 연산자 (R에서의 %in%) → 논리연산
a = "this is a Sample Text";
print("this" in a) # True (TRUE X)
print("this" not in a) # False
print("sample" in a) # False -> 대소문자 구별
print("sample" in a.lower()) # True: a를 다 소문자로 바꾼 것에 sample이 들어있는지
4) 문자열 formatting
# 방식 1 → 너무 복잡
apple = 10
a = "사과가 "+str(apple)+"개 있어요!" # 문자열+숫자 연산 X -> 같은 종류로 바꿔줘야함
print(a)
# 방식2 - double
apple = 10
a = "사과가 %d개 있어요!!" %apple # %d : 10진수를 의미. 숫자가 박힐 것 이라는 의미. %100 이렇게 써도 됨
print(a)
# 방식2 - double (변수 2개일 때)
apple = 10
a = "사과가 %d개, 바나나가 %d개 있어요!!" %(apple,5)
print(a)
# 방식2 - float
a = "원주율은 %f입니다." %3.141592 # f:float (실수를 의미)
print(a)
# 방식2 - string
a = "이것은 소리없는 %s!!" %"아우성"
print(a)
a = "이것은 소리없는 %10s!!" %"아우성" # 문자열을 표현하는 데 문자열이 몇칸이든 상관없이 10칸 잡고, 오른쪽 정렬
print(a)
a = "이것은 소리없는 %-10s!!" %"아우성" # 왼쪽 정렬
print(a)
a = "원주율은 %0.4f" %3.141592 # 반올림해서 소수점 4번째 자리까지 표현해라. (5번째 자리에서 반올림)
print(a)
a = "원주율은 %10.4f" %3.141592 # 10은 아까처럼 f 자리에 10칸 할당. 오른쪽 정렬
print(a)
5) 문자열 함수
① len() : 문자열 길이
a = "cocacola"
result = len(a) # R에서의 length
print(result)
② x.count("a") : x에 있는 a의 개수를 세라.
result = a.count("co")
print(result)
③ x.find("a") : x에 있는 a의 위치를 찾아라.
result = a.find("la") # 찾은 곳의 index 번호를 알려줌/ 가장 앞의 결과만 나옴
print(result)
④ x.join(b) : b 사이사이에 x를 끼워넣는다.
a = ":"
b="abcd"
result = a.join(b) # 두번째 있는거 사이사이에 첫번째 값을 밀어넣음.
print(result)
a = ["이것은","소리없는","아우성"] # 이걸 한 칸씩 공백을 두고 붙이고 싶다.
b = " "
result= b.join(a); print(result)
⑤ x.upper() : 문자열 대문자로
a = " hoBBy "
print(a.upper())
⑥ x.lower() : 문자열 소문자로
print(a.lower())
⑦ x.strip() : 앞뒤 공백 삭제
print(a.strip()) # 중간의 공백은 삭제 X
⑧ format() : 출력 양식 설정
a = "나는 사과를 {0}개 가지고 있어요!".format("Three") # 문자열도 가능. 어디에 나올 건지만 명시해줌.
print(a)
a = "나는 사과를 {0}개, 바나나를 {1}개 가지고 있어요!".format(3,5)
print(a)
a = "나는 사과를 {}개, 바나나를 {}개 가지고 있어요!".format(3,5) # 숫자를 안 써도 순서대로 mapping됨
a = "사과를 {var1}개, 바나나를 {var2}개 가지고 있어요!".format(var1=6,var2=12) # 이렇게 쓸 수도 있으나 잘 사용 X
'Python > 2. built in types' 카테고리의 다른 글
Python 자료구조 3 - set (0) | 2020.01.26 |
---|---|
Python 자료구조 2 - Mapping type(dict) (0) | 2020.01.26 |
Python 자료구조 1 - Sequence type(list, tuple, range) (0) | 2020.01.23 |