파이썬 기초

hyun-jin·2025년 2월 21일

데이터 분석

목록 보기
6/100
post-thumbnail

데이터 분석 5일차 (파이썬 1일) - 파이썬 기초

1. 변수 선언과 자료형

1) 변수 선언
변수이름 = 값

a = 3        # 3을 a에 넣는다.
print(a)
b = a        # a에 들어 있는 값인 3을 b에 넣는다.
print(b)
a = 5        # a에 5라는 새로운 값을 넣는다.
print(a, b)  # 5 3

2) 숫자형 자료형

a = 7
b = 2
a+b   # 9 
a-b   # 5
a*b   # 14
a/b   # 3.5
a**b  # 49 (제곱)
a//b  # 3 (몫)
a%b   # 1 (나머지)

3) bool 자료형

x = True   # 참
y = False  # 거짓

4 > 2      # True  크다
5 < 1      # False 작다
6 >= 5     # True  크거나 같다 
4 <= 4     # True  작거나 같다
3 == 5     # False 같다
4 != 7     # True  같지 않다

📌 불 자료형에 논리연산자 이용 가능

a = 4 > 2  # True
not a      # False    NOT 연산자로 참을 거짓으로, 거짓을 참으로 바꿔준다.
a and b    # False    AND 연산자로 모두 참이어야 참을 반환한다.
a or b     # True     OR 연산자로 둘 중 하나만 참이면 참이다.

2. 문자열 다루기 - len(), upper(), lower(), split(), replace(), 인덱싱과 슬라이싱

1) len()

✔️ 문자열 길이

print(len("abcde"))           # 5 
print(len("Hello, Sparta!"))  # 14 
print(len("안녕하세요."))      # 6

2) upper(), lower()

✔️ 모든 알파벳을 대문자/소문자로 바꾸기

sentence = 'Python is FUN!'
sentence.upper()  # PYTHON IS FUN! 
sentence.lower()  # python is fun!

3) split()

✔️ 특정 문자를 기준으로 문자열을 나누기

## sparta 만 빼기
myemail = 'abc@sparta.co'
result1 = myemail.split('@') #@를 중심 앞뒤로 쪼개짐
print(result1)      #['abc', 'sparta.co']  <--[0번째,1번째]
result2 = myemail.split('@')[1]   # 쪼갠거 첫번째것만

result3 = myemail.split('@')[1].split('.')[0]
print(result3)  <-- sparta만 나옴

4) replace()

✔️ 특정 문자를 다른 문자로 바꾸기

txt = '서울시-마포구-망원동'
print(txt.replace('-', '>')) # '서울시>마포구>망원동'

5) 인덱싱과 슬라이싱

📌 인덱싱 - 문자열에 한 글자 씩 부를 때는 몇 번째인지 '인덱스'를 넣어 불러서 인덱싱이라 한다.

f="abcdefghijklmnopqrstuvwxyz"
f[1]   # b 파이썬은 숫자를 0부터 셉니다

📌 슬라이싱 - 문자열의 일부를 잘라낼 때는 슬라이싱이라 한다.

f[4:15]  # efghijklmno           f[4]부터 f[15] 전까지, 총 15-4=11개!
f[8:]    # ijklmnopqrstuvwxyz    f[8]부터 끝까지, 앞의 8개 빼고! 
f[:7]    # abcdefg               시작부터 f[7] 전까지, 앞의 7개!
f[:]     # abcdefghijklmnopqrstuvwxyz  처음부터 끝까지
  • "sparta" 의 앞의 3글자인 "spa" 만 출력
text = "sparta"
print(text[:3])
  • 전화번호의 지역번호 출력
phone = "02-123-1234"
print(phone.split("-")[0])

3. 리스트와 딕셔너리

1) list

📌 순서가 있는, 다른 자료형들의 모임
📌 [] 사이에 요소 넣기!

a = [1, 5, 2]
b = [3, "a", 6, 1]
c = []
d = list()
e = [1, 2, 4, [2, 3, 4]]

✔️ 리스트의 길이도 len() 함수를 사용

a =[1, 5, 2]
print(len(a))   # 3
b = [1, 3, [2, 0], 1]
print(len(b))   # 4

✔️ 순서가 있기 때문에, 문자열에서처럼 인덱싱과 슬라이싱 사용 가능

a = [1, 3, 2, 4]
print(a[3])  # 4
print(a[1:3]) # [3, 2]
print(a[-1]) # 4 (맨 마지막 것)
  • 리스트 안에 리스트
a = [1, 2, [2, 3], 0] 
print(a[2])      # [2, 3] 
print(a[2][0])   # 2

✔️ append() - 덧붙이기

a = [1, 2, 3]
a.append(5)
print(a)     # [1, 2, 3, 5]

a.append([1, 2])
print(a)     # [1, 2, 3, 5, [1, 2]]
# 더하기 연산과 비교!
a += [2, 7]
print(a)     # [1, 2, 3, 5, [1, 2], 2, 7]

✔️ sort() - 정렬하기

a = [2, 5, 3]
a.sort()   # 오름차순
print(a)   # [2, 3, 5] 

a.sort(reverse=True)  #내림차순
print(a)   # [5, 3, 2]

✔️ - in - 요소가 리스트 안에 있는지 확인

a = [2, 1, 4, "2", 6]
print(1 in a)      # True
print("1" in a)    # False
print(0 not in a)  # True

2) 딕셔너리 (dictionary)

📌 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임
📌 {} 사이에 요소 넣기!

person = {"name":"Bob", "age": 21}
print(person["name"])  # 딕셔너리엔 순서가 없어 이름으로 불러줘야 함

💡딕셔너리의 요소에는 순서가 없기 때문에 인덱싱을 사용할 수 없다!!

person = {"name":"Bob", "age": 21} print(person[0])
# 0이라는 key가 없으므로 KeyError 발생!

✔️ 딕셔너리의 값을 업데이트하거나 새로운 쌍의 자료 넣기

person = {"name":"Bob", "age": 21}

person["name"] = "Robert"
print(person)  # {'name': 'Robert', 'age': 21}

person["height"] = 174.8
print(person)  # {'name': 'Robert', 'age': 21, 'height': 174.8}

✔️ 딕셔너리의 밸류로는 아무 자료형이나 쓸 수 있으며, 다른 딕셔너리를 넣을 수 도 있다!

person = {"name":"Alice", "age": 16, "scores": {"math": 81, "scienc print(person["scores"])             # {'math': 81, 'science': 92, 'Korean print(person["scores"]["science"])  # 92

✔️ 딕셔너리에서 in 사용 (키 존재 찾기)

person = {"name":"Bob", "age": 2} 

print("name" in person)       # True
print("email" in person)      # False 
print("phone" not in person)  # True

✔️ 리스트와 딕셔너리의 조합

people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]
# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'
person = {'name': 'john', 'age': 7}
people.append(person)
# people의 값은? [{'name':'bob','age'20}, {'name':'carry','age':38}, {'name':'john','age':7}] 
# people[2]['name']의 값은? 'john'

0개의 댓글