파이썬 기초 문법 뽀개기👊🏻 - 변수선언, 문자열, 리스트, 딕셔너리

Leehyun·2025년 2월 26일
0

내일배움캠프

목록 보기
7/14
post-thumbnail

변수 선언

  • 파이썬에서 새 변수를 만들 때는 변수이름 = 값 의 형태로
  • 출력할 때는 print
  • 예시
a = 3        # 3을 a에 넣는다.
print(a)
b = a        # a에 들어 있는 값인 3을 b에 넣는다.
print(b)
a = 5        # a에 5라는 새로운 값을 넣는다.
print(a, b)  # 5 3
  • 숫자 자료형 예시
a = 7
b = 2

a+b   # 9 
a-b   # 5
a*b   # 14
a/b   # 3.5

a+3*b         # 13 (여러 연산을 한 줄에 할 경우 사칙연산의 순서대로!)
(a+3)*b       # 20 (소괄호를 이용해서 먼저 계산할 부분을 표시해줄 수 있음)
a = 5
a = a + 3 # 5에 3을 더한 값을 다시 a에 저장
print(a)  # 8

a += 3    # 줄여 쓸 수도 있다. 같은 의미!
  • 생소한 연산들
a//b  # 3 (몫)
a%b   # 1 (나머지)
a**b  # 49 (거듭제곱)
  • BOOL 자료형 (True/False)
x = True   # 참
y = False  # 거짓

# 소문자로 쓰면 자료형으로 인식하지 않고 변수명이라 생각해 에러남!
z = true   # name 'true' is not defined

True = 1   # True/False는 변수명으로 쓸 수 없어요!

🌸 Bool 타입은 '비교연산자'의 결과를 나타내기 위해 자주 쓰임!

a = 4 > 2  # True
not a      # False    NOT 연산자로 참을 거짓으로, 거짓을 참으로 바꿔준다.

a and b    # False    AND 연산자로 모두 참이어야 참을 반환한다.
a or b     # True     OR 연산자로 둘 중 하나만 참이면 참이다.

문자열

  • 문자열 = 글 데이터
# 작은 따옴표 또는 큰 따옴표. 둘 다 같아요!

a = "aa"
b = 'aa'

🍀 따옴표로 감싸지 않으면 변수이름을 뜻하기 때문에 꼭 구분해서 써야함!

a = 1
b = "a"
c = a
print(a, b, c) # 1 "a" 1
  • 문자열 더하기
first_name = "Harry"
last_name = "Potter"

first_name + last_name  # HarryPotter
first_name + " " + last_name  # Harry Potter

a = "3"
b = "5"
a + b    # 35

🫥 문자열 + 숫자형 이런건 안됨! (문자 + 문자, 숫자 + 숫자 possible)

  • 문자열 길이 구하기
    len() 함수 이용!
print(len("abcde"))           # 5
print(len("Hello, Sparta!"))  # 14
print(len("안녕하세요."))      # 6
  • 문자열 대소문자 바꾸기
    .upper() .lower() 이용!
sentence = 'Python is FUN!'

sentence.upper()  # PYTHON IS FUN!
sentence.lower()  # python is fun!
  • 문자열 자르기
    split 함수 이용!
# 이메일 주소에서 도메인 'gmail'만 추출하기
myemail = 'test@gmail.com'

result = myemail.split('@') # ['test','gmail.com'] (리스트 자료형)

result[0] # test (리스트의 첫번째 요소)
result[1] # gmail.com (리스트의 두 번째 요소

result2 = result[1].split('.') # ['gmail','com']

result2[0] # gmail -> 우리가 알고 싶었던 것
result2[1] # com

# 한 줄로 한 번에!
myemail.split('@')[1].split('.')[0]
  • 특정 문자를 다른 문자로 바꾸기
    replace 함수 이용!
txt = '서울시-마포구-망원동'
print(txt.replace('-', '>')) # '서울시>마포구>망원동'
  • 인덱스와 슬라이싱
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  처음부터 끝까지

🌝 f[앞의 숫자] ~ f[뒷 숫자 -1] 까지!
비슷하게, range(1, N+1)도 1부터 N까지!


리스트와 딕셔너리

  • 리스트 : 순서가 있는 자료형들의 모임
  • 예시
a = [1, 5, 2]
b = [3, "a", 6, 1]
c = []
d = list()
e = [1, 2, 4, [2, 3, 4]]

🌞 리스트도 동일하게, len(), 인덱싱, 슬라이싱 사용 가능!
인덱싱 할때 a[-1] 처럼 -1이 온다면 맨 마지막 것이라는 뜻

  • 딕셔너리 : 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임
  • 예시
person = {"name":"Bob", "age": 21}
print(person["name"])

a = {"one":1, "two":2}

# 빈 딕셔너리 만들기
a = {}
a = dict()

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

  • 딕셔너리의 값을 업데이트하거나 새로운 쌍의 자료를 넣을 수 있음
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, "science": 92, "Korean": 84}}
print(person["scores"])             # {'math': 81, 'science': 92, 'Korean': 84}
print(person["scores"]["science"])  # 92
  • 딕셔너리 & 리스트
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'
profile
짱구가 코딩을..?

0개의 댓글