부트캠프 버프로 잠깐 학점만 잘 받고 아무것도 기억나지 않아 파이썬을 좀 제대로 공부해보고자 A학점인 것을 굳이굳이 재수강을 신청했다.
물론 이상적 결과물은 A+이지만, 학점세탁이 아니더라도 정처기에 나오기도 하고 무엇보다 내가 할줄 아느냐 모르느냐가 더 중요하다고 생각했기 때문.
사실 정처기는 잘못이 없다. 공부를 안한 스스로의 탓(...)
순서화된 값의 집합체를 저장할 수 있는 데이터 타입
Q. 시퀀스 타입이 뭔가요?
A. 데이터 타입 중 하나.
계수 제어 반복 구조(for문) 에서 특정 반복 횟수와 반복 시 계수의 값을 정하기 위해 사용되는 타입.
좀더 포멀하게는 list([원소 시퀀스]) 로 쓸 수 있지만, 그냥 [원소 시퀀스] 라고만 써도 된다. 이 리스트는 다른 정적언어의 배열처럼 인덱스 번호로 직접 접근할 수 있다.
rad = 30 // 원뿔의 밑넓이
height_list = [15, 7, 23, 9, 31]
위와 같이 주어져있다고 하면, for문을 통해 height_list의 인덱스 번호를 찍어 돌면서 원뿔의 부피를 구할 수 있을 것.
파이썬은 이렇게 리스트 쓰기가 간단해서, 다른 언어 배열 쓰듯이 리스트 써서 for문 도는 경우가 많다.
for문을 그럴듯하게 표현하면 계수 제어 반복이다. 숫자(계수)에 따라 반복문이 제어되므로 이렇게 부른다.
for 계수-제어-변수 in 시퀀스:
(공백) 코드블록
위와 같은 구조로 이루어진다. 강의 예시는 다음과 같다.
hei_list = [1, 4, 14, 26, 31]
for hei in hei_list:
print(hei)
// 이렇게 쓰면 알아서 hei_list 끝까지 돌아준다
그래서 1~10을 하고 싶으면 in range(1, 11) 을 쓰면 된다. 아래와 같이 작성한다.
[기본형]
range(시작값(이상), 끝값(미만), 증분)
[예시]
for i in range(1, 11):
print(i)
이렇게만 써도 i가 1씩 증가하면서 출력된다. 증분을 3으로 쓰면 +3 한 숫자가 끝값 미만 중 최대수까지 출력된다.
참고 블로그에 따르면 숫자 하나만 적으면 그 수가 종료지점이 된다고.
season, temp = "winter", -5
이렇게 쓰면 season과 temp에 각각 값이 들어간다.
동시할당을 좀더 자세히 보면 이렇게 생겼다.
def rtn_con_vol_surf(r,h):
if r > 0 and h > 0:
vol = 1/3 * 3.14 * r ** 2 * h
surf=3.14 * r ** 2 + 3.14 * r * h
return vol, surf
else:
print("반지름과 높이 값을 올바르게 입력해주세요")
vol1, surf1 = rtn_con_vol_surf(50, 100)
print(vol1, "입니다")
print(surf1, "입니다")
vol1, surf1 = ~ 저렇게 써놓으면 vol1에 부피값이, surf1에 겉넓이 값이 알아서 계산해서 들어가진다. (함수 자체가 return을 vol, surf로 다중반환 하기때문)
uni = 15
add = 693
uni, add = add, uni
이런 식으로 그냥 자리를 바꿔치는 교환도 가능하다.
a = int(input("첫 번째 숫자 입력: "))
b = int(input("두 번째 숫자 입력: "))
c = int(input("세 번째 숫자 입력: "))
def sort3(a, b, c):
if a > b:
a, b = b, a
if a > c:
a, c = c, a
if b > c:
b, c = c, b
print(a, b, c)
sort3(a, b, c)
print("함수 수행 이후의 a, b, c 값은: ", a, b, c)

이렇게 나온다.
def rtn_con_vol_surf(r,h):
if r > 0 and h > 0:
vol = 1/3 * 3.14 * r ** 2 * h
surf=3.14 * r ** 2 + 3.14 * r * h
r, h = 0, 0
return vol, surf
else:
print("반지름과 높이 값을 올바르게 입력해주세요")
r= 10
h = 15
print(rtn_con_vol_surf(r,h), "입니다")
print(r, h)
위 코드에서 맨 밑 print문은 10, 15가 찍힌다. 함수 내에서 r, h = 0, 0 한 것은 전혀 영향을 미치지 않는다.
class Cone:
def __init__(self, r = 20, h = 30):
self.r = r
self.h = h
def get_vol(self):
vol = 1/3 * 3.14 * r ** 2 * h
return vol
이때 get_vol의 vol 공식에서 그냥 r과 h를 쓰면 받는 매개변수도 없는데 계산을 할 수가 없다.
파이썬의 f string은 쌍따옴표 앞에 f만 써주면 변수를 중괄호로 가져와 그냥 쓸 수 있다.
name = "James"
age = 35
f"{name}님 {age}세. 안녕하세요"
이런 식으로.

재수강 실패! A0 유지!