파이썬 코드를 작성하다 보면, 콤마와 +가 각각 다른 상황에 쓰인다.
정확한 차이를 이해하기 위해 정리해 보려고 한다.
위의 예시에서 보면 a, b 문자열을 콤마로 연결했을 때는 띄어쓰기 되지만, 플러스로 연결했을 때는 붙여서 출력된다.
1, 2 를 콤마로 연결하면 1, 2 각자의 값이 출력되지만, 플러스로 연결하면 합산하여 출력된다.
즉,
콤마로 연결한 값들은, 각 값들 개별로 전달된다.
플러스로 연결한 값들은, 합산하여 하나의 값으로 전달된다.
문자(str)과 숫자(int) 를 혼합하여 연결해 보자. '올해는 2022년 입니다' 문장을 아래처럼 나눠서 연결하려고 한다.
'올해는', '년 입니다' 는 문자(str), 2022 는 숫자(int) 이다.
콤마로 연결한 경우 각 값이 개별 값으로 전달되어 출력되지만,
플러스로 연결한 경우 하나의 값으로 결합되어 출력되므로, 문자와 숫자 형식이 혼합될 수 없어서 아래와 같은 에러가 뜬다.
can only concatenate str (not "int") to str
그래서 숫자 2022을 str()을 통해 문자 형식으로 바꿨더니 문제 없이 연결되었다. (str(2022))
(숫자에 str()을 씌우면 문자로 변환된다. 반대로 문자에 int()를 씌우면 숫자로 변환된다(문자 내용이 숫자일 경우))
반응형
'도구들 > R,파이썬' 카테고리의 다른 글
[파이썬] 파일 읽을때 인코딩 에러 'cp949' codec can't decode byte 0x80 in position 7: illegal multibyte sequence (0) | 2022.07.26 |
---|---|
[파이썬] 텍스트(txt) 파일 내 특정 문자 바꾸고 csv로 저장하기(.replace()) (0) | 2022.06.08 |
[파이썬] 판다스 csv 불러올때 인코딩 에러('utf-8' codec can't decode ) (0) | 2022.05.13 |
[파이썬] 뷰티풀수프bs4 - html 태그 삭제하기(.decompose()) (0) | 2022.04.25 |
[파이썬] module 'html5lib.treebuilders' has no attribute '_base' 에러 해결 (1) | 2022.04.25 |