SH1R0_HACKER

파이썬 문자열 본문

Programming Language/Python

파이썬 문자열

SH1R0_HACKER 2020. 10. 18. 15:39

< 문자열에서 익혀야 하는 함수들 >

len(), map(), input(), split(), format(), f, upper(), lower(), lstrip(), rstrip(), strip(), replace()

 

1.문자열 곱하기

print("*"*10)
print("안녕?")
print("*"*10)
 
# 출력 결과
# **********
# 안녕?
# **********

 

2. 문자열 길이 출력

x = "Hello World!"
print(len(x)) # 12가 출력된다.

 

 

3.문자열 슬라이싱

a = "Hello World!"
print(a[0:5])    # Hello만 출력된다.
# a[0:5] => 0~4까지 출력 (범위 : 0 <= a < 5)
# a[6:] = World! 출력 (6부터 문자열 끝까지)
# a[:5] = Hello 출력 (문자열 처음부터 5까지)
# a[:] = Hello World! 출력 (문자열 처음부터 끝까지)
# a[6:-2] = Worl 출력 (-1은 뒤에서부터 출력한다.)
 
# a[0] = H
# a[1] = e
# a[2] = l
# a[3] = l
# a[4] = o
# a[5] = 공백
# a[6] = W
# a[7] = o
# a[8] = r
# a[9] = l
# a[10] = d
# a[11] = !

 

4. 문자열 슬라이싱을 이용하여 문자열 바꾸기

a = "Hello Word!"
b = a[:9]+'l'+a[9:]
print(b)    # Hello World!가 출력된다.

 

5. 문자열과 정수를 입력받아 출력하기

# 입력받은 문자열을 name 변수에 저장합니다.
name = input("이름을 입력하세요 : ")
# 입력받은 정수를 각각 h, y변수에 저장합니다.
h,m = map(int,input("현재 시각을 입력하세요 (ex : 3 15) : ").split())
 
print("%s님 반갑습니다." % name)
print("현재 시각은 %d시 %d분 입니다." % (h,m))
 
# 문자열 : %s
# 문자1개 : %c
# 정수 : %d
# 부동소수 : %f
# 8진수 : %o

 

 

6. %d와 %를 같이 쓸 경우

print('Battery %d%% left.' % 50)    # % 두 개를 사용하여 50%가 출력되게 한다.

 

 

7. 5번의 업그레이드 버전

 - format()함수를 사용한 포매팅

name = input("이름을 입력하세요 : ")
h,m = map(int,input("현재 시각을 입력하세요 (ex : 03 15) : ").split())
 
print("{0}님 반갑습니다.".format(name))
print("현재 시각은 {hour}시 {minute}분 입니다.".format(hour=h,minute=m))

 

 

8. 정렬

print("%10s" % "Hacker")
# 오른쪽 정렬하고 앞은 공백
# _ _ _ _ H a c k e r
print("%-6sHacker" % "White")
# "Hacker을 왼쪽 정렬하고 앞은 White 출력
# White  H a c k e r
print("{0:<10}".format("Hacker"))
# 왼쪽 정렬
# H a c k e r _ _ _ _ 
print("{0:>10}".format("Hacker"))
# 오른쪽 정렬
# _ _ _ _ H a c k e r
print("{0:^10}".format("Hacker"))
# 가운데 정렬
# _ _ H a c k e r _ _
print("{0:=^10}".format("Hacker"))
# 가운데 정렬 후 공백을 *로 채운다.
# * * H a c k e r * *
print("{0:-<10}".format("Hacker"))
# 왼쪽 정렬 후 공백을 -로 채운다.
# H a c k e r - - - -

 

 

9. 7번의 업그레이드 버전 (소수점 표현 + { 문자} 표현 + f문자열 포매팅)

name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
h,m = map(int,input("현재 시각을 입력하세요 (ex. 03 15): ").split())
pi = 3.14159265359
 
#f 문자열 포매팅은 생성된 변수값을 참조할 수 있다.
print(f'{name}님 반갑습니다.')
print(f'현재시각은 {h}시 {m}분 입니다.')
print(f'{name}님의 10년 뒤 나이는 {age+10}살 입니다.')
 
#format 함수를 사용하여 소수점 2자리까지 표시하기
print("파이값은","{0:0.2f}".format(pi))
 
#{ Hacker } 출력하기
print("{{Hacker}}".format())

 

 

10. 문자 개수세기 & 위치 찾기

a = "White Hacker"
# 문자 개수
print(a.count('e'))        # e의 개수, 2출력
 
# 문자 위치 찾기
print(a.find('e'))        # 문자열 중 e가 처음으로 나온 위치, 4출력
print(a.find('b'))        # b라는 문자열은 없으므로 -1 출력
 
print(a.index('e'))        # find와 같은 역할을 한다.
print(a.index('b'))        # 없는 문자열을 출력하면 오류를 발생시킨다.

 

 

11. 문자열 삽입 & 대소문자 변경 & 공백 지우기 & 문자열 바꾸고 나누기

# 문자열 삽입하기
print(",".join('Hacker'))    # H,a,c,k,e,r 출력
 
a = " aBcD "
 
# 소문자 -> 대문자
print(a.upper())    # ABCD 출력
 
# 대문자 -> 소문자
print(a.lower())    # abcd 출력
 
# 공백 지우기
print(a.lstrip())    # 왼쪽에 있는 한 칸 이상 연속된 공백을 모두 지운다.
print(a.rstrip())    # 오른쪽에 있는 한 칸 이상 연속된 공백을 모두 지운다.
print(a.strip())    # 양쪽에 있는 한 칸 이상 연속된 공백을 모두 지운다.
 
b = "My nickname : Unknown"
 
# 문자열 바꾸기
print(b.replace("Unknown","Shiro Hacker"))    # My nickname : Shiro Hacker 출력
 
# 문자열 나누기
print(b.split())    # ['My', 'nickname', ':', 'Unknown'] 출력
print(b.split(':'))    # ['My nickname', 'Unknown'] 출력

'Programming Language > Python' 카테고리의 다른 글

파이썬 리스트  (0) 2020.10.18
print함수, 변수생성하고 입력받기  (0) 2020.10.18