[자바개발자의 파이썬도전기 - 4] 문자열, map()

Coen·2022년 12월 7일
1

python

목록 보기
5/15
post-thumbnail

JAVA 개발자의 PYTHON 도전기

이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.

기본 문법

문자열

문자열은 아래와 같이 할당이 가능합니다.

>>> x = "hello"
>>> x
'hello'

파이썬 문자열 길이 구하는 방법입니다.
JAVA의 "string".length() 와 같은 기능입니다.

>>> hello = "python "
>>> len(hello)
7

문자열의 바이트 수 구하기

>>> helloKr = '안녕하세요'
>>> helloEn = 'hello'
>>> len(helloKr.encode('utf-8'))
15
>>> len(helloEn.encode('utf-8'))
5

문자열 반복은 * 연산을 하면 됩니다. 덧셈이나 뺄셈 나눗셈은 에러가 발생합니다.

>>> helloKr * 3
'안녕하세요안녕하세요안녕하세요'

문자열 입력받기는 아래와 같습니다. JAVA의 scanner와 InputStreamReader에 비교하면 매우 간단합니다.

>>> input()

숫자를 입력받아 계산을 하려고 합니다.

>>> a = input()
3
>>> b = input()
2
>>> a + b
'32'

input()은 입력값이 문자열로 받아지기때문에 변환해야합니다.

>>> a = int(input())
3
>>> b = int(input())
2
>>> a + b
5

>>> a = float(input())
1.5
>>> b = float(input())
1.7
>>> a + b
3.2

입력값을 동시에 여러개 받고 싶다면 아래와 같습니다.

>>> a, b = input('문자열 두 개를 입력하세요: ').split() # 공백으로 구분
문자열 두 개를 입력하세요: hello python
>>> a
'hello'
>>> b
'python'

변수의 갯수와 split된 리스트의 갯수가 다르면 에러가 발생합니다.

>>> a, b, c = input("문자열을 입력하세요: ").split()
문자열을 입력하세요: d b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 3, got 2)
>>> a, b, c = input("문자열을 입력하세요: ").split()
문자열을 입력하세요: a b c
>>> a
'a'
>>> b
'b'
>>> c
'c'

위에서 split을 하면 리스트로 저장이 됩니다.

>>> a = input().split()
1 2 3 4 5 6
>>> a
['1', '2', '3', '4', '5', '6']
>>> type(a)
<class 'list'>

map()을 사용하면 한번에 입력받아 형변환이 가능합니다.
map(function, iterable)

>>> a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
숫자 두 개를 입력하세요: 12 40
>>> a
12
>>> b
40

참고자료 (파이썬 코딩 도장 - Unit 7. 문자열 사용하기)

참고자료 (파이썬 코딩 도장 - Unit 8. 입력 값을 변수에 저장하기)

profile
백엔드 프로그래머

0개의 댓글