오늘의 파이썬 강좌는
문자열, 슬라이싱, 탈출문자 배우기
점점 복잡해지고 있지만 난 괜찮아~
파이썬 공부 함께해요~
1. 파이썬 문자열
1. 문자열
1) 문자열 한 줄: ‘ㅋㅋ’(작은 따옴표 1번), “ㅋㅋ”(큰 따옴표1번)
sentence = ‘나는 소년입니다’
print(sentence) #나는 소년입니다
sentence2 = “나는 소년입니다”
print(sentence2) #나는 소년입니다
2) 문자열 여러 줄: “””ㅋㅋ“””(큰 따옴표 3번)
stence3 = “””
나는 소년이고,
파이썬은 쉬워요
“””
print(sentence3)
나는 소년이고,
파이썬은 쉬워요
2. 슬라이싱: 문자열의 일부를 가져오는 것
a. 변수 [ 몇 번째? ] – 대 괄호를 사용하는 것
** 몇 번째는 0부터 세는 것
*** 범위를 지정할 때 [a:b] - a부터 b를 포함하지 않은 직전까지 정보
파이썬 예제: 주민등록번호 이용
jumin = "990120-1234567" |
b. 처음부터 어디까지, 어디부터 끝까지 일 때
처음과 끝은 빈칸으로 둬도 된다.
print("생년월일 :" + jumin[0:6]) #생년월일 :990120 print("뒤 7자리:" + jumin[7:14]) # 뒤 7자리:1234567 print("뒤 7자리:" + jumin[7:]) #뒤 7자리:1234567 |
c. 뒤에서부터 불러 올 때
맨 끝자리를 -1로 세면 됨
990120-1234567 라고 할 때
7: -1
1: -7
print("뒤 7자리(뒤에부터) :" + jumin [-7:]) |
3. 문자열 처리 함수
1) 소문자로 출력해 주는 함수: 변수.lower()
대문자로 출력해 주는 함수: 변수.upper()
python = "Python is Amazing" |
2) 변수의 N번째가 대문자인지 확인하는 함수: 변수[N].isupper()
print(python[0].isupper()) #True |
3) 문자 개수를 세주는 함수: len( )
** 빈칸을 포함하여 센다
예) 나는 꽃: 4로 반환
print(len(python)) #17 |
4) 문자를 다른 문자로 바꿔주는 함수: 변수.replace(a,b)
a: 바꿔야하는 것, b: 바꾸고싶은 것
print(python.replace("Python","Java")) #Java is Amazing |
5) 찾는 것이 몇 번 째에 위치한 지 알려주는 함수: 변수.index(“찾는 것”)
a. 찾는 것이 여러 개 일 경우 처음 위치를 반환한다.
index = python.index("n") |
b. 처음 위치 다음 위치를 찾을 때
index = python.index(“n”, index +1)
index+1은 어디서부터 찾을 지 시작 위치를 의미함
index = python.index("n", index+1) |
c. index와 비슷한 함수: find
print(python.find("n")) #5 |
** 차이점: 에러시 find는 -1을 반환함, index는 오류가 남
print(python.find("Java")) #-1 print(python.index("Java")) #Traceback (most recent call last): ~ |
index는 오류가 나기 때문에 뒤의 문법이 진행되지 않음
d. 찾는 것이 몇 번 등장하는지 세워주는 함수: count
print(python.count("n")) #2 print(python.count("is")) #1 |
4. 문자열 포맷
1) 문자열 대신 변수 이용하기: %
a. 정수형: %d
b. 문자열: %s
c. 문자 (한 글자): %c
d. 한 문장에 2개 이상 넣을 때 뒤에는 %(“ㅋ”,”ㅁ”)
괄호 안에 순서 대로 문자열을 넣어 준다
print("나는 %d살입니다." %20) #나는 20살입니다. print("나는 %s색과 %s색을 좋아해요" %("파랑", "빨간")) #나는 파랑색과 빨간색을 좋아해요 |
2) 문자열 대신 변수 이용하기: { }
a. {숫자} : 뒤에 입력한 순서에서 숫자의 순서를 출력함
b. .format( ): %와 다르게 뒤에는 .format() 구문으로 입력함
print("나는 {}살입니다." .format(20)) #나는 20살입니다. |
c. 숫자 대신 변수와 변수 선언을 넣어도 됨
print("나는 {age}살이며, {color}색을 좋아해요" .format(age=20, color="빨간")) print("나는 {age}살이며, {color}색을 좋아해요" .format(color="빨간",age=20,)) #나는 20살이며, 빨간색을 좋아해요 |
3) 변수를 미리 선언하고, 그 값을 출력 함
print( f “문장 내에 {}를 변수 값에 넣음”)
age = 20 print(f"나는 {age}살이며, {color}색을 좋아해요") #나는 20살이며, 빨간색을 좋아해요 |
5. 탈출 문자
1) 줄바꿈: \n
*\(역 슬래시)는 키보드 엔터 위에 \표시와 함께 있음
2) “문자” 처럼 출력하고 싶을 때
a. 문장을 ‘(작은 따옴표로)로 감싼다
b. “전에 역슬래시)를 넣는다
print('저는 "나도코딩" 입니다') print("저는 \"나도코딩\" 입니다") #저는 "나도코딩" 입니다 |
3) 문장내에서 \를 넣고 싶을 때: \\
print("출력: C:\\Users\\addvalueforme\\Desktop\\PythonWorkspace") #출력: C:\Users\addvalueforme\Desktop\PythonWorkspace |
4) 커서를 맨 앞으로 이동: \r
즉, r뒤의 문자를 맨 앞의 글자부터 덧붙였음
print("Red Apple\rPine") #PineApple
4) 한 글자 지우는 것, 백스페이스 역할: \b
print("Redd\bApple") #RedApple
5) 탭 역할: \t
print("Red\tApple") #Red Apple
6. Quiz
문제: 사이트 별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
규칙1: http:// 부분을 제외 => naver.com
규칙2: 처음 만나는 점(.) 이후 부분은 제외 =>naver
규칙3: 남은 글자 중 처음 세자리 + 글자 개수 + 글자 내 ‘e’ 개수 + “!”로 구성
#내가 푼 답 site = "http://naver.com" site1 = site[7:] #규칙 1 naver.com site2 = site1[:5] #규칙 2 naver
print( "생성된 비밀번호: " + site2[:3] + str(len(site2)) + str(site2.count("e")) +"!") #생성된 비밀번호: nav51!
#실제 정답 url = "http://naver.com" my_str = url.replace("http://", "") print(my_str) my_str = my_str[:my_str.index(".")] #처음부터 my_str에서 처음 나오는 .의 위치까지를 잘라서 반환함 #즉 my_str[0:5] password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) +"!" print("{0}의 비밀번호는 {1} 입니다" .format(url, password)) #http://naver.com의 비밀번호는 nav51! 입니다 |
* index함수를 응용하는 것을 놓침
* 단순히 print 하는 것이 아니라 변수를 활용하는 응용력이 필요함
오늘은 여기까지~
파이썬도 파이썬이지만 티스토리에 역슬래쉬 \ 찾는게 힘들 줄이야
파이썬 코드에 쓰듯이 누르면 \가 나온다
무슨 코드가 따로 있나 찾다 못찾고...
특수 문자에서 찾아 보았지만... .... ... 없다
그래다가 찾았다 ㄱ+한자키 조합으로 찾을 수 있다
구 버전에는 특수문자에 있지만
새 에디터에서 역슬래쉬는 기역(ㄱ) + 한자키 누르고
밑으로 내리면 있어요
2020/04/13 - [Programming/Python] - [Python] 파이썬 기초 공부 03 (feat. 나도코딩)_연산자와 함수
2020/04/09 - [Programming/Python] - [Python] 파이썬 기초 공부 02 (feat. 나도코딩)_설치와 자료형 배우기
2020/04/07 - [Programming/Python] - [Python] 파이썬 기초 공부 01 (feat. 나도코딩)_강의소개
'Programming > Python' 카테고리의 다른 글
[Python] 파이썬 기초 공부 06 (feat. 나도코딩)_If 조건문, for/while 반복문 (0) | 2020.04.16 |
---|---|
[Python] 파이썬 기초 공부 05 (feat. 나도코딩)_자료 구조 (0) | 2020.04.15 |
[Python] 파이썬 기초 공부 03 (feat. 나도코딩)_연산자와 함수 (0) | 2020.04.13 |
[Python] 파이썬 기초 공부 02 (feat. 나도코딩)_설치와 자료형 배우기 (0) | 2020.04.09 |
[Python] 파이썬 기초 공부 01 (feat. 나도코딩)_강의소개 (0) | 2020.04.07 |