티스토리 뷰
Python 의 기본 구조 파이썬 본격 배우기 1일차
- 숫자형(numbers)
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]
말 그대로 숫자 형태를 가진 자료
# 정수형 <class 'int'>
integer = 100
print(type(integer))
# 실수형 <class 'float'>
float = 3.14
print(type(float))
사칙연산
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']
- 리스트 (list)
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]
- 튜블(tuple)
튜플은 리스트와 비슷하다 다른 점으로는 리스트는 ' [] ' 튜플은 ' () ' 리스트는 요소의 생성, 삭제, 수정이 가능함 (변경가능) 튜플은 요소의 값을 바꿀 수 없습니다 (변경불가능) 요소의 값을 변화시킬수 없다는 점을 제외하고는 완전히 동일하다. 즉 인덱싱, 슬라이싱, 더하기, 곱하기, 길이구하기가 가능하다.
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
- 딕셔너리 (dic)
대응 관계를 key value로 나타내는 자료형이다. 예를 들어 이름: 누구, 나이: 10 , 성별: 남 이런식으로 표현되어 리스트나 튜플처럼 순차적으로 요솟값을 구하지 않고 key를 통해 value를 얻는다.
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**
- 집합 (set)
말그대로 집합에 관련된 연산들을 쉽게 처리하기위한 자료형이다. 특징으로는 중복을 허용하지 않는다, 순서가 없다 라는 특징이있고 중복을 허용하지 않기 때문에 중복을 제거하기 위해 자주 사용되기도 한다.
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}
- 불리안 (boolean)
참과 거짓, True와 False를 나타내는 자료형
a = True
b = False
# <class 'bool'>
print(type(a))
print(type(b))
# 조건문의 리턴값으로도 사용됩니다.
print(10 == 10) # True
print(10 > 1) # True
print(10 < 1) # False
- 조건문 (if, else)
조건문은 특정 조건일때 아래 내용을 실행한다 프로그래밍을 하다보면 여러가지 상황에 대한 분기를 나누어서 처리해야 하는 경우가 생긴다 이때 조건문을 사용한다.
# if문의 기본구조
if 조건문:
수행할 문장
else:
수행할 문장
조건문을 확인해 참이면 if 바로 아래 문장을 수행하고 거짓이면 eles 아래 문장을 수행한다
- 오늘의 회고
새롭게 팀이 바뀌고의 첫주의 시작 지난주에는 도움만 받았던지라 이번주부터는 잘할수 있을까 또 소통은 될수 있을까 걱정이 많았지만 다행이도! 전주에 같이 수업을 들으셨던 열정 많으신 분과 함께 새로운 조에 같이 배정이 되었다. 이미 벌써 여기서 평안을 찾았다. 정신없이 강의를 봤던 전주와 달리 이번주부터는 차근차근 기본부터 다시 배워보는 시간이었다. 그래도 아직 한참 멀었지만 익숙해 지지 않을거같았던 창도 슬슬 적응이 되는것같다. 여기서부터 발전을 한걸지도 모른다.
'내일배움캠프 개발자과정 > TIL' 카테고리의 다른 글
내일배움캠프 7일차 TIL (0) | 2024.02.21 |
---|---|
내일배움캠프 6일차 TIL (0) | 2024.02.20 |
내일배움캠프 4일차 TIL 및 한주 정리 (0) | 2024.02.16 |
내일배움캠프 3일차 TIL (0) | 2024.02.15 |
내일배움캠프 2일차 TIL (1) | 2024.02.14 |