01. Python Basics - Data Type(자료형), str(문자열)
Data Type?
Data Type(자료형)은 이 객체가 어떤 형태인지 알려주는 것, 파이썬에서는 변수를 선언할ㄷ 때 자동적으로 데이터 타입이 구분되지만 기본적으로 프로그래밍할 때는 자료형을 구분해주는 것이 중요하다.
Variables can store data of different types, and different types ca do different things.
Python has the following data types built-in by default, in these categories:
Type | Data Type |
---|---|
Text Type | str(문자열) |
Numeric Types | int(정수), float(소수), complex(복소수) |
Sequence Types | list(리스트), tuple(튜플), range |
Mapping Type | dict(딕셔너리) |
Set Types | set(집합), frozenset |
Boolean Type | bool(불리언) |
Binary Types | bytes, bytearray, memoryview |
1. Text Type: str(문자열)
- 문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합
- Strings in python are surrounded by either single quotation marks, or double quotation marks
1-(1) 문자열 선언
# 문자열 만들기 1: 큰 따옴표(")
print("Hello world") # Hello world
#문자열 만들기 2: 작은 따옴표(')
print('Hello world') # Hello world
#문자열 만들기 3: 큰 따옴표 3번
print("""Hello world""") # Hello world
#문자열 만들기 4: 작은 따옴표 3번
print('''Hello world''') # Hello world
#문자열에 큰따옴표(")나 작은따옴표(')를 포함시키고 싶을 때 왼쪽에 \(역슬래쉬)
sentence = "\"my name is Jay.\" he said."
print(sentence) # "my name is Jay." he said.
#문자열을 여러줄에 걸쳐서 작성하고 싶을 때,
sentence = """
my name is Jay,
and I like python.
"""
print(sentence)
#my name is Jay,
#and I like python.
1-(2) 문자열 연산
#덧셈(+)
a = "I am"
b = " a boy"
print(a+b) # I am a boy
#곱셈(*)
a = "python "
print(a*3) # python python python
1-(3) 문자열 인덱싱(indexing)
문자열에는 각각의 문자들에게 번호가 매겨져 있고, 이것을 이용해서 특정한 문자를 뽑아내는 것이 인덱싱
(숫자형은 인덱스가 없기 때문에 숫자를 문자열로 변환하여 인덱싱해줘야함.)
a | = | " | p | y | t | h | o | n | " |
---|---|---|---|---|---|---|---|---|---|
index | 0 | 1 | 2 | 3 | 4 | 5 | |||
index | -6 | -5 | -4 | -3 | -2 | -1 |
python = "Python is Amazing"
print(python[3]) # h -> 0부터 시작해서, 3은 4번째 자리
print(python[-2]) # n -> -2은 뒤에서부터 시작해서 2번째 자리
1-(4) 문자열 슬라이싱(slicing)
필요한 정보만 잘라서 가져오는 형태
[x:y] => x부터 y전까지 문자열을 뽑아와라(끝 번호는 포함x)
jay = "900801-1234567"
print("성별 : " + jay[7]) #성별 : 1
print("연 : " + jay[0:2]) #연 : 90
print("월 : " + jay[2:4]) #월 : 08
print("일 : " + jay[4:6]) #일 : 01
print("생년월일 : " + jay[0:6]) #생년월일 : 900801
print("생년월일 : " + jay[:6]) #생년월일 : 900801 , [:6] 처음부터 6번째 직전까지
print("뒤 7자리 : " + jay[7:14]) #뒤 7자리 : 1234567
print("뒤 7자리 : " + jay[7:]) #뒤 7자리 : 1234567 , [7:] 7부터 끝까지
print("뒤 7자리 (뒤에서부터) : " + jay[-7:])
#뒤 7자리 (뒤에서부터) : 1234567 , 맨 뒤에서 7번째부터 끝까지
1-(5) 문자열 처리함수
python = "Python is Amazing"
▶︎ upper & lower(대문자, 소문자)
print(python.upper()) # PYTHON IS AMAZING
print(python.lower()) # python is amazing
print(python[0].isupper()) # True
#python에 있는 변수의 첫번째 값이 대문자인지 확인하는 구문
▶︎ len(length)(문자열의 길이)
print(len(python)) # 17
#python 문자열의 총 길이를 알려줌
▶︎ count(문자 갯수 세기)
print(python.count("n")) # 2
#python 중 "n"의 갯수(반복 횟수)를 찾아줌
▶︎ index(위치 출력)
index = python.index("n")
print(python.index("n") # 5
#python 중 "n"의 위치를 출력
print(python.index("n", index + 1) # 15
#python 중 "n"을 찾는 위치(index + 1)를 지정해서 출력
▶︎ find(index처럼 위치를 출력)
print(python.find("n")) # 5
>>>index & find 차이점<<<
포함되지 않은 값을 찾으려할 때 출력되는 값이 다름
1. index를 사용한 경우,
print(python.index("JAVA"))
# 오류발생하고 프로그램 종료
2. find를 사용한 경우,
print(python.find("JAVA"))
# -1
# -1 이라는 값이 출력되고 프로그램은 계속 진행
▶︎ join(문자열 삽입)
print(".".join(python))
# P.y.t.h.o.n. .i.s. .A.m.a.z.i.n.g
# 각 문자를 쪼개서 그 사이에 삽입
▶︎ replace(문자열 바꾸기)
print(python.replace("Python", "Java"))
# Java is Amazing
# python 중 앞(Python)과 뒤(Java)를 바꿔서 출력
▶︎ split(문자열 나누기)
print(python.split())
# ['Python', 'is', 'Amazing']
# ()안의 문자열을 기준으로하여 문자열을 나눈 후 나눠진 값을 리스트
▶︎ strip(양쪽 공백 지우기) / lstrip(왼쪽 공백 지우기) / rstrip(오른쪽 공백 지우기)
a = " hi. "
print(a.strip()) # hi.
1-(6) 문자열 포맷
▶︎ Method #1
print("나는 %d살입니다." % 20)
# 나는 20살입니다.
# %d는 정수값(int)
print("나는 %s을 좋아해요." % "파이썬")
# 나는 파이썬을 좋아해요.
# %s는 문자열(str)
print("Apple은 %c로 시작해요." % "A")
# Apple은 A로 시작해요.
# %c는 한 글자(character)
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간"))
# 나는 파란색과 빨간색을 좋아해요.
▶︎ Method #2
print("나는 {}살입니다.".format(20))
# 나는 20살입니다.
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간"))
# 나는 파란색과 빨간색을 좋아해요.
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간"))
# 나는 파란색과 빨간색을 좋아해요.
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨간"))
# 나는 빨간색과 파란색을 좋아해요.
▶︎ Method #3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color = "빨간"))
# 나는 20살이며, 빨간색을 좋아해요.
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20))
# 나는 20살이며, 빨간색을 좋아해요.
▶︎ Method #4
age = 20
color = "빨간"
print("나는 {age}살이며, {color}색을 좋아해요.")
# 나는 20살이며, 빨간색을 좋아해요.
1-(7) 탈출 문자
▶︎ \n : 줄바꿈
print("백문이 불여일견\n백견이 불여일타")
#백문이 불여일견
#백견이 불여일타
▶︎ \" or \' : 따옴표 표시
print("저는 \"황재승\"입니다.")
# 저는 황재승입니다.
# \" or \'는 " or '를 출력해주는 탈출문자, 문장 내에서 따옴표 표시 가능
▶︎ \\ : 문장 내에서 \
print("C:\\Users\\...)
# C:\Users\...
▶︎ \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")
# PineApple
▶︎ \b : 백스페이스 (한글자 삭제)
print("Redd\bApple")
# RedApple
▶︎ \t : 탭
print("Red\tApple")
# Red Apple
Author And Source
이 문제에 관하여(01. Python Basics - Data Type(자료형), str(문자열)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jhwang/01.-Python-Basics-Data-Type자료형-str문자열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)