본문 바로가기
데이터분석 부트캠프

[데이터분석 부트캠프] 파이썬 session #1~2. 데이터 타입, 문자열, 논리연산자, 텍스트, 리스트, 튜플, 딕셔너리

by yyezzi 2025. 11. 4.
반응형

⭐️ cmd + s (저장) 누른 후 터미널에서 python 파일명 입력! - 'python 파일명'은 한번 입력한 이후 ⬆️ 누르면 나옴!

 

* Data Type

   - int: 정수

   - float: 실수

   - str: 문자열

   - bool: 논리값

a = 10
b = 3.14
c = "Python"
d = True
print(type(a), type(b), type(c), type(d))

# <class 'int'> <class 'float'> <class 'str'> <class 'bool'>

* 변수를 입력하는 이유: 어떤 값을 여러 번 사용하고 싶을 때, 어떤 값을 다른 곳에 사용하고 싶을 때

 

* 문자열 다루기

text = "Python"
print(text[0])     # P
print(text[-1])    # n
print(text[0:3])   # Pyt
print(text[::-1])  # nohtyP

 

* 논리 연산자

a = 2
b = 3
# 어떤 값을 여러 번 사용하고 싶을 때, 어떤 값을 다른 곳에 사용하고 싶을 때

print(a + b)
print(a == b) # 논리형
print(a != b) # 논리형

print(a - b) # 정수형
print(a * b) # 정수형
print(a / b) # 실수형
print(a // b) # 몫을 구하는 연산자
print(a ** b) # 2^3

 

* text

text = input("문자열을 입력하세요.: ") # abc

# 대문자 변환
print("대문자: ", text.upper()) # ABC
# 변수.함수이름() -> 내장 함수 사용

# 소문자 변환
print("소문자: ", text.lower()) # abc
# 변수.함수이름() -> 내장 함수 사용

# 뒤집기
print("뒤집기: ", text[::-1]) # cba
# 변수[숫자값] -> 인덱싱

# 글자 수 세기
print("글자 수: ", len(text)) # 3
# 함수이름(변수) -> 내장 함수 사용
# '', "" 사용되었는데 '를 써야할 때 = \ 
print('"Let\'s go!"')

# 줄바꾸기 = \n
print("Hello, Python!\n파이썬을 배우면 데이터 분석이 쉬워집니다.\nLet\' start coding!")

 

* BMI 계산기

# BMI 지수 = weight / (height / 100 ** 2)
height = float(input("키(cm): "))
weight = float(input("몸무게(kg): "))

bmi = weight / ((height / 100) ** 2)
print(f"당신의 BMI는 {bmi:.2f}입니다.")

 

* 나이 계산기

name = input("name: ")
age = int(input("age: ")) + 10
print(f"{name}님의 10년 후 나이는 {age}살입니다.")

 

* Mini Quiz

1. type("100")의 결과는? ① int ② str ③ float ④ bool
2. input() 함수는 어떤 자료형을 반환할까? ① int ② str ③ bool ④ list
3. print(5 // 2)의 결과는? ① 2.5 ② 2 ③ 3 ④ 1
4. 변수 이름으로 쓸 수 없는 것은? ① name ② _score ③ 2num ④ my_age
5. #의 역할은? ① 함수 실행 ② 코드 종료 ③ 주석 ④ 반복
반응형

* 리스트

   - 여러 값을 순서대로 저장

   - [ ] 사용

   - 수정, 삭제 가능

numbers = [10, 20, 30, 40, 50]
names = ["Hannah", "Minji", "Yumi"]

 

- 인덱싱 & 슬라이싱

numbers = [10, 20, 30, 40, 50]
print(numbers[0])   # 첫 번째 요소  10
print(numbers[-1])  # 마지막 요소   50
print(numbers[1:4]) # 2~4번째 요소 [20, 30, 40]

 

- 리스트 메서드

numbers = [10, 20, 30, 40, 50, 60]

numbers.append(70) # 맨 뒤에 추가 [10, 20, 30, 40, 50, 60, 70]
numbers.insert(2,80) # 지정 위치에 추가 [10, 20, 80, 30, 40, 50, 60]
numbers.remove(30) # 해당 요소 삭제 [10, 20, 40, 50, 60]
numbers.pop() # 마지막 요소 꺼내기 60
numbers.sort() # 오름차순 정렬 [10, 20, 30, 40, 50, 60]
scores = [90, 85, 77, 95, 88]

# 1) 전체 출력
print(scores) # [90, 85, 77, 95, 88]

# 2) 평균 점수 구하기
avg = sum(scores) / len(scores)
print(f"평균 점수: {avg:.2f}")  # 평균 점수: 87.00

# 3) 최고/최저 점수 출력
print(f"최고 점수: {max(scores)}, 최저 점수: {min(scores)}")  # 최고 점수: 95, 최저 점수: 77

 

* 튜플

   - 변경 불가

   - ( ) 사용

   - 데이터 보호 목적

coord = (37.5665, 126.9780)  # 서울 좌표
print(f"위도: {coord[0]}, 경도: {coord[1]}") # 위도: 37.5665, 경도: 126.978

 

* 딕셔너리

   - 키 & 값

   - { } 사용

   - 키로 접근

student = {
    "name": "Monica",
    "age": 32,
    "major": "French"
}

print(student["name"])
student["age"] = 31      # 값 변경
student["grade"] = "A+"  # 새 키 추가 
print(student)

# Monica
# {'name': 'Monica', 'age': 31, 'major': 'French', 'grade': 'A+'}

 

- 딕셔너리 메서드

student = {
    "name": "Monica",
    "age": 32,
    "major": "French"
}

student.key()         # 모든 키 가져오기  dict_keys(['name', 'age', 'major'])
student.values()      # 모든 값 가져오기  dict_values(['Monica', 32, 'French'])
student.items()       # 키와 값 모두 가져오기  dict_items([('name', 'Monica'), ('age', 32), ('major', 'French')])
student.get('age')    # 값 가져오기  32
student.pop('major')  # 특정 키 삭제  French
student = {"name": "monica", "age": 32, "major": "Salesforce"}

print("학생 정보:")
for key, value in student.items():
    print(f"{key} : {value}")

# 학생 정보:
  name : monica
  age : 32
  major : Salesforce

student["grade"] = "A"     # 정보 추가
print("\n추가 후:", student)

# 추가 후: {'name': 'monica', 'age': 32, 'major': 'Salesforce', 'grade': 'A'}
students = [
    {"name": "Hannah", "age": 25, "score": 90},
    {"name": "Minji", "age": 21, "score": 85},
    {"name": "Monica", "age": 23, "score": 95}
]

for s in students:
    print(f"{s['name']}의 점수는 {s['score']}점입니다.")
    
# Hannah의 점수는 90점입니다.
  Minji의 점수는 85점입니다.
  Monica의 점수는 95점입니다.

 

* Mini Quiz

1. 리스트 선언 방법으로 올바른 것은?  ① {1, 2, 3} ② (1, 2, 3) ③ [1, 2, 3] ④ list: 1, 2, 3
2. 튜플의 특징으로 옳지 않은 것은?  ① 불변이다 ② 수정 가능하다 ③ 속도가 빠르다 ④ 괄호는 ()이다
3. 딕셔너리에서 값을 가져오는 안전한 방법은?  ① dict.get(key) ② dict.value(key) ③ dict.item() ④ dict.key()
4. students = [{"name": "Kim", "age": 20}] 일 때, students[0]["name"]의 결과는? Kim

 

반응형