인사말

안녕하세요!

오늘부터 본캠프가 시작되는 날입니다.

그래서 오늘 12시간 동안 새로운 팀원들과 함께 공부하였습니다.

12시간 중에서 6시간 정도 집중했어요!

오전에는 OT가 있었기에 점심 식사 시간과 저녁 식사 시간을 제외한 나머지 시간 동안은 열심히 집중했답니다 😋

개인 공부를 진행하며, 모르는 부분이 생기면 서로에게 물어보면서 배워나갔습니다.

제가 모르는 점을 바로 물어볼 수 있다는 점이 너무 좋았습니다🫶

상시 튜터 님들과 매니저 님이 곁에 계셔서 든든하네요 😜

 

아무튼! 오늘부터는 Python 공부 내용을 포스팅 할 겁니다

잘 부탁드립니다 🙏🏻


요약

  1. 변수란?
  2. 변수 선언이란?
  3. 변수 할당이란?
  4. 컬렉션 자료형(리스트, 튜플, 딕셔너리, 셋)
  5. 명시적 타입 전환(int, float, str, bool)
  6. 컬렉션 타입 변환(list, tuple, set)
  7. 암시적 타입 변환(숫자형 데이터간의 연산)
  8. 타입 변환시 주의할 점🚨

1. 변수란?

변수 : 컴퓨터 프로그램에서 데이터를 저장하기 위해 사용되는 "이름이 붙은 저장 공간"

즉, 어떤 값을 저장해두고 필요할 때 그 값을 꺼내 사용하는 역할

name = "배민경"
age = 25

여기서 name과 age가 "변수"에 해당됩니다!


2. 변수 선언이란?

변수 선언 : 원하는 변수를 불러오는 행위

name = "배민경"
age = 25
print(name)

print()가 결괏값을 돌출하는 함수이고, 괄호 안에 있는 "name"을 선언함으로써

결괏값 : 배민경

이 됩니다!


3. 변수 할당이란?

변수 할당 : 변수 값을 지정해주는 행위이며, "="의 기호를 써서 할당한다.

*컴퓨터에서 "="는 "할당하다"를 의미하고, 수학에선 등호(=)의 의미가 됩니다.

greeting = "hello, world"

4. 컬렉션 자료형

  • 리스트(List)
  • 튜플(Tuple)
  • 딕셔너리(Dictionary)
  • 셋(Set)

 

  • 리스트(List)
    • 개념 : 여러 개의 항목을 순서대로 저장할 수 있는 가변 자료형
    • 표현법 : 대괄호[] 및 쉼표로 구분됨
    • 특징 : 순서가 있고, 가변적이며, 중복된 요소를 가질 수 있음
#리스트, 가변 (문자형은 수정 불가능)
number_list = [3,4,3.14,5,7]
print(number_list)
print(number_list[0])
print(number_list[0:2])
print(number_list[2:4])

print(number_list[0]) : 첫 번째 값 들고 오기
print(number_list[0:2]) : 첫 번째, 두 번째 값 들고 오기
print(number_list[2:4]) : 두 번째, 네 번째 값 들고 오기

#첫 번째 숫자 바꾸기
number_list[0] = 9
print(number_list)
#결괏값 = [9, 4, 3.14, 5, 7]


#값 추가하기
number_list.append(100)
print(number_list)
#결괏값 =[9, 4, 3.14, 5, 7, 100]


#값 지우기
number_list.remove(3.14)
print(number_list)
#결괏값 = [9, 4, 5, 7, 100]


#정렬하기
number_list.sort()
print(number_list)
#결괏값 = [4, 5, 7, 9, 100]


#len
print(len(number_list))
#결괏값 = 5

 

  • 튜플(Tuple)
    • 개념 : 리스트와 유사하지만, 한 번 생성되면 수정할 수 없는 불변 자료형
    • 표현법 : 소괄호()
    • 특징 : 순서가 있고, 불변적이며, 중복된 요소를 가질 수 있음
#튜플(Tuple), 불변
number_tuple = (3,1,5,4)

print(number_tuple)
#결괏값 = (3, 1, 5, 4)


print(number_tuple[0])
#결괏값 = 3


print(len(number_tuple))
#결괏값 = 4

 

  •  딕셔너리(Dictionary)
    • 개념 : 키-값 쌍(Key-value Pair)으로 데이터를 저장
    • 표현법 : 중괄호{} 및 각 키와 값은 클론(:)으로 구분
    • 특정
      1. 순서가 없으며, 키를 통해 접근함
      2. 가변적
      3. 키는 유일해야 함
      4. 값은 중복될 수 있음
#딕셔너리(Dictionary)
name_dict = {"이름":"민경", "성":"배"}
print(name_dict)
#결괏값 = {'이름': '민경', '성': '배'}


print(name_dict["이름"])
#결괏값 = 민경


#딕셔너리에 내용 추가하기
name_dict["나이"] = 25
print(name_dict["나이"])
#결괏값 = 25


#삭제하기
del name_dict["나이"]
print(name_dict)


#키 목록 확인하기
print(name_dict.keys())
#결괏값 = dict_keys(['이름', '성'])


#키 값 확인하기
print(name_dict.values())
#결괏값 = dict_values(['민경', '배'])

 

  • 셋(Set) 
    • 개념 : 중복되지 않는 요소들의 집합을 나타내는 자료형
    • 표현법 : 중괄호{}
    • 특징 : 순서가 없고, 가변적, 중복을 허용하지 않음
