혼공파 6 ~ 11강
1. 자료형과 자료형 확인
자료형에는 기본 자료형과 복합 자료형이 있다.
자료형을 확인하기 위해서는 type() 함수를 사용한다.
숫자 자료형은 정수와 소수점이 있는 숫자로 타입을 나눈다.
#기본 자료형
# type(자료) # 함수
1) 문자열 ≫ str(String)
print(type("안녕하세요"))
print(type("Hello World"))
2) 숫자
### 정수 ≫ int(integer)
print(type(10))
print(type(20))
### 실수 = 부동소수점 (소수점이 있는 숫자) ≫ float(Floating Point)
print(type(52.273))
3) 불 ≫ bool(Boolean)
print(type(True)) # 참
print(type(False)) # 거짓
# 복합 자료형
## 기본 자료형이 복합적으로 섞여 있는 자료형
2. 문자열 만들기
문자열을 만들 때 큰따옴표(" ")와 작은따옴표(' ')를 구분하지 않는다.
문자열 안의 문자열을 표현하려면 다른 종류의 따옴표를 사용하거나 이스케이프문자를 사용한다.
이스케이프 문자의 활용 예
""" """로 여러 줄의 문자열을 한번에 표현할 수 있다.
# 문자열 만들기 기본
"안녕하세요"
'안녕하세요'
# 문자열 안의 문자열
""안녕하세요"라고 말했습니다"
## (1) 다른 따옴표 사용하기
'"안녕하세요"라고 말했습니다'
"'안녕하세요'라고 생각했습니다"
##(2) 이스케이프 문자 사용하기
# \"
"\"안녕하세요\"라고 말했습니다"
### \n 줄바꿈
print("안녕\n하세요")
### \t 탭문자
print("이름\t나이\t색상")
print("구름\t7\t갈색")
print("별이\t2\t흰색")
print("연근\t3\t흰색")
### \\ 역슬래시 자체
print("\\ \\ \\ \\")
# 여러줄 문자열 (""" """)
print("""\
동해물과 백두산이
마르고 닳도록
하느님이 보우하사
우리나라 만세
무궁화 삼천리 화려강산
대한사람 대한으로
길이 보전하세\
""")
## 역슬래쉬를 넣어서 코드상은 줄 바꿈 한 상태지만 실제 표현에서는 줄 바꿈 하지 않게 표현된다
print\
(1,2,3)
3. 문자열 연산자
문자열을 연결하거나 반복하는 연산자
문자열 인덱싱 및 슬라이싱하기
문자열의 위치는 0부터 시작한다
문자열 전체 순서를 뒤집는 방법 문자열[::-1]
# 문자열 연결 연산자
문자열 + 문자열
# 문자열 반복 연산자
숫자 * 문자열
문자열 * 숫자
# 문자 선택 연산자
문자열에서 특정한 위치의 문자를 선택해 추출
특정한 위치는 "0번째부터 센다"
"안녕하세요"
0번째 : 안
1번째 : 녕
2번째 : 하
3번째 : 세
4번째 : 요
-1번째 : 요
-2번째 : 세
-3번째 : 하
-4번째 : 녕
-5번째 : 안
문자열[숫자]
문자열[숫자A:숫자B]
숫자 A번째부터 숫자B번째 선택
이때, 숫자B 번째는 포함하지 않는다
(숫자B - 1)번째까지 선택
"안녕하세요"[0:3] = "안녕하"
"안녕하세요"[:3] = "안녕하"
"안녕하세요"[3:] = "세요"
문자열[숫자:숫자:숫자]
#문자열[숫자:숫자:스탭]
"0123456789"[::2]
# 용어 정리
인덱스 : 위치를 나타내는 숫자
문자열[인덱스]
》 인덱싱!
문자열[인덱스:인덱스]
문자열[인덱스:인덱스:스탭]
》 슬라이싱!
"0123456789"[::-1]
》 문자열 전체를 뒤집는 결과 : "9876543210"
4. 문자열 마무리
IndexError: String index out of range
슬라이싱 때는 IndexError가 발생하지 않는다.
인덱싱
print("안녕하세요"[100])
슬라이싱
print("안녕하세요"[1:100]) → "녕하세요"
# 문자열의 길이
len("안녕하세요") → 5
# 인덱스 : 순서를 나타내는 숫자는 0부터
# 개수 등 : 1부터 센다
5. 숫자
## 정수 (int)
소수점이 없는 숫자
10
273
52
## 부동소수점 (float)
소수점이 있는 숫자
10.1
52.273
52.0
# 숫자 연산자
정수와 정수의 연산에서
덧셈 : +
뺄셈 : -
곱셈 : *
나눗셈 : / 결과가 무조건 부동소수점으로 나온다
정수 나눗셈 : // 결과가 정수만 나온다 (소수점 이하는 날린다)
몫을 구할 때 사용할 수 있다
나머지 : %
제곱 : **
부동소수점과 부동소수점 연산 시 결과는 부동소수점
부동소수점 + 정수 , 정수 + 부동소수점 결과는 부동소수점
문자열과 숫자의 연산 불가능 TypeError 발생
!예외 문자열 반복연산자 * 제외
# 연산자의 우선 순위
* / >>> + -
# () 괄호 연산자
() : 계산이 먼저 일어나게 하는 기능
# 제곱근(루트)
4 ** (1/2)
8 ** (1/3)
16 ** (1/4)
부동소수점 연산은 정확도가 떨어진다
0.1 + 0.2 = 0.300000000000000004
따라서
0.1 + 0.2 == 0.3 >>> False가 되는 상황
'Base > Python' 카테고리의 다른 글
5. 수열/배열/리스트 (0) | 2023.02.09 |
---|---|
4. Bool/if 조건문 (0) | 2023.02.08 |
3. format, split 함수 / f-문자열 / 파괴적 연산과 비파괴적 연산 / 온라인 저지 (0) | 2023.02.07 |
2. 변수/복합대입연산자/input()/파이썬 튜터 (0) | 2023.02.06 |
0. Python 공부 시작 (0) | 2023.02.04 |
댓글