Python
[Python] 파이썬 - 09. 문자열(String)활용
Hoody Coder
2023. 5. 20. 21:01
국내에서 가장 많이 사용하는 언어가 Java이다보니 자바를 예로 들면,
자바는 하나의 문자열 안에 여러타입을 사용해서 작성하는것을 간단하게 할 수 있다.
public static void main(String[] args) {
int num = 5;
System.out.println("1 + 2 + 3 " + num + " 4");
}
// 1 + 2 + 3 5 4
하지만 파이썬으로 위의 케이스를 작성하면 에러가 나는것을 볼 수 있다.
num = 5
print("1 + 2 + 3 " + num + " 4")
TypeError: cannot concatenate 'str' and 'int' objects on line 2 in main.py
파이썬에서 문자열과 정수는 다른 데이터 형식이므로 직접적으로 연결할 수 없다.
이를 해결하기위해선 데이터 타입을 맞춰줘야한다.
여기선 String으로 변환하여 진행해보자
n = 5
s = str(n)
print (s + "ABC")
print (type(s + "ABC"))
# 5ABC
# <class 'str'>
'를 문자열안에 사용하는 법 )
그러면 이런 문구를 그대로 print()하면 어떻게 될까?
print('I can't do it')
# SyntaxError: bad input on line 1 in main.py
에러가 발생하는것을 볼 수 있다. ' 자체가 하나의 String을 출력하는 것이기때문에 ' 를 작성하는 것만으로 이미 다른 String 문자열을 사용하겠다는 의미로 전해진 것이기 때문이다. 그렇다면 어떻게 해결할 수 있을까?
1) ""와 병행하여 사용한다.
print("I can't do it")
2) ''와 \를 사용한다.
print('say "I can\'t do it"')
3) 왠지 고인물처럼 보일 수 있게 아래처럼 해볼 수 도 있다.
print("say \"I can't do it\"")
개행문자의 사용)
의외로 생각보다 개행문자(줄바꿈 등을 위해 사용되는 문자)를 사용하는 경우가 많다.
\n, \t 와같은 커멘드를 통해 줄바꿈을하거나, 띄어쓰기를 할 수 있다.
print('I \t love your \n name')
/*
I love your
name
*/
만약 사용자가 원하는 값이 \name 그 자체라면 "" 앞에 r을 붙이면된다.
print(r'I love your \name')
#I love your \name