본문 바로가기
Python/Python Basic

파이썬, 문자열 처리와 포맷팅(%s, %d 등)

by 워니 wony 2019. 5. 8.

문자열

  • 숫자를 "100"으로 묶어서 쓰면 문자열로 인식하게 된다. 
  • 문자열에서는 해당 문자들의 앞과 뒤에 쌍 따옴표, 또는 단 따옴표를 붙인다.(자바에서는 그렇지 않음, 파이썬은 유연함)
  • a="apple banana", print(a[1])는 p가 노출된다. []를 활용하여 특정 순서의 문자열을 뽑아 올수 있다. 빈칸도 하나의 글자로 인식한다.
  • print(a[3:5])는 le가 노출된다. 3번째부터 4번째 까지 노출하라는 이야기. 뒷숫자 앞까지 자름, 가장 첫 자리는 0으로 시작됨
  • a[0:3]은 a[:3]과 같은 내용, a[3:]인 경우는 3번째 부터 마지막까지 노출해 달라는 이야기. 
  • 전화번호의 경우 숫자가 있지만 연산을 하지 않는다면 문자열 취급한다. 010-1234-1234는 ""로 묶어야 한다.
  • 문자열에서 +는 연결해 달라는 명령어(문자열+숫자+문자열 입력하는 경우 에러 발생한다. 문자열만으로 연결해야한다.)
  • 숫자를 연결해야 한다면, "숫자"로 ""를 사용해서 숫자를 문자로 변경한 다음에 쓰면 된다. ""로 감싸거나 str(숫자) 넣거나 한다.
name="제이니"

age=20

greet="안녕하세요!"

msg=name+'님'+greet+str(age)+'살'

print(msg)​

(결과값)

제이니 님 20 살

  • 자바에는 오류나는 문자 반복 연산자는 *. 문자를 반복해 달라는 것. "문자"*(반복하고자 하는 수)
    자바에서는 불가능 하지만, 문자열에 *연산자를 붙여서 반복으로 사용할 수 있다.
a="-"*50

print(a)

(결과값)

--------------------------------------------------

 

  • 문자열의 길이 구하기, len(). 특수 문자나 빈칸도 하나의 길이로 체크한다.
msg = "안녕하세요. 반갑습니다."
print(len(msg))

(결과값)

13

  • 문자열 포맷팅 %, 이렇게 쓸수 있지만 이렇게 쓰는 경우가 많지는 않다.
color="red"

s = "I like %s"%color
i = "I like "+color

print(s)
print(i)

(결과값)

I like red
I like red

 

  • 문자열 포맷팅 %, %s는 문자열, %d는 정수형, %f는 실수형 숫자(%.2f는 소수점 2번째 까지 나오는 서식)
kor=88
eng=95
math=97

sum=kor+eng+math

avg=sum/3

r="합계:%d, 평균:%.2f"%(sum,avg)

print(r)

(결과값)

합계:280, 평균:93.33

 

 

문자열 포맷팅 코드

ㅇ 포맷팅 코드

%d     정수형 숫자

%s     문자열

%.2f   실수형숫자, 2는 소수점 둘째 자리까지

%%   %기호 자체를 나타내는데 사용

%6s   6자리의 문자열

%5d   5자리의 정수형 숫자

 

 

 

텍스트 추출

  • 변수[0]은 변수에서 0번째 것을 선택하는 것이다. 프로그램에서는 처음 시작하는 문자를 1이 아닌 0부터 시작됨
  • 빈칸도 하나의 공간으로 인식하기 때문에 빈칸의 자리를 선택, 지정하면 빈칸이 노출된다. 빈칸도 하나의 글자로 취급이 된다.
  • 일부분을 문자를 잘라와야 하는 경우가 있다. 슬라이싱, spilcing 그건 변수[0:3]으로 쓰면된다. 그럼 0번째 부터 3번째 전까지 문자를 잘라서 가져온다. 0번, 1번, 2번째 문자를 가져옴
  • 변수[3:]은 3번째 부터 끝까지 다 가져와 라는 뜻이다.
  • 변수[:4]는 처음부터 4번쨰 전까지 가져오라는 뜻이다.
word="hello korea"

print(word)
print('l',word[0],'l')
print("l",word[5],"l")
print(word[0:3])

(결과값)

hello korea
l h l
l   l
hel

 

  • +는 숫자의 경우 연산자로 작용하지만, 문자의 경우 연결 연산자로 쓰인다.
    문자열 + 숫자는 오류가 난다. 문자열로 연결 하려면 숫자는 str으로 형 변환 해야 한다.

name="kate"
greet="hello, You are welcome!"


msg=name+"님, "+greet
print(msg)


title = "파이썬"
year = 2019
msg2=title+str(year)

print(msg2)

(결과값)

kate님, hello, You are welcome!
파이썬2019

 

 

 

반응형

댓글