#셋(set), 중복된 값이 없음
number_set = {1,2,3,4,5,5,6}
print(number_set)
#결괏값 = {1, 2, 3, 4, 5, 6}


#셋 추가하기
number_set.add(8)
print(number_set)
#결괏값 = {1, 2, 3, 4, 5, 6, 8}


#셋 삭제하기
number_set.remove(3)
print(number_set)
#결괏값 = {1, 2, 4, 5, 6, 8}


#셋 합집합
number_set_2 = {5,6,7,9,11}
print(number_set.union(number_set_2))
#결괏값 = {1, 2, 4, 5, 6, 7, 8, 9, 11}


#셋 교집합
print(number_set.intersection(number_set_2))
#결괏값 = {5, 6}

5. 명시적 타입 전환

  • Int() : 정수로 변환
  • Float() : 실수로 변환(소수)
  • Str() : 문자열로 변환
  • Bool() : True or False로 변환

 

1. Int() : 정수로 변환

#명시적 타입 전환

## int() : 정수화
### 실수를 정수로 변환
a = 3.14
b = int(a)
print(b)
#결괏값 = 3


### 문자열을 정수로 변환
c = "100"
d = int(c)
print(d)
#결괏값 = 100

 

2. Float() : 실수로 변환

## float() : 실수화
### 정수를 실수로
a = 10
b = float(a)
print(b)
#결괏값 = 10.0


### 문자열을 정수로
c = "3.14"
d = float(c)
print(d)
#결괏값 = 3.14

 

 

3. str() : 문자열로 변환

## str() : 문자열화
a = 10
b = str(a)
print(b)
#결괏값 = 10


print(type(b))
#결괏값 = <class 'str'>

여기서 새롭게 배운 내용이었어요!

강의를 시청하면서 배운 거기 때문에 '그렇구나~' 하면서 공부했는데

결괏값이 강사 님의 내용과 다르더라구요..?

맞게 됐는지 아닌지 모르겠어서, 팀원분들께 여쭤봤더니

print(type(b)) 해보라고 알려주시더라구요

  • Type() : 함수의 유형을 알려줌

그렇게 해서 str()로 제대로 변환 됐다는 걸 확인 할 수 있었습니다!

 

4. bool()

## bool() : None과 빈 문자열 = False , 그 외는 True
bool_test_1 = 0
bool_test_2 = ""
bool_test_3 = "hello"

print(bool(bool_test_1))
#결괏값 = False


print(bool(bool_test_2))
#결괏값 = False


print(bool(bool_test_3))
#결괏값 = True

6. 컬렉션 타입 변환

- 문자열을 리스트로 전환

1. list()

## list() : 문자열을 리스트로 전환
a = "hello"
b = list(a)
print(b)
#결괏값 = ['h', 'e', 'l', 'l', 'o']

 

2. tuple()

## tuple() : 리스트를 튜플로 변환
c = [1,2,3]
d = tuple(c)
print(d)
#결괏값 = (1, 2, 3)

 

3. set()

## set() : 리스트를 셋으로 변환 (중복 제거)
e = [1,2,2,3,4]
f = set(e)
print(f)
#결괏값 = {1, 2, 3, 4}

 


7. 암시적 타입 변환

  • 개념 : Python이 자동으로 데이터를 변환하는 경우
  • 특징 : 일반적으로 숫자형 데이터 간의 연산에서 발생함
# 암시적 타입 변환 : 연산

## 정수와 실수의 연산에서 발생하는 암시적 변환
a = 5
b = 2.0
c = a + b
print(c)
#결괏값 = 7.0


print(type(c))
#결괏값 = <class 'float'>

8. 타입 변환시 주의할 점🚨

  1. 문자열 변환 주의 : Int()를 쓸 때는 숫자여야 합니다!
    • 올바른 예시
a = "123"
b = int(a)
print(b)
#결괏값 = 123
  • 잘못된 예시
c = "abc"
d = int(c)
print(d)
#결괏값 =
Traceback (most recent call last):
  File "/Users/baeminkyung/Desktop/A.py", line 154, in <module>
    d = int(c)
ValueError: invalid literal for int() with base 10: 'abc'

 

 

2. 정밀도 손실 주의 : Int()를 쓰기 전, 숫자가 실수였을 때 소수점 이하의 값이 날라가는 것을 주의하셔야 합니다.

a = 3.99
b = int(a)
print(b)
#결괏값 = 3

 

3. 암시적 변환의 이해 : 코드의 의미를 명확히 하기 위해 명시적으로 변환하는 것이 좋을 때도 있습니다.


마무리

와~!

오늘 공부한 내용을 이렇게 정리해보니까, 뿌듯하네요

처음엔 Python이 너무 어려워서 '어떡하나,,' 했는데

막상 해보니까 해볼만 했습니다!

뭐든 처음이 두렵고 어려운 법이죠 ☺️

어쨌든 시도를 해봤다는 거고, 해냈다는 게 중요하지 않겠습니까!

 

긴 글 읽어주셔서 감사하고,

열심히 공부해준 저에게 칭찬을 해주고 싶네요!

수고 많으셨습니다 :)

 

+ Recent posts