본문 바로가기
Python

파이썬 변수, 문자열 (Python Variables, String)

by wanttosleep1111 2023. 1. 5.

파이썬 변수, 문자열 (Python Variables, String)

 

▶ 파이썬 주피터노트북 기본 단축키

 

기본 주석
여러 줄을 주석 처리 Ctrl + /
커맨드 모드(Command mode, 파란색) : 셀 자체를 설정  
위로 셀 추가 a
아래로 셀 추가 b
셀 삭제 dd
마크다운 전환 m
셀 상태를 뒤로 되돌리기 y
줄번호 생성 l
에디트 모드(Edit mode, 초록색) : 소스 코드 작성
커맨드 모드로 전환 esc
복사 Ctrl + c
붙여넣기 Ctrl + v
잘라내기 Ctrl + x
앞으로 되돌리기 Ctrl + z
뒤로 되돌리기 Ctrl + y
커서가 위치한 줄 삭제 Ctrl + d
실행 단축키
해당 셀 하나만 실행 Ctrl + Enter
셀을 실행하고 아래로 커맨드 모드 셀 추가 Shift + Enter
셀 실행하고 아래로 에디트 모드 셀 추가
(커서 이동)
Alt + Enter

 


1. 파이썬 변수

대입(할당)

자료형을 선언하지 않음 → 동적자료형

 


 

2. 변수명 규칙

키워드 사용 불가능

함수명으로 변수 선언 가능 (비권장)

import keyword
print(keyword.kwlist)

 


 

3. 파이썬 자료형 

 


 

4. 숫자형 대입

num1 = 13
num2 = 25
num2 = 77
print(num1, num2)


5. 문자열 변수 대입

str1 = "Funny Python"
str2 = 'Easy Python'

print(str1)
print(str2)

※ Tip : 변수 자료형 확인

print(type(str2))


6. 변수 대입 방법

# 변수 a에 10을 대입, b에 15를 대입
a = 10
b = 15
print(a,b)

# 변수 c와 d에 한 번에 20, 25를 대입
c, d = 20, 25
print(c,d)

# 변수 str3, str4에 'python' 문자열 대입
str3 = 'python'
str4 = 'python'
str5 = str6 = 'python'
print(str3, str4)
print(str5, str6)

※ Tip : 복사 개념으로 주소값이 담김

 


7. 문자열 사용 방법

s = 'she\'s gone'
print(s)

str7 = "He said that \"she is gone\""
print(str7)
str8 = 'He said that "she is gone"'
print(str8)

※ Tip : 쌍따옴표와 홑따옴표를 번갈아 사용해 문자열 내 표시 가능

s = "파이썬\n- 동적언어\n- 직관적, 명시적, 간결함"
print(s)

s2 = """파이썬
- 동적언어
- 직관적, 명시적, 간결함"""
print(s2)

※ Tip : 여러 줄의 문장을 하나의 변수에 집어 넣을 때, 홑따옴표나 쌍따옴표 3쌍을 이용 가능

 


8. 특정 문자(열)에 접근하는 방법

① 인덱싱(indexing) : '가리킨다'

② 슬라이싱(slicing) : '잘라온다'

문자열 슬라이싱 : [처음인덱스:끝인덱스+1]

문장의 시작부터 가지고 올 때 시작 인덱스 생략 가능

문장의 끝까지 가지고 올 때 끝 인덱스 생략 가능

문장의 처음부터 끝까지 슬라이싱할 경우 인덱스를 모두 생략 가능 [:]

s3 = 'this subject is python'
s3[:]
s3[0:22]
s3[0:]
s3[:22]
s3[::2] # 두 칸씩 이동하면서 데이터 접근 - [시작값:끝값:증감값]

문장 맨 뒤부터 첫 번째까지 슬라이싱 : 거꾸로 읽기 (for문을 사용하지 않고 출력)

s3[::-1]

day = "2023년 1월 2일의 날씨는 맑음입니다."
print ("날짜 : ", day[:11])
print ("날씨 : ", day[-6:-4])


9. 문자열 함수

 

① find() 함수 : '찾을 문자열' 위치 반환, 없을 시 -1 반환

