파이썬, 자료형 [1]

sky.dev·2025년 4월 15일

Data&AI-Uni.

목록 보기
6/77
post-thumbnail

🪐 숫자 자료형

숫자 자료형의 종류 2가지

정수형(Integer, int)

  • 정수를 나타내는 자료형
  • 양수, 음수, 0을 포함합니다.
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)은 따옴표로 둘러싸인 문자들의 집합

문자열을 만드는 방법

  1. 큰 따옴표 이용
print("안녕하세요!")
  1. 작은 따옴표 이용
print('반갑습니다.')
  1. 작은 따옴표 3개 이용
print('''이것도 여러 줄 문자열입니다.''')
print(type('''이것도 여러 줄 문자열입니다.'''))
  1. 이스케이프 코드(확장열) 사용
# \n: 줄 바꿈 이스케이프 코드
multiline_string = "첫 번째 줄\\n두 번째 줄\\n세 번째 줄"
print(multiline_string)

이스케이프 코드
문자열 안에 포함하기 어려운 문자를 표현하기 위해 백슬래시()와 함께 사용하는 문자 조합

이스케이프 코드 설명

문자열 다루기

문자열 연산

문자열 더하기(문자열 연결하기): + 연산자는 문자열을 연결합니다.

greeting = "안녕하세요, "
name = "파이썬입니다!"
message = greeting + name
print(message)  # 출력 결과: 안녕하세요, 파이썬입니다!

문자열 곱하기: * 연산자는 문자열을 반복합니다.

exclamation = "!"
repeated_exclamation = exclamation * 5
print(repeated_exclamation)  # 출력 결과: !!!!!

정수와 문자열 더하기

  • 연산자는 피연산자의 타입에 따라 다른 동작을 합니다. 숫자는 덧셈, 문자열은 연결.
  • 서로 다른 타입(str과 int)을 더하려고 하면 TypeError 발생.
  • 자료형을 일치시킨 후 연산을 수행해야 합니다.
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

0개의 댓글