1. 수치형 자료: 정수형, 실수형, 복소수형
▶️ type() : 자료형 확인 함수
▶️ abs() : 절댓값 확인 함수
▶️ 복합대임연산자 : += / -+ 등
2. 문자열 자료: ' ' 또는 " " 안에 있는 한 글자 이상의 문자나 숫자, 기호
3. 리스트 자료: [ ] 안에 임이의 객체를 순서 있게 나열한 자료, 각 요소는 콤마(,)로 구분
4. 튜플 자료: 튜플은 리스트와 비슷하지만 요소 값을 변경할 수 없다는 점이 리스트와의 차이점
5. 사전 자료: { } 안에 키값으로 구성된 순서가 없는 자료형, 인덱스로 접근할 수 없고 키를 통해 대응되는 값을 다룸
형변환
정수 → 실수, 실수 → 정수, 수치형 → 문자형 등
▶️ float() : 실수형
▶️ int() : 정수형
부동소수점
▶️ 부동소수점을 표현하지 못함
▶️ 좌항과 우항이 모두 1이라고 생각하지만 False 값이 나옴
▶️ == : 동등 연산자
▶️ round() : 반올림 함수
▶️ 반올림 후 비교해보면 결과값이 True로 나옴
불리언형 자료
True / False, 1 / 0 → 참과 거짓을 의미함
- 1이면 맞다, 동일하다로 해석하고 0은 틀리다, 동일하지 않다로 해석함
- 생성 방법: bool( ), is instance(변수, 자료형)
- ' ', 빈 자료([ ], ( ), { }, ...) ⇒ False를 의미함
▶️ ''(작은 따옴표) 혹은 [](대괄호) 사이에 공간이 없는 경우 False를 출력하지만 사이에 공간이 있는 경우에는 True를 출력함
▶️ 변수를 생성해 True값을 입력한 뒤 정수형으로 1을 출력할 수 있음
문자형 자료
▶️ double quotation("), single quotation(') 사용함
문자형 변환
▶️ yongddon이라는 변수에는 1000이라는 정수가 입력되어 있어 type을 출력하면 정수형(int)임을 알려줌
▶️ yongddon변수를 str()으로 감싸면 문자열로 변함
▶️ str() : 문자열
▶️ myyongddon이라는 변수에 사용자가 용돈을 입력할 수 있도록 만든 코드
▶️ int로 감싸지 않으면 myyongddon이라는 문자열과 정수 100을 더할 수 없기 때문에 문자열(myyongddon)을 정수로 형변환시킴
문자열 길이
▶️ len() : 문자열의 길이 확인
→ 공백도 포함
▶️ 이때 letter은 위에서 입력했던 "i am groot"에 해당함
문자열 대/소문자 바꾸기
▶️ upper() : 대문자로 변경
▶️ lower() : 소문자로 변경
특정문자 개수 찾기
▶️ 문자열.count('찾고자 하는 문자', 찾기를 시작하고자 하는 인덱스, len(str)) : '찾기를 시작하고자 하는 인덱스'부터 '문자열 끝'까지 중에서 '찾고자 하는 문자'의 개수를 출력함
▶️ letter 변수에 'i am groot' 문자열을 입력
▶️ letter.count('o') : letter 변수에 'o' 문자는 2개 존재함
▶️ letter.count('o', 8, len(letter)) : o라는 문자를 8번 인덱스부터 문자열의 총 길이끝까지 찾았을 때 1개 존재함
특정 문자 위치 찾기
▶️ 문자열.index('찾을 문자', 시작, 끝) : '시작'부터 '끝' 중에서 찾은 '찾을 문자'의 위치(index 번호)를 출력함
▶️ letter 변수에 'i am groot' 문자열을 입력
▶️ letter.index('t', 0, len(letter)) : letter 문자열에서 0부터 문자열 끝까지 찾았을 때 9번째에 t 문자가 존재함
문자 바꾸기
▶️ 문자열.replace('바꿀 대상', '바꾸고자 하는 문자', 횟수) : '바꿀 대상'을 '바꾸고자 하는 문자'로 '횟수'번 바꿈
▶️ letter 변수에 'I am groot' 문자열을 입력
▶️ letter2 = letter.replace("o", "가톨릭", 2) : letter2 변수를 새로 만들어 letter 문자열에서 'o' 문자를 '가톨릭'으로 총 2번 바꿔 저장함
▶️ letter.replace('i', 'I', 1) : letter 문자열에서 'i' 문자를 'I' 문자로 총 1번 바꿔 출력함
문자 나누기
▶️ letter 변수에는 'I am groot' 문자열이 입력되어 있음
▶️ 문자열.split('나눌 기준', 횟수) : 문자열을 '나눌 기준'으로 '횟수'번 나눔
▶️ letter.split(' ', 1) : letter 문자열을 ' '(띄어쓰기)를 기준으로 1번 나눔
▶️ a라는 변수에 카리나 22살을 입력
▶️ b = a.split(' ',1) : b라는 변수를 새로 만들어 a 문자열을 ' '(띄어쓰기)를 기준으로 1번 나눔
▶️ name, age 변수를 새로 생성해 각각 b 변수의 0번 인덱스와 1번 인덱스를 나눠 저장 후 출력
문자 공백 제거하기
▶️ str.lstrip() : 왼쪽 공백 제거
▶️ str.rstrip() : 오른쪽 공백 제거
▶️ str.strip() : 양쪽 공백 제거
▶️ str_l_space.lstrip() : str_l_space 변수에 저장되어 있는 문자열의 왼쪽 공백을 제거
▶️ str_r_space.rstrip() : str_r_space 변수에 저장되어 있는 문자열의 오른쪽 공백을 제거
▶️ str_space.strip() : str_space 변수에 저장되어 있는 문자열의 양쪽 공백을 제거
String Format
{}, {0}, %s(문자), %d(정수), %f(실수), %.2f(소수점 두 자리)
→ %는 변수를 인식하기 위한 약속된 문자, 가장 오래된 버전
- Positional 형식 문자 입력
▶️ University of Illinois urbana-champaign을 출력하려고 함
▶️ twin_city_1, twin_city_2 변수를 생성해 urbana와 chanpaign 문자열을 미리 저장함
▶️ {}(중괄호) 내에 인덱스 번호를 미리 지정한 후 .format() 안에 집어넣고자 하는 변수 순서대로 입력
▶️ 중괄호 내에 인덱스 번호를 지정하지 않으면 .format()안에 있는 변수가 순서대로 입력됨
▶️ 집어넣고자 하는 변수가 문자열이기 때문에 %s를 이용해 지정
▶️ 위와 동일하게, 집어넣고자 하는 변수가 문자열인 경우에는 %s, 정수인 경우에는 %d를 이용해 지정할 수 있음
- Keyword 형식 문자 입력
▶️ test 변수에 딕셔너리 자료형을 만들어 name에는 fruit를 지정하고 taste에는 good을 지정해 출력함
%를 출력하고 싶다면?
▶️ print() 함수를 이용해 %를 출력하면 잘 출력되지만 아래 셀에서는 오류가 발생함
→ %는 변수를 인식하기 위해 약속된 문자이기 때문
→ 단독으로 있을 때는 괜찮지만, 아래 셀에서는 앞에 %s에 해당하는 변수가 존재함
▶️ 앞에 %를 하나 더 붙여 해결 가능함
→ print("%")의 %는 문자열이고 print(변수 % 변수)의 %는 string format임
f-string format
f'출력하고자 하는 문장'
→ 변수 타입에 영향을 받지 않음
▶️ 출력하고자 하는 변수만 {}(중괄호)안에 넣으면 됨
따옴표 종류('', "") 출력
→ 큰 따옴표로 감싸고 있는 문장 내에 큰 따옴표 문장이 하나 더 있는 형태의 문장을 출력하고자 함
▶️ ""(큰 따옴표) 사용이 겹쳐 오류가 발생한 모습
▶️ 살리고싶은 따옴표 앞에 \(back slash)를 넣어줌으로써 오류 없이 문장 출력 가능
이스케이프(escape)
\(backslash) + 특정문자
→ \n : 줄 바꿈
→ \t : 탭
▶️ I'm Groot 문자를 감싸고 있는 작은 따옴표와 I 뒤에 쓴 작은 따옴표가 겹쳐 오류가 발생함
▶️ 이를 해결하고자 I 뒤에 있는 작은 따옴표 앞에 이스케이프 문자를 넣어줌
▶️ 위 상황에 더해 \n을 통해 줄바꿈하여 두 문장으로 나눔
▶️ 위 상황에 더해 \t을 통해 탭 역할을 함
이스케이프 문자까지 함께 출력하고 싶다면?
r'string'
▶️ r' '로 감싸줌으로써 문장 내에 사용한 이스케이프 문자까지 모두 출력함
사용자에게 값을 입력받아 변수에 저장하기
▶️ input() : 사용자가 입력한 값 저장
▶️ korean_hello = input("hello를 한국말로 하면?") : korean_hello라는 변수에 사용자가 "hello를 한국말로 하면?"이라는 질문에 입력한 값을 저장함
# 연습 문제 #
10과 10.1의 자료형을 확인해보자.
▶️ type() : 자료형 확인 함수
정수형과 실수형을 더한 값은 자료형이 어떻게 될까?
▶️ 정답은 11.1로 실수형으로 표현됨
10 나누기 3의 결과를 내림해보자.
▶️ 실수로 표현된 값을 정수로 표현하는 방법은 2가지가 존재함.
→ int() : 정수형 형변환
→ // : 정수 몫 나눗셈
수집하려는 페이지를 1씩 더하면서 수집할 예정이다. page = page + 1을 다르게 표현해보자.
▶️ += : 복합관계연산자
1을 문자형으로 변환해보자.
▶️ 변환하기 전 1은 정수형임'
▶️ str() : 문자 형변환
"I love Python"을 me 변수에 넣고 3번 출력해보자.
▶️ 문자열 * 횟수 : 문자열을 횟수번 곱함
me 변수에 저장된 길이를 출력해보자.
▶️ len() : 문자열 길이 출력 함수
me 변수에 저장된 문자열을 소문자로 바꿔보자.
▶️ lower() : 소문자 변경 함수
me 변수에 저장된 문자열 중 p의 개수를 출력해보자.
▶️ count() : 개수 출력 함수
me 변수에 저장된 문자열에서 I의 위치를 출력해보자.
▶️ 변수.index('찾고자 하는 문자') : 변수 내에서 찾고자 하는 문자의 위치를 출력함
me 변수에 저장된 문자열을 공백을 기준으로 나눠보자.
▶️ 변수.split('나누고자 하는 기준', 횟수) : 변수에 저장된 문자열을 나누고자 하는 기준으로 횟수번 나눔
me 변수에 저장된 문자열에서 I를 We로 바꿔보자.
▶️ 변수.replace('바뀌기 전 문자', '바뀐 후 문자') : 변수에 저장된 문자열에서 바뀌기 전 문자를 찾아 바뀐 후 문자로 바꿈
아래 데이터를 이용해 '마트에서 애기를 둔 아빠가 기저귀를 살 때 같이 구매하는 제품은 맥주다.'를 변수를 사용해 출력해보자.
▶️ 변수 purchase_1과 purchase_2를 각각 생성해 '기저귀'와 '맥주'를 미리 저장함
▶️ 변수가 들어갈 곳을 {}(중괄호)로 만들고 .format()에 변수를 순서대로 저장
▶️ 문자열의 경우 %s를 이용해 만들고 %()에 변수를 순서대로 저장
2017년 기준 금리는 1.51%이다.를 f-string format을 이용해 출력해보자.
▶️ 변수 basemoney_rate을 생성해 1.51을 미리 저장함
▶️ f' ' 내에 변수를 넣고자 하는 부분만 {}(중괄호)로 만들어줌
'Data Analysis' 카테고리의 다른 글
[ Python ] 딕셔너리 (0) | 2021.08.30 |
---|---|
유튜브 영상 다운로드 프로그램 (0) | 2021.08.30 |
[ Python ] 변수 (0) | 2021.08.30 |
Jupyter Notebook 기본 기능 익히기 (0) | 2021.08.30 |
Jupyter Notebook 설치 및 실행 (0) | 2021.08.30 |