자료형
자료형 확인 : type() 함수
>>> print(type("안녕하세요?"))
<class 'str'>
[ 1 ] 문자열
1. 큰 따옴표, 작은 따옴표 모두 사용 가능
2. 이스케이프 문자 사용하여 특수문자 표현 가능
3. 여러줄 문자열
- ‘\n' 을 사용
- """~""", ‘''~'''
>>>print("""줄바꿈이 있는 문자열 출력""") 줄바꿈이 있는 문자열 출력
4. 줄바꿈 없이 문자열 만들기
>>> print("""
줄바꿈이 있는
문자열
출력
""") # 시작과 끝의 줄바꿈이 발생됨
(줄바꿈 발생)
줄바꿈이 있는
문자열
출력
(줄바꿈 발생)
>>>print("""\
줄바꿈이 있는
문자열
출력\
""") # 줄바꿈 없이 바로 출력 되어짐
줄바꿈이 있는
문자열
출력
5. 문자열의 연산자
- +
- 문자열의 연결
- 문자열은 무조건 문자열끼리 +로 연결
>>>print("안녕" + "하세요") 안녕하세요
- *
- 문자열 * 숫자
- 문자열을 숫자만큼 반복
>>>print('안녕!'*3) 안녕!안녕!안녕!
- [숫자]
- 인덱싱
- 문자선택 연산자
>>>print("안녕하세요"[0]) 안 >>>print("안녕하세요"[-1]) 요
- [숫자:숫자]
- 슬라이싱
- 문자열 범위 선택 연산자
- 마지막 숫자의 문자는 포함하지 않음
>>>print('안녕하세요'[1:3]) 녕하
- IndexError 예외
- 리스트/문자열의 수를 벗어나는 요소/글자를 선택할 때 발생
6. 문자열 길이 구하기 : len("문자열")
>>>print(len("안녕하세요"))
5
[ 2 ] 숫자
1. 숫자의 종류
- 정수, 실수
>>>print(type(52))
<class 'int'>
>>>print(type(52.344))
<class 'float'>
2. 숫자 연산자
- 사칙연산 : +, -, *, /
- 정수나누기 연산자 : //
- 나머지 연산자 : %
- 제곱 연산자 : **
>>>print(3/2)
1.5
>>>print(3//2)
1
>>>print(3**3)
27
3. TypeError 예외
- 서로 다른 자료를 연산하면 TypeError 예외 발생
[ 3 ] 변수와 입력
- KEY:
#변수선언 #변수할당 #변수참조 #input() #int() #float() #str()
- 파이썬은 변수타입을 쓰지않음
a = '문자열'
3-1. 복합 대입 연산자
- +=, -=, *=, /=, %=, **=
- 문자열도 사용 가능
3-2. input()
- 사용자 입력 받는 함수
- 프롬프트 문자열
- input() 은 무조건 문자열 타입을 반환
>>>string = input("문자를 입력하세요:")
문자를 입력하세요:문자
>>>print(type(string))
< class 'str' >
>>>number = input("숫자를 입력하세요 :")
숫자를 입력하세요 : 1234
>>>print(type(number))
< class 'str' >
# 불값도 마찬가지로 문자열을 반환
3-3. 문자열을 숫자로 바꾸기
- int()
- float()
- ValueError 예외 : 숫자가 아닌 것을 숫자로 변환 하려고 할 때 발생하는 에러, 실수를 int 형으로 변환하려고 할 때
3-4. 숫자를 문자열로 바꾸기
- str()
[ 4 ] 숫자와 문자열의 다양한 함수 및 기능
- KEY:
#format() upper() lower() strip() find() in split()
4-1. 문자열의 format()
"{}".format(10)
"{}과 {}".format(10, 20)
"{0},{1},{3}".format(101,202,303)
- 정수 출력의 다양한 쓰임
- 정수 :
output_a = '{:d}'.format(52)
- 특정 칸에 출력 :
output_b="{:5d}".format(53)
- 빈칸을 0으로 채우기 :
output_b="{:05d}".format(52)
- 양수/음수 부호와 함께 출력 :
output_c="{:+d}".format(-52)
또는output_c="{:+d}".format(52)
- 부호부분 빈칸으로 비우고 출력 :
output_d="{: d}".format(-52)
또는output_d="{: d}".format(52)
- 부호와 빈칸을 조합 할 때 = 기호를 앞에 붙일 수 있음
- 다양한 형태로 조합해 보기
# 조합하기 output_h = "{:+5d}".format(52) # 기호를 뒤로 밀기 : 양수 output_i = "{:+5d}".format(-52) # 기호를 뒤로 밀기 : 음수 output_j = "{:=+5d}".format(52) # 기호를 앞으로 밀기 : 양수 output_k = "{:=+5d}".format(-52) # 기호를 앞으로 밀기 : 음수 output_l = "{:+05d}".format(52) # 기호를 붙이고 0으로 채우기 : 양수 output_m = "{:+05d}".format(-52) # 기호를 붙이고 0으로 채우기 : 음수 print(output_h) print(output_i) print(output_j) print(output_k) print(output_l) print(output_m) # 출력 +52 -52 + 52 - 52 +0052 -0052
- 정수 :
- 부동 소수점 출력의 다양한 쓰임
- float의 기본형
output_a = "{:f}".format(52.273) output_b = "{:15f}".format(52.273) # 15칸 만들기 output_c = "{:+15f}".format(52.273) # 15칸에 부호 추가 output_d = "{:+015f}".format(52.273) # 15칸에 부호 추가하고 0으로 채우기 print(output_a) print(output_b) print(output_c) print(output_d) # 실행결과 52.273000 52.273000 +52.273000 +0000052.273000
- 소수점 아래 지정하기
output_a = "{:15.3f}".format(52.273) # 총 15칸을 차지하고, 소수점 아래 3자리 output_b = "{:15.2f}".format(52.273) output_c = "{:15.1f}".format(52.273) print(output_a) print(output_b) print(output_c) # 실행결과 52.273 52.27 52.3
- 의미없는 소수점 제거하기 : 소수점 아래 0 제거
output_a = 52.0 output_b = "{:g}".format(output_a) print(output_a) print(output_b) # 실행결과 52.0 52
- float의 기본형
4-2. 대소문자 바꾸기
- upper()
- lower()
a = 'Hello' print(a.upper()) print(a.lower()) # 실행결과 HELLO hello
4-3. 문자열 공백 제거
- 양옆 공백 제거 : strip()
- 왼쪽 공백 제거 : lstrip()
- 오른쪽공백제거 : rstrip()
4-4. 문자열 구성 파악 : isXX()
- isalnum() : 문자열이 숫자와 알파벳으로만 구성되었는지
- isalpha()
- isdentifier() : 문자열이 식별자로 사용 할 수 있는지
- isdecimal()
- isdigit()
- isspace()
- islower()
- isupper()
4-5. 문자열 찾기 : find(), rfind() ( 0부터 시작)
- find() : 왼쪽부터 찾아서 처음 등작하는 위치
- rfind() : 오른쪽부터 찾아서 처음 등장하는 위치
4-6. 문자열과 in 연산자
- 문자열 내부에 어떤 문자열이 있는지 확인
- 결과는 불로 반환
print("안녕" in "안녕하세요?") # 실행 결과 True
4-7. 문자열 자르기 : split()
- 결과는 리스트로 반환
a = "10 20 30 40 50".split(" ") print(a) # 실행 결과 ['10', '20', '30', '40', '50']