1. len()
- int형의 경우 사용이 안된다.
- 문자의 길이를 확인할때 사용된다.
- 문자열, 튜플, 리스트
str='""1234'
print(len(str))
>> 6
list =[0,1,2,3,4,5]
print(len(list))
>> 6
tuple=(1,2)
print(len(tuple))
>> 2
2. Raw String
- Escape문에 영향을 받지않고 그대로 표시
- 출력할 문자열 앞에 r을 붙여 주어 사용
print("c:\programs\test")
>> c:\programs est
print(r"c:\programs\test")
>> c:\programs\test
3. Multi line
- 한 줄이 너무 길어질때 \ 를 사용하여 가독성을 높이기 위해 사용
print("test를 위한 문자열 입니다. test를 위한 문자열 입니다.")
>> test를 위한 문자열 입니다. test를 위한 문자열 입니다
print("test를 위한 문자열 입니다. \ntest를 위한 문자열 입니다.")
>>
test를 위한 문자열 입니다.
test를 위한 문자열 입니다.
4. 문자열 연산과 데이터 타입 변환
a='test'
a+='를'
a+=' 위한 문자열 입니다.'
print(a)
>> test를 위한 문자열 입니다.
a='test'
a+='를'
a+=' 위한 문자열 입니다.'
print(a*3)
>> test를 위한 문자열 입니다.test를 위한 문자열 입니다.test를 위한 문자열 입니다.
str='abcdef'
print("abc" in str)
print("A" in str)
>>
True
False
5. upper()
a='abcdef'
print(a.upper())
>> ABCDEF
6. lower()
a='AbCdEf'
print(a.lower())
>>abcedf
7. count()
a='aaaaaaaaaaaabbbbbbAAAAAAA'
print(a.count('a'))
>> 12
8. replace()
a='aaaaaaaaaaaabbbbbbAAAAAAA'
print(a.replace('a', 'b')) // a -> b로 바꿔준다
>> bbbbbbbbbbbbbbbbbbAAAAAAA
9. split()
사용법
- 문자열.split
- 문자열.split('구분자')
- 문자열.split('구분자', 분할횟수)
- 문자열.split(sep='구분자', maxsplit=분할횟수)
a='i am korean'
print(a.split()) // 공백 기준으로 나눠줌
>> ['i', 'am', 'korean']
a='i am korean'
print(a.split('a')) // a를 기준으로 나눠줌
>> ['i', 'm kore', 'n']
구분자 및 분할횟수를 지정한 split사용
a = "hello.my.name.is.jin"
print(f'\n1. origin\n{a}')
a1 = a.split()
a2 = a.split(',', 3)
a3 = a.split(sep='.', maxsplit=3)
a4 = a.split('.', maxsplit=3)
print(f"\n2. a.split()\n{a1}")
print(f"\n3. a.split('.', 3)\n{a2}")
print(f"\n4. a.split(sep='.', maxsplit=3)\n{a3}")
print(f"\n5. a.split('.', maxsplit=3)\n{a4}")
>>>
1. origin
hello.my.name.is.jin
2. a.split()
['hello.my.name.is.jin']
3. a.split('.', 3)
['hello.my.name.is.jin']
4. a.split(sep='.', maxsplit=3)
['hello', 'my', 'name', 'is.jin']
5. a.split('.', maxsplit=3)
['hello', 'my', 'name', 'is.jin']
10. swapcase()
a='I am Korean'
print(a.swapcase())
>> i AM kOREAM
11. print(a)
a='I am Korean'
print(a)
>> I am Korean
12. print(a[n])
a='I am Korean'
print(a[3])
>> m
13. print(a[0:n])
a='I am Korean'
print(a[0:7])
>> I am Ko
14. print(a[n:])
a='I am Korean'
print(a[3:])
>> m Korean
15. print(a[:n])
a='I am Korean'
print(a[:3])
>> I a
16. print(a[-1])
a='I am Korean'
print(a[-1])
>> n
find
- 특정 문자열의 유무 확인
- set자료형에서 set in 함수도 가능하지만 find 도 가능하다.
- 문자가 여러 개 라면 맨 처음에 찾은 인덱스를 반환
- 찾는 문자가 없으면 -1을 반환
find 사용법
- 문자열.find(a)
- 문자열.finx(a,start)
- 문자열.finx(a,start,end)
rfind
- 특정 문자열 유무 확인
- 문자가 여러 개 라면 맨 마지막 인덱스를 반환
- 찾는 문자가 없으면 -1을 반환
test = "findtest"
a= test.find('d')
print(f"test.find('d') : {a}")
a1= test.rfind('a')
print(f"test.rfind('a') : {a1}")
a2= test.find('a')
print(f"test.rfind('a') : {a2}")
a3= test.rfind('t')
print(f"test.rfind('t') : {a3}")
a4= test.find('t')
print(f"test.rfind('t') : {a4}")
>>>
test.find('d') : 3
test.rfind('a') : -1
test.rfind('a') : -1
test.rfind('t') : 7
test.rfind('t') : 4
capitalize
- 첫 문자만 대문자로 변경하고 나머지 문자열은 모두 소문자로 변경한 문자열 반환
title
- 각 단어의 앞 문자를 대문자로 바꿔주고 다른 문자들은 소문자로 변경한 문자열을 반환
test = "my name is cocobol"
test2 = "your name is cocomong"
a= test.capitalize()
print(f"test.capitalize() : {a}")
a2=test.title()
print(f"test.title() : {a2}")
>>>
test.capitalize() : My name is cocobol
test.title() : My Name Is Cocobol