파이썬로드

파이썬 기초, 자료형 data type 문자열 만들기부터

CODINGLORD 2024. 6. 21. 16:37

자료를 알아야하는 이유

 

지금 프로그램밍을 공부하면 여기까지 온 사람들의 의구심??

 

"과연 이런 간단한 것을 공부해서 언제 내가 원하는 프로그램을 만들지?"

 

But

자료를 자료형에 맞게 모으고,

처리 과정을 거쳐 차근차근 더 큰 자료형을 만들고

그러다보면 거대한 프로그램이 만들어집니다.

 

그렇기 때문에

가장 차근차근 기본적인 단위라고 할 수 있는 자료의 의미와 활용 방법을

확실하게 아는 것이 매우 중요합니다.


 

문자열 만들기

글자들이 나열된 것을 '문자열'이라고 부릅니다. 

문자열 = String

 

"Hello"

"안녕하세요"

"Hello python"


 

큰따옴표로 문자열 만들기

문자열은 문자들을 큰따옴표(")로 감싸서 만듭니다.

print() 함수를 이용해 간단하게 문자열을 만들고 출력해보자

 

>>> print("안녕하세요"_)

안녕하세요


작은따옴표로 문자열 만들기

작은따옴표(')로도 문자열을 만들 수 있습니다.

 

>>>print('안녕하세요')

안녕하세요


문자열 내부에 따옴표 넣기

 

>>> print(""안녕하세요, 반갑습니다"")
에러: SyntaxError: invalid syntax. Perhaps you forgot a comma?

 

>>> print('"안녕하세요, 반갑습니다"')
"안녕하세요, 반갑습니다"

>>> print("'안녕하세요, 반갑습니다'")
'안녕하세요, 반갑습니다'

 

문자열 내부에 큰따옴표를 넣고 싶으면 작은따옴표로,

작은따옴표를 넣고 싶으면 큰따옴표로 문자열을 만들어요!


 

이스케이프 문자를 사용해 문자열 만들기

" 문자열에서 따옴표 사용을 좀 심플하게 하고 싶다구요"

 

\" : 큰따옴표를 의미합니다.

\' : 작은따옴표를 의미합니다. 

 

한국어 키보드에서는 \는 원화 기호(₩)입니다.

 

>>> print("\"안녕하세요\"라고 말했습니다")

"안녕하세요"라고 말했습니다

>>> print('\'배가 고픕니다\'라고 생각했습니다')

'배가 고픕니다'라고 생각했습니다

 

\n : 줄바꿈을 의미합니다

\t : 탭을 의미합니다

 

>>> print("안녕하세요\n안녕하세요")

안녕하세요

안녕하세요

 

>>> print("안녕하세요\t안녕하세요")

안녕하세요     안녕하세요

 

연습

print("이름\t나이\t지역")

print("김민지\t30\t서울")

print("김주연\t33\t고양")

print("이효리\t40\t제주")

 

결과

이름 나이 지역
김민지 30 서울
김주연 33 고양
이효리 40 제주

 

\\:역슬래시(\)

>>> print("\\ \\ \\ \\")


여러 줄 문자열 만들기

큰따옴표 또는

작은 따옴표를

세 번 반복해 입력한 후 문자열을 입력하고 

Enter 를 누르면

줄바꿈이 일어난다

 

"""

 

>>> print("큰따옴표 또는 작은 따옴표를 """)

줄바꿈이 일어나죠? 조금보다 코드를 훨씬 더 쉽게 읽을 수 있습니다.


문자열 연산자

문자열에는 +연산자로 문자열 연결 연산을 적용할 수 있습니다.

 

"문자열" + "문자열"

 

>>>print("안녕" + "하세요")

안녕하세요

 

>>> print("안녕하세요" + "!")

안녕하세요!

 

But

print("안녕하세요" + 1)

 

오류

Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    print("안녕하세요" + 1)
TypeError: can only concatenate str (not "int") to str

 

문자끼리만 연결할 수 있고 숫자와 연결이 불가능하다는 의미

 

꼭 기억!!!!


문자열 반복 연산자: *

문자열을 숫자와 *연산자로 연결하면 문자열을 반복할 수 있습니다. 

 

>>>print("안녕하세요"  * 3)

안녕하세요안녕하세요안녕하세요

 

>>>print(3 * "안녕하세요")

안녕하세요안녕하세요안녕하세요


문자 선택 연산자(인덱싱): [ ]

: 문자열 내부의 문자 하나를 선택하는 연산자

대괄호[ ] 안에 선택할 문자의 위치를 지정하며,

이 숫자를 인덱스(index)라고 부릅니다.

 

[연습]

print("문자 선택 연산자에 대해 알아볼까요?")

print("안녕하세요"[0])

print("안녕하세요"[1])

print("안녕하세요"[2])

print("안녕하세요"[3])

print("안녕하세요"[4])

 

 

[결과]

문자 선택 연산자에 대해 알아볼까요?




제로 인덱스

숫자를 0부터 세는 인덱스 유형을 사용하는 언어입니다.

 

[연습1]

print("문자 선택 연산자에 대해 알아볼까요?")

print("안녕하세요"[-1])

print("안녕하세요"[-2])

print("안녕하세요"[-3])

print("안녕하세요"[-4])

print("안녕하세요"[-5])

 

[결과]

문자 선택 연산자에 대해 알아볼까요?





문자열 범위 선택 연산자(슬라이싱):[:]

문자열의 범위를 선택할 때 사용하는 연산자

즉, 범위지정

 

>>> print("안녕하세요"[1:4])

녕하세

 1  2  3

 

파이썬은 범위 지정시 '마지막 숫자를 포함하지 않음'으로 적용합니다.

 

>>> print("안녕하세요"[0:2])

안녕

>>> print("안녕하세요"[1:3])

녕하

>>> print("안녕하세요"[2:4])

 

대괄호 안에 넣는 숫자 둘 중 하나를 생략하여 아래 보기와 같은 형태로 사용 가능

[1:]

[:3]

 

>>> print("안녕하세요"[1:])

녕하세요

>>> print("안녕하세요":[:3]

안녕하

 

>>> print("안녕하세요"[10])
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
print("안녕하세요"[10])
IndexError: string index out of range

 

코드 작성하다가 이런 예외가 발생하면 '리스트/문자열의 수를 넘는 부분을 선택했음'을 바로 인지하자

 

문자열의 길이 구하기

 

>>> print(len("안녕하세요"))

5

 

괄호 내부에 문자열을 넣으면 '문자열에 들어있는 문자의 개수)(=문자열의 길이)'를 세어줍니다.


자료형

01. 숫자형

02. 문자열 자료형

03. 리스트 자료형

04. 튜플 자료형

05. 딕셔너리 자료형

06. 집합 자료형

07. 불 자료형

08. 자료형의 값을 저장하는 공간, 변수