
숫자 자료형의 종류 2가지
정수형(Integer, int)
print(type(0)) # 출력 결과: <class 'int'>
print(type(-10)) # 출력 결과: <class 'int'>
print(type(10000000000)) # 출력 결과: <class 'int'>
실수형(Float, float)
소수점을 포함하는 숫자를 나타내는 자료형
print(type(0.0)) # 출력 결과: <class 'float'>
print(type(3.14)) # 출력 결과: <class 'float'>
print(type(-2.5)) # 출력 결과: <class 'float'>
숫자 연산자
+: 덧셈
-: 뺄셈
*: 곱셈
/: 나눗셈 (결과는 항상 float)
//: 나눗셈 몫 (정수형)
%: 나눗셈 나머지
**: 제곱
정수 + 정수
print(1 + 2) # 출력 결과: 3
실수 + 실수
print(1.0 + 2.0) # 출력 결과: 3.0
정수 + 실수
print(1 + 2.0) # 출력 결과: 3.0
다른 연산자도 사용 가능
print(2.0 ** 3) # 출력 결과: 8.0
print(5 // 2) # 출력 결과: 2 (몫)
print(5 % 2) # 출력 결과: 1 (나머지)
변수에 숫자를 할당하고 계산
a = 5
b = 4
print(a * b) # 출력 결과: 20
복합 대입 연산자
연산과 할당을 하나의 연산으로 줄여서 코드를 간결하게 만들어줌
문자열(String, str)은 따옴표로 둘러싸인 문자들의 집합
print("안녕하세요!")
print('반갑습니다.')
print('''이것도 여러 줄 문자열입니다.''')
print(type('''이것도 여러 줄 문자열입니다.'''))
# \n: 줄 바꿈 이스케이프 코드
multiline_string = "첫 번째 줄\\n두 번째 줄\\n세 번째 줄"
print(multiline_string)
이스케이프 코드
문자열 안에 포함하기 어려운 문자를 표현하기 위해 백슬래시()와 함께 사용하는 문자 조합
이스케이프 코드 설명

문자열 연산
문자열 더하기(문자열 연결하기): + 연산자는 문자열을 연결합니다.
greeting = "안녕하세요, "
name = "파이썬입니다!"
message = greeting + name
print(message) # 출력 결과: 안녕하세요, 파이썬입니다!
문자열 곱하기: * 연산자는 문자열을 반복합니다.
exclamation = "!"
repeated_exclamation = exclamation * 5
print(repeated_exclamation) # 출력 결과: !!!!!
정수와 문자열 더하기
age_string = "나이: "
age = 30
# print(age_string + age) # TypeError 발생
print(age_string + str(age)) # 출력 결과: 나이: 30
문자열 길이 구하기: len() 함수
len() 함수는 문자열의 길이를 반환
my_string = "Hello, Python!"
string_length = len(my_string)
print(string_length) # 출력 결과: 14
문자열 인덱싱
인덱싱(Indexing)은 문자열 내의 특정 문자를 가리키는 것입니다.
파이썬의 인덱스는 0부터 시작하며, 음수 인덱스를 사용하여 뒤에서부터 문자에 접근할 수도 있습니다.
[] 괄호 안에 인덱스 번호를 넣어 인덱싱합니다.
0과 -0은 같으므로, a[0]과 a[-0]은 같은 값을 반환합니다.
문자열이 길 때, 음수 인덱스를 사용하면 뒤에서부터 문자에 쉽게 접근할 수 있습니다.
language = "Python"
print(language[0]) # 출력 결과: P
print(language[2]) # 출력 결과: t
print(language[-1]) # 출력 결과: n
print(language[-3]) # 출력 결과: h
문자열 슬라이싱
슬라이싱(Slicing)은 문자열에서 부분 문자열을 추출하는 것입니다.
a[시작_인덱스:끝_인덱스+1]와 같은 형식으로 사용합니다.
시작 인덱스부터 끝 인덱스까지 (끝 인덱스 포함 안 함)의 문자들을 추출합니다.
인덱싱과 마찬가지로 음수 인덱스를 사용할 수 있습니다.
시작 인덱스를 생략하면 문자열의 처음부터 추출합니다.
끝 인덱스를 생략하면 문자열의 끝까지 추출합니다.
text = "Python Programming"
print(text[0:6]) # 출력 결과: Python
print(text[7:18]) # 출력 결과: Programming
print(text[:6]) # 출력 결과: Python
print(text[7:]) # 출력 결과: Programming
print(text[-11:-1]) # 출력 결과: Programmin
print(text[:]) # 출력 결과: Python Programming (전체 문자열)
문자열 바꾸기: replace() 함수
replace(old, new, count) 함수는 문자열 내에서 특정 문자열(old)을 다른 문자열(new)로 바꾸고, 새로운 문자열을 반환합니다.
선택적으로 count 매개변수를 지정하여, 바꿀 횟수를 제한할 수 있습니다.
count를 생략하면, 모든 old를 new로 바꿉니다.
문자열은 불변(immutable)하므로, replace() 함수는 원본 문자열을 변경하지 않고, 새로운 문자열을 생성합니다.
message = "Hello, World!"
new_message = message.replace("World", "Python")
print(new_message) # 출력 결과: Hello, Python!
print(message) # 출력 결과: Hello, World! (원본 문자열은 변경되지 않음)
text = "apple banana apple orange apple"
new_text = text.replace("apple", "grape", 2) # 처음 2개의 "apple"만 "grape"로 변경
print(new_text) # 출력 결과: grape banana grape orange apple