이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.
문자열은 아래와 같이 할당이 가능합니다.
>>> 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