https://nmdkims-organization.gitbook.io/python-hand-book/
숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불리안
숫자형
# 정수형 <class 'int'>
integer = 100
print(type(integer))
# 실수형 <class 'float'>
float = 3.14
print(type(float))
x = 2
y = 4
사칙연산
x = 2
y = 4
print(x+y) # 6
print(x-y) # -2
print(x*y) # 8
print(x/y) # 0.5
print(x**y) # 제곱 16
# 나눗셈 몫, 나머지
print(x//y) # 0
print(x%y) # 2
문자열
# <class 'str'>
string = "Hi"
print(type(string))
print("Hello world")
print('백문이불여일견 백견이불여일타')
print("123")
# 문자열 안에서 따옴표, 쌍따옴표 사용
print("문자열은 문자, 단어들의 '집합'입니다.")
# 문자열은 문자, 단어들의 '집합'입니다.
print('문자열은 문자, 단어들의 "집합"입니다.')
# 문자열은 문자, 단어들의 "집합"입니다.
# 이스케이프 문자 \\
print("\\'이스케이프\\"")
# '이스케이프"
print("\\'이스케이프\\"\\\\")
# '이스케이프"\\
print("백문이불여일견\\n백견이불여일타")
# 줄바꿈
# 백문이불여일견
# 백견이불여일타
print(r"백문이불여일견\\n백견이불여일타")
# 이스케이프 문자 무시
# "백문이불여일견\\n백견이불여일타"
문자열 연산
hi = "안녕"
more_politely = "하세요"
print(hi + more_politely) # 안녕하세요
print(hi*10) # 안녕안녕안녕안녕안녕안녕안녕안녕안녕안녕
# 문자열의 길이
print(len(hi)) # 2
# 문자열의 인덱싱과 슬라이싱
print(hi[0]) # 안
print(hi[-1]) # 녕
print(more_politely[:2]) # 하세
print(more_politely[2]) # 요
# 문자열 바꾸기
# 문자열.replace(타겟문자, 바꿀문자)
print(more_politely.replace("하세요", "요세하")) # 요세하
# 문자열 포멧팅
age = 10
print("%s%s, 저는 누구누구입니다" %(hi, more_politely))
print("%s%s, 저는 누구누구입니다. %d살이에요" %(hi, more_politely, age))
# format 함수를 이용한 포멧팅
print("{0}{1}, 저는 누구누구입니다".format(hi, more_politely))
# f-string
print(f"{hi}{more_politely}, 저는 누구누구입니다.")
# 소수점 표현 f-string
pi = 3.1415926535
# f"{실수:몇번째자리까지}"
print(f"{pi:0.2f}") # 소수점 3번째 자리에서 반올림됩니다. 3.14
print(f"{pi:0.3f}") # 소수점 4번째 자리에서 반올림됩니다. 3.142
# 문자열 관련 함수들
string = "aabbaeda"
# 개수 세기
print(string.count("a")) # 4
# 위치 찾기
print(string.find("e")) # 5
print(string.find("b")) # 찾는 문자가 여러개라면 가장 첫번째자리를 반환합니다. 2
print(string.find("z")) # -1 존재하지 않으면 -1을 반환합니다.
# index라는 함수도 위치를 찾는데 사용되나
# 차이로는 존재하지 않을시 에러를 발생시킵니다.
print(string.index("z")) # ValueError: substring not found
# 문자열 삽입
print(".".join(string)) # 각각 문자 사이에 "."을 삽입 a.a.b.b.a.e.d.a
# 대문자 소문자 변환
print(string.upper()) # AABBAEDA
print("AABBAEDA".lower()) # aabbaeda
# 공백 지우기
blank_string = " blank string "
# 오른쪽 공백 지우기
print(blank_string.rstrip()) # " blank string"
# 왼쪽 공백 지우기
print(blank_string.lstrip()) # "blank string "
# 양쪽 공백 지우기
print(blank_string.strip()) # "blank string"
# 문자열 나누기
split_string = "this : split string"
# split(기준으로나눌문자)
# split() 공백을 기준으로 나누겠다.
# split(":") : 을 기준으로 나누겠다
print(split_string.split()) # ['this', ':', 'split', 'string']
print(split_string.split(":")) # ['this ', ' split string']
리스트
string_list = ["a", "b", "c", "d"]
number_list = [1, 2, 3, 4]
# 인덱싱
print(string_list[0]) # a
print(number_list[2]) # 3
# 슬라이싱
print(string_list[:2]) # ['a', 'b']
print(number_list[1:3]) # [2, 3]
# 더하기
print(string_list + number_list) # ['a', 'b', 'c', 'd', 1, 2, 3, 4]
# 반복하기
print(number_list * 2) # [1, 2, 3, 4, 1, 2, 3, 4]
# 길이 구하기
print(len(number_list)) # 4
# 값 수정하기
number_list[1] = 5
print(number_list) # [1, 5, 3, 4]
# 요소 삭제하기
del number_list[1]
print(number_list) # [1, 3, 4]
# 요소 추가
number_list.append(0)
print(number_list) # [1, 3, 4, 0]
# 리스트 정렬
number_list.sort()
print(number_list) # [0, 1, 3, 4]
# 리스트 뒤집기
number_list.reverse()
print(number_list) # [4, 3, 1, 0]
# 리스트 인덱스 반환
# index(x) x값이 있으면 x의 인덱스값 반환
# 없으면 에러가 발생합니다.
print(number_list.index(3)) # 1
# 리스트 요소삽입
# insert(a, b) a번째에 b를 넣어라
number_list.insert(0, 10)
print(number_list) # [10, 4, 3, 1, 0]
# 리스트 요소제거
# remove(x) 첫번째로 나오는 x를 제거해라
number_list.remove(10)
print(number_list) # [4, 3, 1, 0]
# 리스트 요소 꺼내기
# pop() 제일 마지막 요소를 꺼냄
print(number_list.pop()) # 0
print(number_list) # [4, 3, 1]
# 리스트 요소 개수 세기
# count(x) 리스트 안에 x가 몇개인가
print(number_list.count(3)) # 1
# 리스트 확장
# extend(list)
number_list.extend([5,6,7])
print(number_list) # [4, 3, 1, 5, 6, 7]
튜플
base_tuple = (1,2,3,4)
plus_tuple = (5, 6)
print(base_tuple[2]) # 3
print(base_tuple[1:]) # (2,3,4)
print(base_tuple + plus_tuple) # (1,2,3,4,5,6)
print(base_tuple * 2) # (1,2,3,4,1,2,3,4)
print(len(base_tuple)) # 4
딕셔너리
dictionary = {
"이름": "누구",
"나이": "10살",
"성별": "남"
}
print(dictionary["이름"]) # 누구
# ket value 추가, 삭제
dictionary["생일"] = "03-02"
print(dictionary) # {'이름': '누구', '나이': '10살', '성별': '남', '생일': '03-02'}
del dictionary["성별"]
print(dictionary) # {'이름': '누구', '나이': '10살', '생일': '03-02'}
# 이미 존재하는 key에 value를 할당하면 값이 업데이트 됩니다.
# 중복키를 허용하지 않습니다.
dictionary["이름"] = "최양임"
print(dictionary) # {'이름': '최양임', '나이': '10살', '생일': '03-02'}
# 딕셔너리 관련 함수
# key 값만 모아 dict_key 객체를 리턴합니다.
print(dictionary.keys()) # dict_keys(['이름', '나이', '생일'])
# value 값만모아 dict_values 객체를 돌려줍니다
print(dictionary.values()) # dict_values(['최양임', '10살', '03-02'])
# key ,value 쌍을 튜플로 묶어 dict_items 객체로 돌려줍니다
print(dictionary.items()) # dict_items([('이름', '최양임'), ('나이', '10살'), ('생일', '03-02')])
# key 값으로 value값을 가져옵니다
# dictionary["생일"] 과 같은 결과를 리턴하지만
# 차이로는 dictionary["생일"] 키가 없을때 에러를 발생시킵니다
# .get() 없을시 None을 반환합니다.
print(dictionary.get("생일")) # 03-02
# "이름" 이라는 ket 가 딕셔너리 안에있는지 학인
print("이름" in dictionary) # True
# 딕셔너리 비우기
print(dictionary.clear()) # None**
집합
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,7,8])
# 집합 연산
# 교집합
print(set1 & set2) # {3, 4, 5, 6}
# 합집합
print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7, 8}
# 차집합
print(set1 - set2) # {1, 2}
# 요소 추가
set1.add(7)
print(set1) # {1, 2, 3, 4, 5, 6, 7}
# 요소 여러개 추가
set1.update([8,9,10])
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 특정 요소 제거
set1.remove(10)
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
# 중복제거
dup = [1,1,1,2,2,3,3,3,3,4,4,4,]
print(set(dup)) # {1, 2, 3, 4}
불리안
a = True
b = False
# <class 'bool'>
print(type(a))
print(type(b))
# 조건문의 리턴값으로도 사용됩니다.
print(10 == 10) # True
print(10 > 1) # True
print(10 < 1) # False
'TIL > 나 보려고 만든 거' 카테고리의 다른 글
순열, 조합 공식 (0) | 2024.03.09 |
---|---|
class 부모와 자식 (1) | 2024.02.25 |