게시글의 내용은 '점프 투 파이썬- 2장'을 참고하여 정리한 글 입니다.
a = 1
a = -1
a = 0
a = 1.2
a = -2.1
👉 컴퓨터식 지수 표현 방식은 e,E로 10의 배수를 표기함
a = 1.2e-10 # 1.2 x 10의 -10승
a = 1.2E10 # 1.2 x 10의 10승
# 8진수 : 숫자 0과 알파벳 o/O로 시작 + 숫자
a = 0o166
#16진수 : 숫자 0과 알파벳 소문자 x로 시작
a = 0x8ff
👉 잘 사용되지 않으니, 참고만 하자
a = 1
b = 2
# 더하기
a + b
3
# 빼기
a - b
-1
# 나누기
a / b
1/2
#곱하기
a * b
2
a = 2
b = 3
# 제곱
a ** b
8
# 몫
b // a
1
# 나머지
b % a
1
문자형(String) : 문자, 단어 등으로 구성된 문자들의 집합
문자열 만드는 방법
1. 큰 따옴표/작은 따옴표로 양쪽 둘러싸기
2. 큰따옴표/작은 따옴표 연속 3개를 써서 양쪽 둘러싸기
👉 따옴표로 둘러싸이면 문자열이라고 보면 됨.
"파이썬 공부"
'Python'
""" 파이썬 공부 정말 재밌다"""
''' 파이썬 공부 열심히 하자'''
"'파이썬'은 정말 재밌다니깐"
출력결과 : '파이썬'은 정말 재밌다니깐
# 아니면 SyntaxError가 발생
"/"파이썬은/"은 정말 재밌다니깐"
출력결과 : "파이썬"은 정말 재밌다니깐
"나는 오늘도 파이썬 공부를 한다. /n 파이썬은 정말 재밌다."
출력결과 : 나는 오늘도 파이썬 공부를 한다.
파이썬은 정말 재밌다.
"""
나는 오늘도 파이썬 공부를 한다.
파이썬은 정말 재밌다.
"""
출력결과 : 나는 오늘도 파이썬 공부를 한다.
파이썬은 정말 재밌다.
a = "파이썬은"
b = " 정말 재밌다!"
a+b
"파이썬은 정말 재밌다!"
c = "여름"
c * 3
"여름여름여름"
👉 공백도 포함하는게 특징이다.
d = 그로밋 최고
len(d)
6
a = "April May"
# 원하는 부분만 인덱싱
a[0] 👉 인덱싱은 1이 아니라 0부터 시작.
A
a[-1] 👉 인덱싱에서 맨 뒤에는 -1로 찾아내면 쉬움.
y
# 범위 설정 : [첫번째 부분 : 마지막 부분 +1], "-" 사용가능
a[0:2] 👉 마지막 원하는 부분 + 1을 해야 원하는 부분이 나옴.
Ap
a[6:] 👉 앞/뒤 공간을 비우면 끝까지 자동으로 설정됨.
May
# 원하는 부분을 뽑아내 더할 수 있음
a[0] + a[6]
AM
a = 20220526
year = a[0:4]
month = a[4:6]
day = a[6:]
year
month
day
2022
05
26
# 따로 인덱싱해서 그 부분을 원하는 문자로 못 바꿈
a = may
a[2] = i
Error
# 따로 바꾸고 싶은 부분을 제외해 인덱싱해서 + 하는 방법뿐
a = may
a[0:2] + "i"
mai
# 형식을 우선 앞에 넣어놓고, 뒤에 따로 형식에 맞는 값을 넣는 방식
숫자는 %d, 문자는 %s
"%d pencils" % 3
3 pencils
"%s pencils" % "three" 👉 문자는 꼭 따옴표 안에 넣어줘야 함.
three pencils
# 변수에 따로 넣어서 뒤에 형식에 맞는 값 대신 변수를 넣어도 됨.
# 2개 이상의 값 같이 넣기
"%d pencils, %s erasers" %(3,"two")
👉 여기서 %s의 경우 어떤 형태의 값이든 변환해 넣을 수 있음 (ex 숫자)
# 오른쪽 정렬, 나머지 공백
"%10s" % "Python"
" python"
👉 문자열 길이가 10개인데, 거기서 오른쪽 정렬하고 나머지 공백으로 표시됨.
# 왼쪽 정렬, 나머지 공백 ( 반대로 - 붙이면 된다.)
"%-10s" % "Python"
"python "
# 이런 경우는 Python이 왼쪽 정렬, 나머지 공백
""%-10sgood" % "Python"
"python good"
# %0.소수점 뒤에 나올 숫자의 개수 f
"%0.2f" % 3.1453
3.14
# 응용, 위에 정렬과 공백과 함께 사용할 수 있다.
"%10.2f" % 3.1453
" 3.14"
# 좀 더 쉽게 포매팅할 수 있는 방법
"{0} pencils".format(3)
3 pencils
# 2개 이상의 값일 경우, 인덱스 항목처럼 숫자로
"{0} pencils, {1} erasers".format(3,"two")
# 인덱스 형식 대신 변수로 넣어도 가능
"{number} pencils".format(number = 3)
"3 pencils"
# 위에 요소들 혼용해서 사용 가능
# 왼쪽 정렬 :<, 오른쪽 정렬 :>, 가운데 정렬 :^
"{0:<10}".format("Python")
"python "
"{0:>10}".format("Python")
" Python"
"{0:^11}".format("Python")
" Python "
# 소수점 {0:0.소수점 뒤에 나올 숫자의 개수 f
"{0:0.2f}".format(3.1453)
"3.14"
👉 이것도 마찬가지로 :0 뒤에 0 대신 10과 같은 숫자를 넣으면 정렬 가능
# 공백 채우기 : {0: 반복하고 싶은 문자 정렬하고 싶은 것의 기호 문자열 길이}
"{0:=^11}".format("Python")
"===Python==="
# 변수 값 참조 가능, 수식 함께 사용도 가능
name = "그로밋"
age = 8
f'나의 이름은 {name}입니다. 나이는 {age+1}입니다.'
"나의 이름은 그로밋입니다. 나이는 9입니다."
# 딕셔너리도 참조도 가능
d = {'name':'그로밋', 'age':8}
f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
"나의 이름은 그로밋입니다. 나이는 9입니다."
# 정렬 가능 f'{반복을 원하는 값 : 원하는 정렬 표시 문자열 길이}
f'{"Python":<10}'
"Python "
# 공백 채우기
f'{"Python":!<10}'
"Python!!!!!"
# 소수점 표현 + t 정렬도 같이 가능
a = 3.1453
f'{a:0.2f}'
3.14
🔸 count : 문자 개수
a = Python
a.count("o")
1
🔹 find / index : 위치
a = Pythono
a.find("o")
5 👉 문자 제일 먼저 나온 위치를 반환, 찾는 문자 / 문자열이 존재하지 않으면 -1 반환
a = Python
a.index("a")
Error 👉 찾는 문자 / 문자열이 존재하지 않으면 오류 (find 함수와 다른 점)
🔸 upper, lower : 대문자 ↔ 소문자
a = Python
a. upper()
"PYTHON"
a = Python
a. lower()
"python"
🔹 strip : 공백 지우기
a = " Python "
a.lstrip()
"Python "
a = " Python "
a.rstrip()
" Python"
🔸 replace : 문자열 바꾸기
a = "Welcome to Python"
a.replace("Python","the blog")
"Welcome to the blog"
🔹 split : 문자열 나누기
a = "Welcome to Python"
a.replace() 👉 ()안에는 기준으로 나누고 싶은 값을 넣어주면 됨.
["Welcome","to","Python"]