- 예제1: 한줄 띄우기

'나는\n곽도성'
'나는\n곽도성'
print('나는\n최규빈')
나는
최규빈

예제2: 탭

print('나는\t곽도성')
나는	곽도성

- 예제3: 이스케이프

나는\n최규빈 자체를 출력하고 싶다

print('나는\\n최규빈')
나는\n최규빈
print('\\')
\
print('나는\'최규빈\'')
나는'최규빈'
print("나는'최규빈'")
나는'최규빈'

문자열 메소드

- 예제1

S = 'spammy'
S.replace('mm','xx')
'spaxxy'

예제2

S = 'xxxxSPAMxxxxSPAMxxxx'
S.replace('SPAM','EGGS')
'xxxxEGGSxxxxEGGSxxxx'
S.replace('SPAM','EGGS',1)
# 1번만 바꿔라
'xxxxEGGSxxxxSPAMxxxx'

예제1

S = 'xxxxSPAMxxxxSPAMxxxx'
where=S.find('A')
where
6
a=S.find('SPAM')

SPAM자체를 찾진 않음

a
4
S[a]
'S'
S[:a]+'EGGS'+S[(where+4):]
'xxxxEGGSxxSPAMxxxx'

예제1

S='spammy'
S[3:5]
'mm'
 
  • mm을 xx로 바꾸고 싶은데 문자열불변리스트라서 바꿀 수 없다.
  • then 문자열을 잠시 가변객체인 리스트로 바꾼뒤 리스트에서 자유롭게 편집하고 그 다음에 다시 문자열로 만들자.
L=list(S)
L
['s', 'p', 'a', 'm', 'm', 'y']
L[3:5]
['m', 'm']
L[3:5]=['x','x']
L
['s', 'p', 'a', 'x', 'x', 'y']

'-'.join(['a','b','c'])
'a-b-c'

S=''.join(L)
S
'spaxxy'

예제1

s='bob,hacker,40'
s
'bob,hacker,40'
a=s.split(',')
a
['bob', 'hacker', '40']
type(a)
list

list형태임

예제2

s= 'aaa bbb ccc'

구분되어 있는 게 스페이스이기 때문에

스페이스 기준으로 나눠서 원소만들고 list안에 넣어준다 = split

s.split(' ')
['aaa', 'bbb', 'ccc']
s.split()
['aaa', 'bbb', 'ccc']

s: 스트링

(스트링을 받아서 넣어줌)

'age: %s' % '35'
'age: 35'
'age: %s' % 'e'
'age: e'
'age: %a' % 'e'
"age: 'e'"

d: 정수

'age: %d' % 39.254
'age: 39'

f: 플롯

'age: %f' % 39
'age: 39.000000'

- 예제2

'addr: %s to %s' % ('seoul','jeonju')
'addr: seoul to jeonju'

꼭 tuple(괄호가 포함된 상태)로 묶어주어야 함


이렇게 사용하면 안 됨

'addr: %s to %s' % ['seoul','jeonju']
'addr: %s to %s' % 'seoul','jeonju'

s = 'addr: %s to %s' 
s % ('seoul','jeonju')
'addr: seoul to jeonju'

딕셔너리 기반 포매팅

- 예제1

'여기 %(food1)s 1개, %(food2)s 1개 주문이요' % {'food1':'짜장면','food2':'짬뽕'}
'여기 짜장면 1개, 짬뽕 1개 주문이요'
'여기 %(food1)s 1개, %(food2)s 1개 주문이요, 아.. 아니다. %(food1)s은 취소하고 그냥 %(food2)s 두개 주세요' % {'food1':'짜장면','food2':'짬뽕'}
'여기 짜장면 1개, 짬뽕 1개 주문이요, 아.. 아니다. 짜장면은 취소하고 그냥 짬뽕 두개 주세요'

- 예제2

mail='%(studentname)s 학생 안녕하세요\n저는 통계학과 xxx 교수 입니다.\n전공설계과목 지침에 따라 %(studentname)s학생과 2회 상담을 실시해야 합니다.\n저는 %(day)s에 시간이 괜찮은데 %(studentname)s 학생도 그날 시간이 괜찮을까요?\n' 
print(mail % {'studentname':'곽도성', 'day':'5월31일'})
곽도성 학생 안녕하세요
저는 통계학과 xxx 교수 입니다.
전공설계과목 지침에 따라 곽도성학생과 2회 상담을 실시해야 합니다.
저는 5월31일에 시간이 괜찮은데 곽도성 학생도 그날 시간이 괜찮을까요?

- 예제3

import pandas as pd
df=pd.DataFrame({'studentname':['As','Bs'],'day':['5월31일','6월3일']})
df
studentname day
0 As 5월31일
1 Bs 6월3일
df.loc[:,['day']]
day
0 5월31일
1 6월3일
df.iloc[[0]]
studentname day
0 As 5월31일
dict(df.iloc[1])
{'studentname': 'Bs', 'day': '6월3일'}
dict(df.iloc[[1]])
{'studentname': 1    Bs
 Name: studentname, dtype: object,
 'day': 1    6월3일
 Name: day, dtype: object}
for i in [0,1]:
    print(mail % dict(df.iloc[i]))
As 학생 안녕하세요
저는 통계학과 xxx 교수 입니다.
전공설계과목 지침에 따라 As학생과 2회 상담을 실시해야 합니다.
저는 5월31일에 시간이 괜찮은데 As 학생도 그날 시간이 괜찮을까요?

Bs 학생 안녕하세요
저는 통계학과 xxx 교수 입니다.
전공설계과목 지침에 따라 Bs학생과 2회 상담을 실시해야 합니다.
저는 6월3일에 시간이 괜찮은데 Bs 학생도 그날 시간이 괜찮을까요?

메서드

mail='{studentname} 학생 안녕하세요\n저는 통계학과 최규빈 교수 입니다.\n전공설계과목 지침에 따라 {studentname}학생과 2회 상담을 실시해야 합니다.\n저는 {day}에 시간이 괜찮은데 {studentname} 학생도 그날 시간이 괜찮을까요?\n' 
mail.format(studentname='박혜원',day='6월2일')
'박혜원 학생 안녕하세요\n저는 통계학과 최규빈 교수 입니다.\n전공설계과목 지침에 따라 박혜원학생과 2회 상담을 실시해야 합니다.\n저는 6월2일에 시간이 괜찮은데 박혜원 학생도 그날 시간이 괜찮을까요?\n'
print(mail.format(studentname='박혜원',day='6월2일'))
박혜원 학생 안녕하세요
저는 통계학과 최규빈 교수 입니다.
전공설계과목 지침에 따라 박혜원학생과 2회 상담을 실시해야 합니다.
저는 6월2일에 시간이 괜찮은데 박혜원 학생도 그날 시간이 괜찮을까요?

예제2

'이름:{},나이:{},성별:{}'.format('곽도성','23','남')
'이름:곽도성,나이:23,성별:남'
df=pd.DataFrame({'a':[1,2,3],'b':[1,2,3]})
df
a b
0 1 1
1 2 2
2 3 3
df.a
0    1
1    2
2    3
Name: a, dtype: int64
df['a']
0    1
1    2
2    3
Name: a, dtype: int64
df[['a']]
a
0 1
1 2
2 3
df.iloc[0]
a    1
b    1
Name: 0, dtype: int64
df.loc[2]
a    3
b    3
Name: 2, dtype: int64
df.iloc[:,0]
0    1
1    2
2    3
Name: a, dtype: int64
df.iloc[:,1]
0    1
1    2
2    3
Name: b, dtype: int64