본문 바로가기
Base/Python

3. format, split 함수 / f-문자열 / 파괴적 연산과 비파괴적 연산 / 온라인 저지

by 귀멸 2023. 2. 7.

혼공파 15 ~ 18강

1. format 함수와 split 함수

a = 52
b = 273

# 52 + 273 = {더한 값}
print(a, "+", b, "=", a+b)  >>> 52 + 273 = 325


print("{}".format(10))
print("{} + {} = {}".format(a, b, a+b))  >>> 52 + 273 = 325

# format 함수 : 문자열 틀을 만들고 안에 값을 넣어서 문자열을 만들 수 있는 함수
# 틀의 갯수보다 값이 많으면 앞에서 부터만 들어가고 틀의 개수보다 값이 적으면 IndexError가 난다.

 

## format() 함수의 다양한 기능

### 정수를 규격화하여 출력

print("{}".format(123456789))   123456789
print("{:5d}".format(12))                  12

5번째 칸을 끝으로 맞춰서 오른쪽 정렬

 

print("{:05d}".format(12))

5번째 칸을 끝으로 맞춰서 오른쪽 정렬하면서 빈칸은 0으로 채우기

 

print("{:+5d}".format(12))   +12

print("{:-5d}".format(12))     -12

기호를 같이 출력하면서 5번째 칸 끝에 맞추기

 

print("{:=+5d}".format(12))  +   12

print("{:=-5d}".format(12))   -    12

기호를 같이 출력하면서 기호는 앞에 맞추고 입력 내용은 5번째 칸 끝에 맞추기

 

print("{:.2f}".format(12))       12.00

소수점 자리 지정하여 부동소수점으로 출력하기

 

print("{:g}".format(12.00))       12

의미 없는 0 제거 후 출력

 

# split 함수 문자열을 특정 조건으로 잘라서 리스트 자료형으로 담아준다.
## 띄어쓰기, 탭문자 줄바꿈 등은 공백으로 처리된다.

print("10 20 30 40".split(" "))  >>> ['10', '20', '30', '40']
print("10-20-30-40".split("-"))  >>> ['10', '20', '30', '40']
print("10   20\t30\n40".split())  >>> ['10', '20', '30', '40']

 

 

# f-문자열 

포맷 함수를 더 쉽게 사용할 수 있도록 만들어짐 python 3.7부터 지원

 

"{} + {} = {}".format(a, b, a+b)

f"{a} + {b} = {a+b}"

 

여러줄 문자열에서도 사용할 수 있다.

print(f"""{a} + {b} = {a + b}
{a} - {b} = {a - b}
{a} * {b} = {a * b}
{a} / {b} = {a / b}""")

 


2. 파괴적 연산과 비파괴적 연산

a = 10

# + 연산자 : 피연산자를 바꾸지 않음
# 비파괴적이다
a + 10
print(a)

# = 연산자 : 피연산자를 바꿈!
# 파괴적이다
a = a + 10
print(a)

# 할당 연산자 = 를 제외하면 여태까지 배운 모든 연산은 비파괴적

a = "hEllO PyThOn"

print(a.upper()) # 대문자 변경
print(a.lower()) # 소문자로 변경

print(a) # upper, lower 함수는 비파괴적 연산자

# strip() 함수 : 문자열 양쪽에 공백을 제거
a = "    안녕하세요 \t\n   "
a = a.strip()
a.lstrip() # 왼쪽 공백 제거
a.rstrip() # 오른쪽 공백 제
print(a)

# is--() 함수
a = "abcdefgabcd"
print(a.isalpha()) # a가 알파벳으로 되어 있는가? True / False

# find() 왼쪽부터 탐색하여 인덱스 값 반환
print(a.find("b"))
## 찾는 문자열이 없으면 -1 반환

# rfind() 오른쪽부터 탐색하여 인덱스 값 반
print(a.rfind("b"))
## 찾는 문자열이 없으면 -1 반환

# in 연산자 a가 in b안에 있는지 보고 True / False 반환
print("안녕" in "안녕하세요") # True

 


3. 온라인 저지

백준 온라인저지 사이트 단계별 문제 풀이를 이용하여 실력 키우기

'Base > Python' 카테고리의 다른 글

5. 수열/배열/리스트  (0) 2023.02.09
4. Bool/if 조건문  (0) 2023.02.08
2. 변수/복합대입연산자/input()/파이썬 튜터  (0) 2023.02.06
1. 자료형(문자열, 숫자)  (1) 2023.02.05
0. Python 공부 시작  (0) 2023.02.04

댓글