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:

TypeData Type
Text Typestr(문자열)
Numeric Typesint(정수), float(소수), complex(복소수)
Sequence Typeslist(리스트), tuple(튜플), range
Mapping Typedict(딕셔너리)
Set Typesset(집합), frozenset
Boolean Typebool(불리언)
Binary Typesbytes, 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="python"
index012345
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

좋은 웹페이지 즐겨찾기