◆ 대소문자 변경하기[ lower(), upper() ]
입력한 문자열을 대문자 또는 소문자로 변경하기 위해서는
lower() 함수와 upper() 함수를 사용합니다.
str1 = "Hello! World"
print(str1.lower())
위와 같이 작성 후 코드를 실행하면
[ hello! world ]와 같은 결과가 나타납니다.
보시는바와 같이 모두 소문자로 변경되었습니다.
str1 = "Hello! World"
print(str1.upper())
위와 같이 작성 후 코드를 실행하면
[ HELLO! WORLD ]와 같이 결과가 나타나며
모두 대문자로 변경이 됩니다.
◆ 문자열의 공백 제거하기[ rstrip(), lstrip(), strip() ]
문자열에서 공백을 제거하기 위해서는
rstrip() , lstrip() , strip() 함수를 사용합니다.
rstrip()은 문자열의 오른쪽 공백을 제거하고,
lstrip()은 문자열의 왼쪽 공백을 제거합니다.
strip()은 문자열의 양쪽의 공백을 제거합니다.
단, 위 세함수 모두 문자열의 중간에 있는 공백은 제거하지 못합니다.
str1 = " Hello! World "
print(str1.strip())
위 코드를 실행하면 양쪽의 공백이 제거되고 다음과 같이 결과가 나타납니다.
[ Hello! World ]
◆ 사용자에게 값 입력 받기[ input() ]
사용자에게 값을 입력받고 처리하고 싶을 경우에는
input() 함수를 사용합니다.
User_input = input("이름을 입력하세요 : ")
print(User_input)
위 코드를 실행하면
이름을 입력하세요 :
라는 화면이 나타나고 값을 입력하기를 기다립니다.
값을 입력하고 Enter 키를 누르면 값이 출력됩니다.
이름을 입력하세요 : 가나다
가나다
문제는 이렇게 input() 함수를 이용해 입력받은 값은
항상 문자열의 형태라는 것입니다.
숫자를 입력해도 문자로 인식이 됩니다.
User_input = input("숫자를 입력하세요 : ")
result = User_input + User_input
result1 = User_input * 3
print(result)
print(result1)
위 코드 실행 후 입력값에 [ 4 ]를 입력하면
결과는 [ 44 ] 와 [ 444 ]가 출력됩니다.
result = User_input + User_input
위 코드는 문자열을 연결하라는 의미이므로 [ 44 ]가 출력되고
result1 = User_input * 3
위 코드는 문자열을 세번 반복하라는 의미이므로 [ 444 ]가 출력이 됩니다.
User_input = input("숫자를 입력하세요 : ")
result = User_input + 3
print(result)
예외가 발생했습니다. TypeError
can only concatenate str (not "int") to str
File "C:\Users\.........\Input_test.py", line 2, in <module> result = User_input + 3
문자열에 숫자를 더하는 것은 인정되지 않기 때문에 위와 같이 에러가 발생합니다.
만약 숫자 형태로 처리하고 싶다면 아래와 같이 가능합니다.
User_input = input("숫자를 입력하세요 : ")
result = int(User_input) + 3
print(result)
정수 형태로 바꾸려면 int() 함수를 이용해 형태를 바꾸어 사용하면 됩니다.
참고로 소숫점형태로 바꾸시려면 float() 함수를 사용하시면 됩니다.
◆ 숫자를 문자로 변환하기
과자수 = 7
print("나는 오늘 과자를 " + 과자수 + "개 먹었습니다.")
과자수 = 7
print("나는 오늘 과자를 " + str(과자수) + "개 먹었습니다.")
위 코드를 실행하면 [ 나는 오늘 과자를 7개 먹었습니다. ]가 출력이 됩니다.
◆ 변수 값을 문자열과 결합하기[ f-string , format() ]
과자이름 = "구름과자"
오늘과자수 = 7
내일과자수 = 8
print("나는 오늘 " + 과자이름 + "를 " +str(오늘과자수) + "개 먹었고, 내일 " +str(내일과자수) + "개 먹을겁니다.")
지금까지의 내용으로는 위와 같이 코드를 작성해야 문자열과 숫자를 결합할 수 있었습니다.
이걸 조금 더 간단하게 사용하는 방법을 알아보겠습니다.
print("나는 오늘 {}를 {}개 먹었고, 내일 {}개 먹을겁니다.".format(과자이름, 오늘과자수, 내일과자수))
[ format() ]을 사용하면 위와 같이 조금 더 간단하게 작성이 가능합니다.
파이썬 3.6 이후 부터는 [ f-string ] 사용이 가능합니다.
사용방법은 아래와 같습니다.
print(f"나는 오늘 {과자이름}를 {오늘과자수}개 먹었고, 내일 {내일과자수}개 먹을겁니다.")
◆ 문자열 안에서 문자(열) 찾기
문자열 안의 하나하나의 문자는 위치값을 가지고 있습니다.(관련링크)
find() 함수를 사용하면 문자열안의 특정문자열이 어느 위치값부터 시작하는지
찾을 수 있습니다.
str1 = "Hello World Hi Python"
print(str1.find("World"))
위 코드를 실행하면 [ 6 ]이라는 결과값을 출력합니다.
각 문자의 위치값은 [ 0 ]부터 시작하므로, [ W ]의 위치값은 [ 6 ]이 됩니다.
해당 문자열을 찾을 수 없으면 [ -1 ]을 반환합니다.
str1 = "Hello World Hi Python"
print(str1.find("world"))
파이썬은 대소문자를 구분하므로 찾는 문자열인 [ world ]는 기존 문자열에서 찾을 수 없습니다.
그렇기에 [ -1 ]을 반환합니다.
◆ 문자열 바꾸기
기존의 문자열을 바꾸고 싶다면
replace() 함수를 사용하면 됩니다.
str1 = "Hello World Hi Python"
print(str1.replace("Hello", "HI"))
print(str1)
위 코드를 실행하면
[ HI World Hi Python ]
[ Hello World Hi Python ]
이렇게 출력이 됩니다.
str1.replace("Hello", "HI") 위 코드는 단순히 str1 변수에 입력된 문자열을
변경하여 출력하는 것이지
str1의 변수에 입력된 값을 변경하는 것은 아닙니다.
str1 변수에 입력된 값을 변경시키려면
str1 = str1.replace("Hello", "HI")이런식으로 변수를 다시 설정해야 합니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ Basic ] 파이썬 리스트 데이터타입, 파이썬 리스트 복사하기 (0) | 2022.09.20 |
---|---|
[ Basic ] 파이썬 리스트(Python List) (0) | 2022.09.16 |
[ Basic ] 파이썬 튜플(Python Tuple) (2) | 2022.09.15 |
[ Basic ] 파이썬 문자열(Python String Data Type) (0) | 2022.09.02 |
[ Basic ] 파이썬(Python) 변수 (0) | 2022.08.29 |