본문 바로가기
Python

[Python] 파이썬 - 09. 문자열(String)활용

by Hoody Coder 2023. 5. 20.

  국내에서 가장 많이 사용하는 언어가 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

 

Index로 돌아가기