Python

Python(5) 메서드 체이닝, 형변환

UserDonghu 2023. 9. 11. 17:39

메서드체이닝

연속으로 메서드를 호출하는 것

메서드의 결과값에 메서드를 다시 호출함.

너무 길게 사용해서 가독성을 해치지않게 주의 (한 줄에 79자 안넘게 권고)

sentence = '  Hello, World!  '
result = sentence.strip().lower().replace('world', 'python')
# 1번 스탭 : sentence.strip() == 'Hello, World!'
# 2번 스탭 : 'Hello, World!'.lower() == 'hello, world!'
# 3번 스탭 : 'hello, world!'.replace('world', 'python')
print(result)  # 'hello, python!'

 

백슬러쉬를 이용해서 개행 가능

sentence = '  Hello, World!  '
result = sentence\
.strip()\
.lower()\
.replace('world', 'python')

print(result)  # 'hello, python!'

 

'010-1000-2000'.split('-').replace('0', 'x')
# 오류. split의 리턴값은 배열인데 배열에는 replace사용X

 

형변환

input은 string

월급 = input("월급을 입력하세요: ")
연봉 = 월급 * 12
print(연봉) # 100100100100100....

월급 = int(input("월급을 입력하세요: "))
연봉 = 월급 * 12
print(연봉) # 1200

 

자주 사용되는 문법

list(map(int, ['10', '20', '30']))
# [10, 20, 30]

list(map(int, '12345'))
# [1, 2, 3, 4, 5]

# 다음 숫자의 모든 자릿수를 다 더한 값을 출력
sum(map(int, '12341234234'))

 

소숫점 문자를 float로는 가능, int로는 안됨

m = '123.4'
float(m)

n = '123.4'
int(n) # Error

 

양의 무한대, 음의 무한대

infinity = float("inf")
neg_infinity = float("-inf")

 

문자열을 리스트로

s = '10'
print(list(s)) # ['1', '0']

name = 'donghu'
print(list(name)) # ['d', 'o', 'n', 'g', 'h', 'u']

 

문자열을 딕셔너리로

name = 'donghu'
dict(name) # Error 쌍을 맞춰주어야함

data = [('name','donghu'),('age',19)]
d = dict(data)
print(d) # {'name': 'donghu', 'age': 19}

 

문자열을 set으로

s = 'donghu is king'
print(set(s)) # 중복을 허락하지 않고 순서가 없음.
# {'u', ' ', 'g', 'i', 'o', 'n', 'h', 'k', 'd', 's'}

'Python' 카테고리의 다른 글

Python(7) 함수  (0) 2023.09.12
Python(6) 연산  (0) 2023.09.11
Python(4) 논리 자료형, None 자료형  (0) 2023.09.11
Python(3) 문자열 자료형  (1) 2023.09.08
Python(2) 숫자 자료형  (0) 2023.09.08