빅데이터 서비스 교육/Python

Python 기초

Manly 2022. 4. 29. 09:34
반응형
' name is JY'

# 대문자 -> 소문자로 만드는 함수
# lower()
# 소문자 -> 대문자 s_name.
s_name.lower()
s_name.upper().count('M')#  주석#,      선택한 줄들 전체 주석: ctrl + /

#  셀의 색깔이 파랑색 -> command mode
#  셀 자체를 변경, 조작 할때 사용
#  enter ->> 커맨드 -> 에디트
#  a: 위쪽 셀 추가
#  b: 아래 셀 추가
#  dd: 셀 삭제
# c : 셀 복사
# v : 셀 붙여넣기
# x : 셀 잘라내기
# m : 마크다운 기능(메모장처럼 기록할때)
# y : 마크다운 -> 커맨드로 

# 셀 - 초록색 edit mode(에디트 모드)
# 셀 내부의 코드를 변경, 조작할때 사용
# esc: 에디트 -> 커맨드
# 복사: ctrl+c, 붙여넣기: ctrl+v, 앞으로 되돌리기: ctrl+z, 뒤로 되돌리기: ctrl+y

# 실행단축키
#  ctrl + enter

 

# 변수선언
# 특징: 자료형을 지정할 필요 없음-> 동적 자료형
num = 3;    pint(출력)

#변수명 규칙
#1, 영문자, 숫자, 언더바를 사용할 수 있음
#단, 영문자일때 소문자와 대문자 구별됨
number = 10;  Number = 20

 

#2. 숫자로 시작 할 수 없음
#3. 키워드 사용 불가
if = 30

#권장사항
#변수의 첫글자는 항상 소문자로 함
# 스네이크 기법

 

# 변수에 문자열 대입
# 문자열 기호 '', ""
str1 = 'Funny python'
print(type(str1))

 

  →                출력문

she's gone
who's gone
he said that"she is gone"
he said that"she is gone"

 

 

 

 

 

 

 

  • 여러줄인 문자열을 변수에 대입하고 싶을 때
 
# 추가적으로 살펴볼 문자열 기호
# '''문자열'''
# """문자열"""

s2 = '''제목: 불꽃
시인: 나태주
자세히 보아야 예쁘다
오래 보아야 사랑스럽다
너도 그렇다.'''

print(s2)
제목: 불꽃
시인: 나태주
자세히 보아야 예쁘다
오래 보아야 사랑스럽다
너도 그렇다.

 

 

    -문자열 인덱싱&슬라이싱

- 인덱싱: 무언인가를 콕 찝어서 가리킴

- 슬라이싱: 무엇인가를 범위를 지정하여 잘라냄    -> 공통점: 인덱스 번호를 활용해 데이터 접근

 

s_name = 'My name is JY'
# m 접근
print (s_name[0])    ->  M
print(s_name[11])   ->  J

# 모든 문자열 슬라이싱
# 대상문자열[첫인덱스:끝인덱스:증감값]            ->  첫인덱스값은 포함하지만 끝인덱스값은 포함하지 않으므로
print(s_name[::2])          결과 -> M aei Y                   끝인덱스값은 원하는값보다 +1 해줘야한다     


# 문자열을 뒤에서 앞으로 읽기
print(s_name[::-1])        결과 ->  YJ si eman yM

day = "2020년 3월 3일의 날씨는 맑음입니다."
print('날짜:',day[0:11])
print('날씨:',day[17:19])
print('날씨:',day[-6:-4])
# 인덱스를 뒤에서 세더라도 슬라이싱은 앞에서부터
날짜: 2020년 3월 3일
날씨: 맑음
날씨: 맑음

문자열 포매팅(formatting) 문자열 안의 특정한 값을 바꿔야 할 경우 사용

# format 함수 포매팅
# 변수 선언
year = '2022'
month = '4'
day = '26'
ed = '!'
'{}년 {}월 {}일의 날씨는 맑음입니다{}'.format(year,month,day,ed)
'2022년 4월 26일의 날씨는 맑음입니다!'

# f문자열 포매팅 - 가독성(사람이 읽을때 이해가 잘됨)
# 3.6버전 이상부터 실행 가능
ed='~'
f'{year}년 {month}월 {day}일의 날씨는 맑음입니다{ed}'

'2022년 4월 26일의 날씨는 맑음입니다~'

 

- 문자열 함수

# count('문자') : 문자열 내부에 포함된 문자 개수 세기
s_name = 'My name is JY'
s_name.count('m')              결과 -> 1
s_name.count('M')              결과 -> 1

 

# 대문자 -> 소문자로 만드는 함수
# lower():     소문자 -> 대문자 

#upper():     대문자 -> 소문자
s_name.lower()
s_name.upper().count('M')            결과 -> 2

 

# 문자의 위치를 알려주는 함수
# find('찾는문자'), index('찾는문자')
s_name.find('y')            결과 -> 12
s_name.index('y')          결과 -> 12

# 없는 문자 찾을때 차이점 발생
s_name.find('h') # -1이라는 결과 반환 : 찾는 값 없음
s_name.index('h') # 에러발생 ValueError: substring not found

#행번호: 커맨드 모드에서 l  (L)

 

# 특정 문자를 찾아서 다른 문자로 대체하는 함수
# replace('찾는문자','대체문자')
s_name.replace('JY','JM')

# 문자열 전처리 할때 사용
# 전처리 -> 데이터를 깔끔하게 정리함
# 특정문자를 제거할때
tp = s_name.replace('My','')      결과 -> 'My name is JY' 에서    My제거

# 공백 제거 함수
# strip() : 양쪽 공백 제거
# lstrip() : 왼쪽 공백 제거
# rstrip() : 오른쪽 공백제거
tp.rstrip()                             결과 -> name is JY

 

 

# 문자열 나누는 함수

# split('분리기준문자')    ->    [1,2,3,4] list 자료구조
s_name.split(" ")     

                  결과 -> 공백을 기준으로 나눠서 [name,is,JY]의 list에 담긴다

# 문자에서 원하는 데이터 접근
name = 'brown,Mr.name'
# name.split(',')[0:2]
name.split(',')[1].split('.')[0]           결과 -> Mr

 

article = """[요기요, 화이트데이 맞이 '선물하기' 이벤트 진행] 기사입력 2022.03.10. 작성자 이나영기자 요기요는 화이트데이를 앞두고 요기요 선물하기 서비스를 이용하는 고객들을 위한‘너와 나의 선물고리’이벤트를 진행한다고 10일 밝혔다."""

st_index = article.find("2022")
ed_index = article.find("작성자")-2  #2022.03.10.  에서 .까지니까 -2해준다
print(st_index, ed_index)

day = article[st_index:ed_index]
print(f'기사가 업로드된 일자는 {day}입니다.')

35 45
기사가 업로드된 일자는 2022.03.10입니다.

 

 

반응형

'빅데이터 서비스 교육 > Python' 카테고리의 다른 글

Python 반복문(while, for)  (0) 2022.04.29
Python 튜플  (0) 2022.04.29
Python 리스트  (0) 2022.04.29
Python 조건문  (0) 2022.04.29
Python 연산자  (0) 2022.04.29