728x90
반응형
Sequence Data Type
- memership 연산: in 키워드 사용
- size 함수: len(seq)
- slicing 속성: seq[:-1]
- iterability: 반복문에 있는 데이터를 순회할 수 있음
- 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음
문자열(string)
- str, sequence of character
- ''(작은 따옴표) 또는 ""(큰 따옴표)를 이용하여 문자 자료형임을 표현
Unicode 문자열
- Unicode: 전 세계 언어의 문자를 정의하기 위한 국제 표준 코드
- 공백, 특수문자, 수학 및 기타 분야의 기호들도 포함
- 문자열 앞에 u를 붙이면 유니코드 문자열을 만들 수 있다.
print(u'안녕\u0020파이썬!)
>> 안녕 파이썬!
Casting(형 변환)
- 데이터를 다른 자료형으로 변환
print(float(3))
print(int(3.0))
print(str(3))
print(hex(12))
print(oct(10))
print(bin(10))
>>
3.0
3
3
0xc
0o12
0b1010
String 연산
- 덧셈: 두 문자열의 연결
- 곱셈: 문자열의 반복
- string 간 연산만 가능
인덱싱(Indexing)
- 순서가 있는 변수의 특정 위치에 접근하는 방식
- 데이터[시작 위치:끝 위치:간격] : 인덱스는 0부터 시작, 간격이 1이면 생략 가능
- 시작 위치부터 끝 위치 -1까지의 데이터를 접근
- 마이너스 인덱싱: 처음 위치를 0으로 두고 역으로 접근
str_6 = 'slicing example string'
print(str_6[8:14])
>> example
print(str_6[:3]) # 시작위치가 없는 경우 처음부터
>> sli
print(str_6[5:]) # 끝 위치가 없으면 끝까지
>> ng example string
print(str_6[:]) # 시작위치, 끝위치가 없으면 전체
>> slicing example string
print(str_6[-1])
>> g
print(str_6[-4:])
>> ring
print(str_6[:-2])
>> slicing example stri
print(str_6[::-1]) # string 역순
>> gnirts elpmaxe gnicils
String Method
- 대소문자 변환: lower(), upper()
- 문자 개수 카운팅: count()
- 문자의 위치 찾기: find(), index()
- find(): query가 문자열에 없으면 -1 반환
- index(): query가 문자열에 없으면 error(ValueError) 발생
- 문자열 바꾸기: replace()
- 문자열 나누기/활용하기: split()
- 특정 문자를 기준으로 문자열을 분리 후 리스트 반환
- 생략 시 기준은 띄어쓰기
- 문자열 삽입하기: join()
- 각 문자 사이에 특정 문자열 삽입
slayer = ["버피", "앤", "아스틴"]
print(" ".join(slayer))
>> 버피 앤 아스틴
print("".join(reversed(slayer)))
>> 아스틴앤버피
- dir(str): string method 목록
format()
문자열에 변수를 추가하거나 형식화하는데 사용
고급 형식지정 문자열 | 의미 |
{:>10} | 전체 10칸을 차지하며 공백을 앞에 붙임 (문자열을 오른쪽에 붙여서 출력) |
{:<10} | 전체 10칸을 차지하며 공백을 뒤에 붙임 (문자열을 왼쪽에 붙여서 출력) |
{:^10} | 전체 10칸을 차지하며 공백을 앞뒤에 붙임 (문자열을 중앙에 붙여서 출력) |
{:.5f} | 부동소수점의 소수점 아래 5자리까지 표시 |
{:,} | 천단위 쉼표 표시 |
"{0} {1}".format("안녕", "파이썬!")
>> 안녕, 파이썬!
"이름: {who}, 나이: {age}".format(who="제임스", age=24)
>> 이름: 제임스, 나이: 24
# 파이썬 3.1부터 필드 이름이나 인덱스를 생략할 수 있다.
"{} {} {}".format("파이썬", "자료구조", "알고리즘")
>> 파이썬 자료구조 알고리즘
# 지정자
# s: 문자열(str) 형식, r: 표현(repr), a: 아스키(ascii) 코드 형식
import decimal
"{0} {0!s} {0!r} {0!a}".format(decimal.Decimal("99.9"))
>> 99.9 99.9 Decimal('99.9') Decimal('99.9')
f-strings
- 파이썬 3.6부터 사용 가능
- 기존의 %나 .format 방식에 비해 간결하고 직관적이며 속도가 빠름
- https://www.python.org/dev/peps/pep-0498/
name = "프레드"
f"그의 이름은 {name!r}입니다.
>> 그의 이름은 '프레드'입니다.
f"그의 이름은 {repr(name)}입니다. #repr()은 !r과 같다
>> 그의 이름은 '프레드'입니다.
import decimal
width = 10
precision = 4
value = decimal.Decimal("12.34567")
f"결과: {value:{width}.{precision}}" #중첩 필드 사용
>> 결과: 12.35
from datetime import datetime
today = datetime(year=2021, month=2, day=22)
f"{today: %B %d, %Y}" # 날짜 포맷 지정 지정자(specifier) 사용
>> February 22, 2021
number = 1024
f"{number:#0x}" # 정수 포맷 지정자 사용(16진수 표현)
>> 0x400
문자열 언패킹
**: 문자열 매핑 언패킹 연산자
# locals(): 현재 scope에 있는 local variable를 딕셔너리로 반환
hero = "버피"
number = 999
"{number}: {hero}".format(**locals())
>> 999: 버피
※ unpacking: collection의 요소를 여러 변수에 나누어 담는 것
References
728x90
반응형
'Python > Data Type' 카테고리의 다른 글
[Python] Sequence Data Type - tuple (0) | 2022.04.25 |
---|---|
[Python] Collection Data Type - dictionary (0) | 2021.03.09 |
[Python] Numeric Data Type (0) | 2021.03.09 |
[Python] Boolean Data Type (0) | 2021.03.09 |
[Python] Python Data Type (0) | 2021.02.22 |