공부중
[python] 자료형(Data Type), 문자열 본문
1. 자료형(Data Type)을 사용하는 이유
- 값의 종류를 구분하기 위해 (문자열, 숫자, 부울, 리스트 등을 구분할 수 있어야 한다.)
- 자료형에 따라 메모리양이 다르기 때문이다.
- 특정 자료형에 사용할 수 없는 연산자를 구분하기 위해서이다.
- 연산 결과가 어떤 종류의 값으로 나올 것인지 파악하기 위해
2. 자료형에 적용할 수 있는 연산
피연산자 1 | 피연산자 2 | 적용가능한 연산자 |
정수 | 정수 | + , - , *. /, % |
정수 | 실수 | + , -, *, / |
실수 | 실수 | +, -, *, / |
문자열 | 문자열 | + |
문자열 | 정수 | * |
참고 :
//는 정수의 나눗셈(몫)
%는 나머지
2.2 흔히 확인할 수 있는 연산 오류
- 문자열끼리 뺴기 연산은 안된다.
2.3 파이썬의 기본 자료형
종류 | 자료형 | 메모리 공간 크기 | 표현 범위 |
정수 | int | 제한 없음 | 제한없음 |
실수 | float | 8 byte | 4.9x10^-324~1.8x10^308 |
문자열 | str | 제한 없음 | 제한 없음 |
C 보다가 메모리 걱정 안하고 쓸 수 있는 파이썬을 보니까 아주 편안하다.
3. 자료형(Data Type)의 종류
1) 정수형 (int)
integer
표현 범위의 크기 제한이 없음(unbounded)
2) 실수형 (float)
부동 소수점(floating-point number)
: 떠돌이 소수점 방식은 실수를 컴퓨터상에서 근사하여 표현할 때 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것(위키백과)
숫자e승수 또는 숫자E승수 형태로 사용해서 숫자 * 10승수 표현 가능
3) 문자열
# 이건 주석인데
''' 이건 문자열로도 사용 가능한다 '''
""" 이것도 """
3.2) 이스케이프 시퀀스
이스케이프 시퀀스 | 설명 |
\n | 줄바꿈 문자 |
\t | tap 문자 |
\\ | \ |
\' | ' |
\" | " |
그러니까 이스케이프 시퀀스를 문자열에서 그대로 표현하고 싶으면 \를 붙여서 쓰면 된다.
r " " 이것도 된다.
4) 부울 ( Boolean )
True 또는 False
5) None 상수값
NoneClass 자료형을 나타내는 상수값
None의 사용 목적
- 값이 존재하지 않음을 표현
- 값을 정확하게 알 수 없는 경우를 표현
- 값이 정의되지 않은 경우를 표현
4. 어떤 자료형인지 알고 싶다면 type() 명령어를 사용하자
또한 해당 자료형으로 변환하고 싶다면?
int(), float(), str() 명령을 사용하자.
여기서 int의 불편한 구조..
문자도 숫자면 정수형 변환이 가능하다.
이렇게 실수형을 정수형int를 사용하면 내림한 값을 반환한다.
근데 int(input())을 사용할 때는 조심해야 한다.
이건 오류가 난다는거징
5. 리터럴(Literal) 또는 리터럴 상수(Literal Constant)
- 코드에서 직접적으로 명시되는 숫자값이나 문자열
6. 복소수
역시 컴퓨터 공학이기 떄문에
허수를 i가 아닌 j로 표현함.
complex()를 사용해도 됨
# 복소수 표현 방법
# 1.
정수 = 1
허수 = 2
complex(정수, 허수)
# 2.
정수 + 허수*1j
7. 거듭 제곱
a ** n
8. 문자열
여러 기능
문자열이 특정 문자열로 시작하는지 | s.startswith(' ') |
문자열이 특정 문자열로 끝나는지 | s.endswith(' ') |
포함되어 있는지 | 문자열1 in 문자열2 |
문자열이 어느 인덱스에 있는지 문자열이 없으면 오류발생 |
s.index() |
str로 주어진 문자열 이 어느 인덱스에 있는지 만약 주어진 문자열이 없으면 -1 반환 |
s.find(" ") |
처음 부분 인덱스만 반환
두개 있어도 하나만 반환
검색하는 문자열이 가장 마지막에 나타나는 위치를 반환(오른쪽에서부터 검색) 검색하는 문자열이 없으면 rindex()는 오류 발생 |
rindex() |
검색하는 문자열이 가장 마지막에 나타나는 위치를 반환(오른쪽에서부터 검색) 검색하는 문자열이 없으면 rfind()는 -1 반환 |
rfind() |
오른쪽부터 보기는 하는데 어려문자인 경우 처음 부분 인덱스 반환
9. 문자열 추출
s[시작_인덱스:마지막_인덱스]
# ◼ 인덱스 시작_인덱스부터 마지막_인덱스-1까지
스텝을 정하는 방식으로 뒤집어서 읽을수도 있다.
10. 문자열 관련 명령어 - strip()
strip() | 문자열의 양 끝에 있는 공백 문자를 제거 |
strip("문자조합") | 문자열의 양 끝에 있는 "문자조합"의 모든 문자들을 제 거 |
lstrip() | 문자열의 왼쪽 끝에 있는 공백 문자를 제거 |
lstrip("문자조합") | |
rstrip() | 문자열의 오른쪽 공백 문자 제거 |
rstrip("문자조합") |
참고로 위처럼 써야 한다. 아래처럼 사용하면 오류난다.
또한 해당 문자가 없어도 오류가 나지 않으며,, 문자조합의 문자를 제거하므로 연속된 문자열을 지우는 것이 아님에 유의한다.
11. 문자열 관련 명령어 -
replace(oldString, newString) | 문자열 대체 |
isalnum() | 문자열이 알파벳과 숫자로만 구성되어 있는지 확인 |
isalpha() | 영어 구성 확인 |
isdigit() | 숫자 구성 확인 |
isnumeric() | 숫자 구성 확인 |
islower() | 소문자 구성 확인 |
isupper() | 대문자 구성 확인 |
upper() | 대문자로 변환 |
lower() | 소문자로 변환 |
swapcase() | 대문자는 소문자로 변환, 소문자는 대문자로 변환 |
count(str) | 문자열에서 주어진 문자열인 str이 몇 번 나오는지 반 환 |
count(str, start, end) | 문자열에서 주어진 문자열인 str이 몇 번 나오는지 찾 는데 start 부터 end – 1 인덱스내에서만 검색 |
'프로그래밍 > 파이썬 Python' 카테고리의 다른 글
[Python] 조건문, 반복문 (0) | 2024.08.09 |
---|---|
[Python] 변수, 서식 출력 (0) | 2024.08.08 |
[Python] 기본 설명 (0) | 2024.08.06 |
[python] lamda 표현식 (0) | 2024.07.29 |
[python] GUI - turtle (0) | 2024.07.26 |