Python 3.

Jiwon Lee·2022년 1월 21일
0

Python

목록 보기
3/3
post-thumbnail

문자열


문자열을 나열하는 방법은 크게 두 가지로 설명한다.

  • 보통 문자열을 생성할 때
print(sentence)			#나는 이지원입니다.
sentence2 = "파이썬을 배우는 중이에요."
print(sentence2)		#파이썬을 배우는 중이에요.

이렇게 작은 따옴표(')나 큰 따옴표(")를 사용하여 문자열을 생성하는 것을 볼 수 있다.

  • 여러 문자열을 한꺼번에 생성할 때
sentence3 = """
나는 이지원입니다.
파이썬을 배우는 중이에요.
"""
print(sentence3)		#나는 이지원입니다.
				파이썬을 배우는 중이에요.

위의 예시와 같이 2개 이상의 문자열을 한번에 생성하려면, 큰따옴표(""") 3개를 연속으로 문자열의 앞뒤에 배치하여 감싸면 그대로 출력이 가능하다.


슬라이싱

슬라이싱이란, 연속적인 객체들의 범위를 지정/선택하여 객체들을 불러오는 방법을 말한다.


  • 들어가기 전에, 미리 알아두면 좋은 것들!
    🖤인덱스는 1이 아닌, 0부터 시작한다.
    🖤~부터 를 표현하는 부호는 (:)'콜론'을 사용한다.

예시를 들어 알아보자.

우리나라에서 문서에 대한 날짜를 기입할 때에는 보통 0000/00/00 (연도/월/일)순으로 적는다.

date = "2022.01.20"
print("연 : " + date[0:4])		#연 : 2022
print("월 : " + date[5:7])		#월 : 01
print("일 : " + date[8:10])		#일 : 20

또 다르게는 인덱스의 맨 처음 부터나, 맨 뒤 까지로 범위를 잡을 때엔 생략도 가능한데,

print("연 : " + date[:4])		#연 : 2022
print("일 : " + date[8:])		#일 : 20

위와 같이 표기하여 맨 처음 예시와 같은 값을 생성할 수 있다.

미국의 표기법은 우리나라와 정 반대로 00/00/0000 (연도/월/일)순으로 적기 때문에, 뒤에서 부터 순서를 세는 경우를 알아보도록 하자.

print("연 : " + date[-4:])		#연 : 2022
print("월 : " + date[-7:-5])		#월 : 01
print("일 : " + date[:-8])		#일 : 20

🖤뒤에서 부터 셀 때는, 0이 아닌 -1부터 적용이 된다.


문자열처리함수

문자열 안에 있는 것들을 처리할 수 있는 여러가지 기능들


  • 'Python'이라는 변수를 하나 생성해보았다.
Python = "Python is amazing"
  1. 모든 글자를 소문자로 변경
print(python.lower())		#python is amazing
  1. 모든 글자를 대문자로 변경
print(python.upper())		#PYTHON IS AMAZING
  1. 대소문자 구별법
print(python[0].isupper())		#True

위의 예시에서는 0번째 있는 문자가 대문자인지 확인하는 문자열이다.

  1. 문자열의 길이
print(len(python))		#17

위의 예시는 'len(gth)'를 사용해서 문자열의 길이를 측정한다.

  1. 문자 변경
print(python.replace("Python","Java"))		#Java is amazing

위의 예제에 나온'Python'을 'Java'로 변경해보았다.

  1. 문자의 위치 확인
index = python.index("n")
print(index)				#5

index라는 변수를 만들어 그 안에 'n'이 몇번째에 위치하는지 알아보았다.

index = python.index("n", index + 1)		#15

그 다음 'n'의 위치를 찾기 위해 'index + 1'을 추가하여 '15'라는 답을 얻을 수 있다.

  1. 'Find' 로 위치 확인
print(python.find("Java"))		#-1

위와 같이 'find'를 이용하면 없는 값은 '-1'로 값이 나온다.

print(python.index("Java"))		#ValueError: substring not found...

이렇게 'index'를 이용하면 'Error'가 뜨는 것을 확인할 수 있다.

  1. 문자의 갯수 구하기
print(python.count("n"))		#2

python'이라는 변수 안에 'n'이 몇개가 들어있는지 알 수 있다.


문자열포맷


문자열을 포맷을 지정하는 방법들을 알아보자.

  • 방법 1.
print("나는 %d살입니다." % 20)		#나는 20살입니다.

'd'는 정수만 넣을 수 있다.

print("나는 %s를 좋아해요." % "파이썬")		#나는 파이썬을 좋아해요.

's'는 문자열(string)의 첫글자이기 때문에, 큰따옴표(")로 감싸준다.

print("Apple은 %c로 시작해요." %"A")

'c'는 캐릭터라 한 글자 "A"(문자)만 받는다.

🖤참고로 %s를 사용하면 정수와 문자 모두 값 출력을 할 수 있다.

그러면 여기서 값을 2개 이상 출력하려면 어떤 방법이 있을까.
print("나는 %s색과 %s색을 좋아해요." % ("보라", "빨간")) #나는 보라색과 빨간색을 좋아해요.

  • 방법 2
    두번째 방법으로는 중괄호({})를 사용하여 값을 출력해보자.
print("나는 {}살입니다.".format(20))		#나는 20살입니다.

format()안에 입력된 값이 앞의 문장 사이의 중괄호에 넣어져 출력되는 것을 볼 수 있다.

print("나는 {}색과 {}색을 좋아해요.".format("보라", "빨간"))		#나는 보라색과 빨간색을 좋아해요.

값이 2개 이상이어도 위와 같이 쉼표(,)를 넣어 값을 출력할 수 있다.

print("나는 {1}색과 {0}색을 좋아해요.".format("보라", "빨간"))		#나는 빨간색과 보라색을 좋아해요.

순서 변경도 가능다. 1번째와 0번째의 값을 출력하라는 {1},{0}을 넣어서 format안의 순서를 바꿔서 생성할 수 있다.

  • 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color = "빨간"))
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20))

아래 format의 순서가 다르더라도, 중괄호 안에서 변수를 부르는 값이 같다면 같은 내용을 출력하게 된다. 따라서 위 두 문자열은 같은 값을 출력하게 된다.

  • 방법 4
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")

문장 앞에 'f'를 적고 나면, 중괄호 안의 값은 실제 변수에서 사용된 값을 그대로 출력해낼 수 있다.


탈출문자


  • 줄바꿈
print("백문이 불여일견\n백견이 불여일타")		#백문이 불여일견
						 백견이 불여일타

위의 문장 사이에 줄바꿈이 필요한 경우엔, \ + n을 해주면 줄바꿈이 되어 출력 되는 것을 확인할 수 있다.

  • 문장 내의 따옴표 사용
print("저는 "이지원"입니다.")

위의 예제를 그대로 출력해보면 에러가 뜨게 된다. 큰따옴표가 중복이 되어 값을 제대로 생성해내지 못하기 때문이다. 이러한 경우에, 문장 안의 큰따옴표를 그대로 출력해내려면 어떻게 해야할까.

print("저는 \"이지원\"입니다.")			#저는 "이지원"입니다.

이렇게 \역슬래시를 큰따옴표(") 앞에 사용해주면 큰따옴표가 그대로 출력이 되는 것을 확인할 수 있다.

  • 커서를 맨 앞으로 이동하기
print("Red Apple\rPine")		#Pine Apple

\r을 이용하면 가장 앞의 Red로 커서를 이동시켜 Pine으로 바꿔 적용하게 된다.

  • 백스페이스 (한 글자 삭제)
print("Redd\bApple")		#RedApple

위와 같이 \b를 사용하면 앞의 한 글자를 삭제할 수 있다.

print("Red\tApple")		#Red	Apple

위의 예제에서 \t를 사용하면, 'Tab'키를 사용하는 것과 같은 효과가 적용되어 출력 되는 것을 확인할 수 있다.

0개의 댓글