파이썬에서 문자열을 표현하는 방식과 입/출력방식에 대해 알아보자.
파이썬 문자열과 출력
파이썬에서 문자열은 작은 따옴표(‘’), 큰 따옴표(“”), 따옴표 세 개(‘’’ 또는 “””)로 표현할 수 있다.
- 따옴표 세 개로 문자열을 정의할 경우, 코드 상 여러 줄에 걸친 문자열을 쓸 때 사용한다.
또한 줄 바꿈이 있을 경우 결과물에서도 줄 바꿈이 적용된다. - 파이썬 문자열에서 모든 공백 문자 즉, 띄어쓰기나 탭 등은 입력한 그대로 유지된다.
-
str(정수)
함수로 정수를 문자열로 변환할 수 있다.
- 파이썬에서 문자열의 +연산은 문자열 끼리만 가능하다.
문자열 + 문자열 = 가능
문자열 + 정수 = 불가능
문자열 포맷팅
문자열 중간에 데이터를 삽입하고자 할 때 사용하는 '문자열.format()'함수를 알아보자.
▶ 위치 지정하여 삽입
print(“{1} was {0} years old when he”.format(age, name))
=> Swaroop was 20 years old when he
▶ 순서대로 삽입
print(“{} was {} years old when he”.format(name, age))
=> Swarrop was 20 years old when he
▶ 변수로 지정하여 삽입
print(‘{name} wrote {book}‘.format(name='Swaroop',book='A Byte of Python'))
=> Swaroop wrote A Byte of Python
▶ 소수점표기 ( 소수점 이하 자릿수 지정)
print(‘{0:.3f}‘.format(1.0/3))
=> 0.333
“어쩌구 %d 저쩌구”.%3 의 형식으로도 가능하다. ( %s, %f … )
▶ 칸채우기
print(‘{0:a^11}‘.format(‘hello’))
=> aaahelloaaa
11자리 중 나머지를 ‘a’로 채우고 hello 가운데 정렬(^)
( 가운데정렬(^), 왼쪽 정렬(<), 오른쪽 정렬(>) )
▶ 문자열,데이터 붙이기
print (‘Area is’, area, breadth, “aaa”)
=> Area is (area값) (breadth값) aaa
python에서 print문은 콤마(,)로 이어서 출력이 가능하다. 문자열 뿐만 아니라 정수형 데이터 또한 가능
▶ %를 이용하여 데이터삽입
print(“aa %s aa” % “바보”)
=> aa 바보 aa
%s, %d 등을 이용하여 삽입할때는 뒤에 %를 붙여 데이터를 삽입할 수 있다.
print함수 줄바꿈 무시하기
print()함수는 자동으로 한번 출력 후 줄바꿈이 실행되는데, 이를 무시할 수도 있다.
단, python2와 python3간에는 약간의 문법차이가 있다.
- Python2 : 끝에 콤마(,)를 찍어 줄 바꿈을 막는다.
Ex ) print “a”, - Python3 : ,end=””등을 이용하여 막는다.
Ex ) print(“a”,end = "")
python2에서는 print를 괄호() 없이 사용하고, python3에서는 print()로 사용한다.
이 외에도 문법적인 차이가 조금씩 있기는 하지만 무엇으로 하든 공부하기에 큰 지장은 없다.
이스케이프 문자 무시하기
\n등의 줄바꿈 문자를 표기하는 역슬래쉬로 사용하는 문자들을 이스케이프 문자라고 하는데,
이를 화면상에 그대로 출력하고 싶을때 사용하는 방법이 있다.
문자열 앞에 r을 붙이게 되면 이스케이프 문자를 무시하고 문자열 그대로 출력하게 된다.
두 줄 이상의 문자열 표현
코드상 두 줄 이상의 문자열을 하나의 print문에 사용할때 쓰는 방법에 대해 알아보자.
▶ 명시적 행간 결합
코드상 하나의 명령문이 너무 길어질 때 사용하는 방법으로 끝에 '\'를 붙이게 되면, 코드상으로는 여러 줄을 나타내지만 실질적으로는 한줄로 처리하게 된다.
=> 즉, 원래 한 줄의 명령어를 여러 줄에 걸쳐 쓸 때 사용
이 방법은 문자열 뿐만 아니라 모든 명령어에서 동일하게 적용된다.
- 또는 문자열의 경우에는 ‘’’ ~ ‘'’로 표현이 가능하다. 단, ‘’’ 안에서 문자열을 사용할 경우 코드상의 줄바꿈이 그대로 실행되기 때문에 주의하도록 하자.
입력 받기
사용자로 부터의 입력은 input()함수를 사용하여 받게된다.
해당 입력값이 함수의 반환값으로 반환되어 이를 변수에 저장할 수 있게된다.
cf ) int(input("표기할 문자"))를 이용하면 입력과 동시에 형변환 또한 가능하다.
( raw_input() 메서드는 파이썬3에서는 사용불가 = 삭제됨 )
문자열 관련 함수
-
- len(문자열)
- 문자 또는 열거형 데이터의 길이를 int형으로 반환
-
- 문자열1.count(“문자열2”)
- 문자열1에 포함되어있는 문자열2의 개수를 int형 반환
-
- 문자열1.find(“문자열2”)
- 문자열1에서 문자열2를 찾아, 문자열1에서 문자열2가 시작되는 인덱스를 int형 반환
( 못 찾으면 -1 반환 )
-
- 문자열1.index(“문자열2”)
- find()와 같은 기능을 하지만 못 찾을 경우 에러 발생
-
- 문자열1.join(“문자열2”)
- 문자열2의 단어 사이마다 문자열1을 삽입
-
- 문자열.upper()
- 대문자 변환
-
- 문자열.lower()
- 소문자 변환
-
- 문자열.lstrip()
- 왼쪽공백지우기,
( rstrip()오른쪽, strip()양쪽 )
-
- 문자열.split(“문자열”)
- 매개변수를 기준으로 기존 문자열을 나누고 리스트로 반환
파이썬 변수
파이썬은 변수를 따로 선언하지 않고도 바로 대입과 동시에 변수가 선언됨과 같은 역할을 한다.
-
- 파이썬 식별자(변수) 이름 규칙
- 앞 문자는 알파벳(대/소) 혹은 언더바( _ ) 나머지는 문자, 언더바( _ ), 숫자
파이썬의 물리적 명령 행과 논리적 명령 행
- 물리적 명령 행 : 프로그램 코드 내의 한 줄
- 논리적 명령 행 : 인터프리터가 인식하는 한 명령의 단위
하나의 물리적 명령 행에 두 개의 논리적 명령 행을 넣게 될 경우 오류로 간주한다.
따라서 파이썬에서는 세미콜론(;)을 사용하지 않지만 이 경우에는 세미콜론으로 구분 지어 사용한다.
단, 파이썬에서는 세미콜론을 허용하기 때문에 명령어 끝에 세미콜론을 써도 되지만 권장사항은 아니다.