day = "2023년 1월 2일의 날씨는 맑음입니다."
a = day.find('맑음')
day[:17]
day[a:a+2]

b = day.find('일')
day[:b+1]

day.find('e')

 

② index() 함수 : '찾을 문자열' 위치 반환, 없을 시 에러 출력

day.index('일')

day.index('e')

 

③ len() 함수 : 문자열 개수 반환 (길이 반환), 공백이나 느낌표(!), 물음표(?), 쉼표(,), 온점(.)을 모두 포함한 길이를 반환

len(day)

 

④ replace() 함수 : replace('찾을 문자열', '변경할 문자열'), 특정 문자열을 찾아 바꿔주는 함수

day = day.replace('맑음', '비') # 변경값을 다시 day에 담아줘야 다른 셀에서도 변경값 적용
day

 

⑤ count() 함수 : '찾을 문자열'이 몇 개 있는지 개수 반환

s3 = 'this subject is python'
s3.count('s')

 

⑥ upper() 함수 : 소문자 → 대문자

  lower() 함수 : 대문자 → 소문자

s3 = 'this subject is python'
s3.lower().count('t')

s4 = s3.upper().count('I')
s4

 

⑦ split() 함수 : 문자열 나누기 (기본값은 공백을 기준으로 문자열을 나눔)

s5 = '오늘은. 2023년. 토끼띠. 첫 파이썬. 수업일입니다.'
s5.split('.')

 


 

10. 문자열 포매팅

 

① % 함수를 사용한 포매팅

day = 3
text = "오늘은 1월 %d일 입니다."%day
text

월과 일을 같이 바꾸고 싶은 경우

month = 2
day = 1
text = "오늘은 %d월 %d일 입니다."%(month,day)
text

 

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

month = 1
day = 2
text = "오늘은 {}월 {}일 입니다.".format(month, day)
text

text = "오늘은 {1}월 {0}일 입니다.".format(1,3)
text

※ Tip : format() 함수를 사용한 포매팅을 할 때, {}안의 번호를 바꿔주면 결과가 달라짐.

 

③ f문자열 포매팅

month = 1
day = 2
text = f"오늘은 {month}월 {day}일 입니다."
text

lang = 'python'
s = f"Life is too short, You need '{lang}'"
print(s)

from datetime import datetime
current_time = datetime.now() #현재 일시를 알려주는 함수
print(current_time)
# 시,분,초 데이터에 접근
print('시 :',current_time.hour)
print('분 :',current_time.minute)
print('초 :',current_time.second)
print(f"실행 당시 현재의 시간은 {current_time.hour}시 {current_time.minute}분 {current_time.second}초 입니다.")

※ Tip : 현재 일시를 알려주는 함수

from datetime import datetime

datetime.now()

 

실습 : 후기가 입력된 날짜 찾기

 

[수료생 Real 후기] 후기입력 2022.10.13. 작성자 킹수. 드디어 '인공지능 융합서비스 개발자과정'을 수료했습니다!! 6개월이라는 길다면 길고 짧다면 짧은 기간 동안 많은 노력을 통해 받아낸 수료인 만큼 마음이 벅차네요. 그치만 정말 재밌고 즐거운 6개월이었습니다. 많은 것을 배웠고, 또 자신감도 얻은 기간이었다고 생각합니다. 이 후기를 본 많은 분들이 저를 따라서 수료를 목표로 도전하셨으면 좋겠습니다!!! 사랑해요 여러분

 

 

더보기
review = "[수료생 Real 후기] 후기입력 2022.10.13. 작성자 킹수. 드디어 '인공지능 융합서비스 개발자과정'을 수료했습니다!! 6개월이라는 길다면 길고 짧다면 짧은 기간 동안 많은 노력을 통해 받아낸 수료인 만큼 마음이 벅차네요. 그치만 정말 재밌고 즐거운 6개월이었습니다. 많은 것을 배웠고, 또 자신감도 얻은 기간이었다고 생각합니다. 이 후기를 본 많은 분들이 저를 따라서 수료를 목표로 도전하셨으면 좋겠습니다!!! 사랑해요 여러분"

start = review.find('2022')
end = start+10
day = review[start:end]

print(f"후기가 업로드 된 일자는 {day}입니다.")

댓글