데이터 타입
숫자
정수형(int) : 양의 정수, 음의 정수 0
a = 1000
print(a) // 1000
a = -7
print(a) // -7
a = 0
print(a) // 0
실수형(float) : 소수점 아래의 데이터를 포함하는 수 자료형
a = 15.15
print(a) // 15.15
a = -18.18
print(a) // -18.18
a = 5.
print(a) // 5.0 0 생략 가능
a = -.7
print(a) // -0.7 0 생략 가능
지수 표현 방식 : e나 E 를 사용하여 지수 표현 방식 사용 가능
임의의 큰 수를 표현할 때 씀 최단 거리에서 이동하면 안될 곳을 노드에 무한으로 설정
- 이용 가능 최댓값이 10억 미만이면 무한 값으로 1e9 사용
a = 1e9
print(a) // 100,000,000
a = 75.25e1
print(a) // 752.5
a = -.2e-3
print(a) // -0.2 * 1/1000 = 0.0002
관련 함수
사칙연산 가능 2진수에선 실수 덧셈이 제대로 동작 안함
a = 0.3 + 0.6
print(a)
if a == 0.9:
print(true)
else:
print(false) // 실행 결과 0.8999999로 False가 실행 - 한없이 근접하지만 아님
Decimal(실수) : 고정 소숫점으로 바꿔 위의 문제 해결
0.1 + 0.1 + 0.1 == 0.3
# False
# decimal module
from decimal import Decimal
print("decimal module: ", Decimal('0.1') + Decimal('0.1') + Decimal('0.1') == Decimal('0.3'))
round(실수, 정수) : 실수를 소숫점 정수 자리 다음에서 반올림함
a = 123.456
rount(a,2)
print(a) // 123.46
a = 0.3 + 0.6
a = round(a,3)
print(a)
if a == 0.9:
print(true) // 소숫점 4번째 자리에서 반올림되서 0.9
else:
print(false)
문자
관련 함수
find() : 문자열에서 특정 문자열의 위치를 찾는다
replace() : 문자열에서 특정 문자열을 지정한 문자열로 대체한다
upper() : 대문자로 만든다
lower(): 소문자로 만든다
join() : 특정문자로 연결한다
format() : 포멧팅 함수
split() : 문자열을 특정 구분자를 기준으로 나눈다.
str1 = "hello python"
str1.find('p')
# 6
str1.replace('hello', 'hi')
# hi python
str1.upper()
# HELLO PYTHON
str1.lower()
# hello python
".".join(str1)
#h.e.l.l.o. .p.y.t.h.o.n
str1.split(" ")
# ['hello', 'python']
split()
기본 사용 (공백 기준)
text = "Hello World Python"
words = text.split()
print(words) # ['Hello', 'World', 'Python']
구분자를 지정하지 않으면, 기본적으로 연속된 공백을 기준으로 문자열을 나누고, 그 결과는 리스트로 반환됩니다.
구분자 지정
text = "apple,banana,orange"
fruits = text.split(",")
print(fruits) # ['apple', 'banana', 'orange']
split() 메서드의 sep 인자를 사용하면 원하는 구분자를 기준으로 문자열을 나눌 수 있습니다. 이 구분자는 특정 문자일 수도 있고 문자열일 수도 있습니다.
maxsplit 사용
text = "one two three four"
parts = text.split(" ", maxsplit=2)
print(parts) # ['one', 'two', 'three four']
maxsplit 인자는 문자열을 몇 번 나눌지 제어할 수 있습니다. 예를 들어, 2번까지만 나누고 싶다면 maxsplit=2로 설정할 수 있습니다. 그 이후의 부분은 그대로 남게 됩니다.
.strip()
input().strip() : 문자열을 입력 받고 양 옆 공백 지워버리기
- 양쪽 끝의 공백 제거
- 아무런 인자를 주지 않으면, 기본적으로 문자열의 양쪽 끝에 있는 공백(띄어쓰기, 탭, 줄바꿈 문자 등)을 모두 제거
text = " Hello, World! "
cleaned_text = text.strip()
print(f"'{cleaned_text}'") # 'Hello, World!'
- 특정 문자 제거
- .strip()에 제거할 특정 문자를 인자로 전달하면, 해당 문자들이 문자열 양 끝에서 제거됩니다. 이때는 전달된 문자들이 모두 일치하지 않아도 상관없이 포함된 모든 문자를 제거합니다.
text = "##Hello, World!##"
cleaned_text = text.strip("#")
print(f"'{cleaned_text}'") # 'Hello, World!'
- 왼쪽 또는 오른쪽만 공백 제거
- .strip()은 양쪽 끝 공백을 제거하지만, 만약 특정 방향(왼쪽 또는 오른쪽)에서만 제거하고 싶다면, .lstrip()(왼쪽 공백 제거) 또는 .rstrip()(오른쪽 공백 제거)을 사용할 수 있습니다.
text = " Hello, World! "
left_cleaned_text = text.lstrip() # 왼쪽 공백만 제거
right_cleaned_text = text.rstrip() # 오른쪽 공백만 제거
print(f"'{left_cleaned_text}'") # 'Hello, World! '
print(f"'{right_cleaned_text}'") # ' Hello, World!'
'PYTHON' 카테고리의 다른 글
[Django] 2. 장고 개발 환경 만들기1 (가상 서버 만들기) (0) | 2023.03.22 |
---|---|
[Django] 3. 애플리케이션 프로그래밍 방법 (0) | 2023.03.22 |
[Django]1. Django 웹 프레임워크의 특징 (0) | 2023.03.22 |
[Django] 0. 파이썬 웹 표준 라이브러리 (0) | 2023.03.18 |