Sparta Coding Club/Development log [개발일지]

[Python][파이썬 문법 기초] 1-1 ~ 1-6 변수 선언부터 함수까지 통합! - Coding Farm

양한마리 2022. 9. 16. 20:27
728x90

 



파이썬 기초 문법 (1)


  • 1-1 변수 선언과 자료형
    • 변수 선언
    • 숫자형 자료형
    • Bool 자료형
    • Q. 숫자들의 평균 구하기
  • 1-2 문자열 다루기
    • 1) 문자열
      • 문자열 기초
      • 문자열 연산
      • 인덱싱과 슬라이싱
    • 2) Q. 문자열의 앞의 반만 출력하기
    • 3) Q. 전화번호의 지역번호 출력하기
  • 1-3 리스트와 딕셔너리 
    •  1) 리스트 (list)
      • 리스트 기초
      • 리스트의 더 많은 기능들!
    •  2) 딕셔너리 (dictionary)
      • 딕셔너리 기초
      • 딕셔너리의 더 많은 기능들!
    •  3) 리스트와 딕셔너리의 조합
    •  4) Q. 딕셔너리에서 원하는 정보를 찾아보기
  • 1-4 조건문
    • 1) if 문
      • 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법입니다.
      • 파이썬에서는 어디까지 구문에 포함되는지를 들여쓰기로 구분하기 때문에 아주 중요합니다.
    • 2) else 와 elif
      • 조건을 만족하지 않을 때 다른 코드를 실행하고 싶을 때 쓰는 문법입니다.
      • 다양한 조건을 판단할 때는 elif를 쓰면 좋아요!
  • 1-5 반복문
    • 1) for문
    • 2) Q. 사람의 나이출력하기
    • 3) for문 - enumerate, break
  • 1-6 함수
    • 1) 함수 사용 방법
    • 2) Q. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기

파이썬 기초 문법 (2)


  • 2-1 튜플, 집합
  • 2-2 f-string
  • 2-3 예외처리
  • 2-4 파일 불러오기
  • 2-5 한줄의 마법
  • 2-6 map, filter, lambda 식
  • 2-7 함수 심화

1-1 변수 선언과 자료형

 

[Python][파이썬 문법 기초] 1-1 변수 선언과 자료형 - Coding Farm

다시 또 찾아온 이범규 튜터님 :) 수업 들으러 가보자고~! 파이썬 기초 문법 1-1 변수 선언과 자료형← 변수 선언 숫자형 자료형 Bool 자료형 Q. 숫자들의 평균 구하기 1-2 문자열 다루기 1-3 리스트와

hanmari-code.tistory.com


1) 변수 선언

  • 파이썬에서 새 변수를 만들 때는 변수이름 = 값의 형태로 사용
  • a = b와 b = a는 다르다는 사실! 출력할 때는 위에서 본 것처럼 print()를 사용
a = 3        # 3을 a에 넣는다.
print(a)
b = a        # a에 들어 있는 값인 3을 b에 넣는다.
print(b)
a = 5        # a에 5라는 새로운 값을 넣는다.
print(a, b)  # 5 3

2) 숫자형 자료형

자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻합니다!

  • 다양한 형태의 숫자를 쓸 수 있습니다.
a = 5
b = 4.8
  • 숫자 간에는 사칙연산이 가능합니다. 몫과 나머지도 구할 수 있어요.
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 = 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//b  # 3 (몫)
a%b   # 1 (나머지)
a**b  # 49 (거듭제곱)

tip! 모르는 것은 무조건 검색! 검색!
구글에 파이썬 나머지 구하기, 또는 파이썬 거듭제곱이라고 쳐보기!


3) Bool 자료형

  • 특별한 자료형으로 참/거짓을 나타내는 불(Boolean) 자료형이 있습니다.
x = True   # 참
y = False  # 거짓

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

True = 1   # True/False는 변수명으로 쓸 수 없어요!
  • 보통 아래처럼 '비교연산자'의 결과로 나타내기 위해 쓰여요.
4 > 2      # True  크다
5 < 1      # False 작다
6 >= 5     # True  크거나 같다
4 <= 4     # True  작거나 같다
3 == 5     # False 같다
4 != 7     # True  같지 않다
  • 불 자료형에는 논리연산자를 이용할 수 있습니다.
4 > 2      # True  크다
5 < 1      # False 작다
6 >= 5     # True  크거나 같다
4 <= 4     # True  작거나 같다
3 == 5     # False 같다
4 != 7     # True  같지 않다

Q. 숫자들의 평균 구하기

a = 24
b = 16
c = 26

	A. 풀이
   	print((a+b+c)/3)

1-2 문자열 다루기

 

[Python][파이썬 문법 기초] 1-2 문자열 다루기

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기← 1) 문자열 문자열 기초 문자열 연산 인덱싱과 슬라이싱 2) Q. 문자열의 앞의 반만 출력하기 3) Q. 전화번호의 지역번호 출력하기 1-3 리

hanmari-code.tistory.com


1) 문자열


# 문자열 기초

  • 파이썬에서는 '글'도 데이터로 사용할 수 있는데요, 이것을 '문자열'이라고 한다.
# 작은 따옴표 또는 큰 따옴표. 둘 다 같아요!

a = "aa"
b = 'aa'
  • 따옴표로 감싸지 않으면 변수이름을 뜻하기 때문에 꼭 구분해서 사용
a = 1
b = "a"
c = a
print(a, b, c) # 1 "a" 1
  • 이렇게 다양한 방법으로 만들 수 있기 때문에, 문자열에 따옴표를 포함해야할 때 사용하면 된다.
print("I'm happy :)")

# 문자열 연산

  • 문자열 간의 더하기는 두 문자열을 이어붙인 문자열을 반환합니다.
first_name = "Harry"
last_name = "Potter"

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

a = "3"
b = "5"
a + b    # 35
  • 문자열과 정수를 더하면 에러!
a = "3"
a + 5    # 문자열과 숫자형은 더할 수 없어서 에러!
  • 문자열의 길이는 `len()` 함수를 써서 구할 수 있습니다!
print(len("abcde"))           # 5
print(len("Hello, Sparta!"))  # 14
print(len("안녕하세요."))      # 6

 + 그 외에도 다양한 기능을 쓸 수 있어요!

  • 모든 알파벳을 대문자/소문자로 바꾸기
sentence = 'Python is FUN!'

sentence.upper()  # PYTHON IS FUN!
sentence.lower()  # python is fun!
  • 특정 문자를 기준으로 문자열을 나누기
# 이메일 주소에서 도메인 '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]
  • 특정 문자를 다른 문자로 바꾸기
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  처음부터 끝까지
  • 특정 문자열로 자르고 싶을 때! split('문자열')을 활용합니다.
myemail = 'abc@sparta.co'

domain = myemail.split('@')[1].split('.')[0]
print(domain)

2) Q. 문자열의 앞의 반만 출력하기!

  • "sparta"의 앞의 3글자인 "spa"만 출력해봅시다.
    • A. 풀이
text = "sparta"
print(text[:3])

3) Q. 전화번호의 지역번호 출력하기

  • phone = "02-123-1234"
    •  A. 풀이
phone = "02-123-1234"
print(phone.split("-")[0])

1-3 리스트와 딕셔너리

 

[Python][파이썬 문법 기초] 1-3 리스트와 딕셔너리 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 ←  1) 리스트 (list) 리스트 기초 리스트의 더 많은 기능들!  2) 딕셔너리 (dictionary) 딕셔너리 기초 딕셔너리의

hanmari-code.tistory.com

 


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]
  • 요소가 리스트 안에 있는지 알아보기
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"]) # Bob 출력
  • 딕셔너리를 만드는 데는 여러가지 방법을 쓸 수 있습니다.
a = {"one":1, "two":2}

# 빈 딕셔너리 만들기
a = {}
a = dict()
  • 딕셔너리의 요소에는 순서가 없기 때문에 인덱싱을 사용할 수 없어요.
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, "science": 92, "Korean": 84}}
print(person["scores"])             # {'math': 81, 'science': 92, 'Korean': 84}
print(person["scores"]["science"])  # 92

# 딕셔너리의 더 많은 기능들!

  • 딕셔너리 안에 해당 키가 존재하는지 알고 싶을 때는 in을 사용합니다.
person = {"name":"Bob", "age": 21}

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

3) 리스트와 딕셔너리의 조합


  • 딕셔너리는 리스트와 함께 쓰여 자료를 정리하는 데 쓰일 수 있습니다.
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'

4) Q. 딕셔너리에서 원하는 정보를 찾아보기


  • smith의 science 점수를 출력해보세요
people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]

  • 풀이 )
print(people[3]['score']['science'])

1-4 조건문

 

[Python][파이썬 문법 기초] 1-4 조건문 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 ← 1) if 문 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법입니다. 파이썬에서는 어

hanmari-code.tistory.com


1) if 문


# if 기초

  • 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법입니다.
money = 5000
if money > 3800:
    print("택시 타자!")
  • 파이썬에서는 어디까지 구문에 포함되는지를 들여쓰기로 구분하기 때문에 아주 중요합니다.
    • 조건에는 불 자료형이 들어갑니다. money > 3800은 True
money = 5000
if money > 3800:
    print("택시 타자!")

 


2) else와 elif


# else와 elif 기초

  • 조건을 만족하지 않을 때 다른 코드를 실행하고 싶을 때 쓰는 문법입니다.
money = 2000
if money > 3800:
    print("택시 타자!")
else:
    print("걸어가자...")
  • 다양한 조건을 판단할 때는 elif를 쓰면 좋아요!
age = 27
if age < 20:
    print("청소년입니다.")
elif age < 65:
    print("성인입니다.")
else:
    print("무료로 이용하세요!")

1-5 반복문

 

[Python][파이썬 문법 기초] 1-5 반복문 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 ← 1) for문 2) Q. 사람의 나이출력하기 3) for문 - enumerate, break  1-6 함수 2-1 튜플, 집합 2-..

hanmari-code.tistory.com


1) fot 문


# for문 기초

  • 0부터 9까지 숫자를 출력해볼까요?
print(0)
print(1)
print(2)
...
print(9)
  • 파이썬에서는 아래처럼 쓰는 것이 더 자연스럽습니다.
fruits = ['사과', '배', '감', '귤']

for fruit in fruits:
    print(fruit)

2) Q. 사람의 나이 출력하기


  • 이 리스트에서 나이가 20보다 큰 사람만 출력합니다.
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

  • 풀이)
for person in people:
    if person['age'] > 20:
        print(person['name'])
  •  출력)
# name만 출력
carry
ben
bobby
red
queen

3)  for문 - enumerate, break


  • 과일 리스트를 순번을 메겨서 출력해보자
fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']
for i, fruit in enumerate(fruits):

"""
0 사과
1 배
2 감
3 귤
4 귤
5 수박
6 참외
7 감자
8 배
9 홍시
10 참외
11 오렌지
"""
  • 추가로 앞에 5개만 출력하고 싶다면 이렇게 해보자
fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']
for i, fruit in enumerate(fruits):
    print(i, fruit)
    if i == 4:
        break
        
        
"""
0 사과
1 배
2 감
3 귤
4 귤
"""

1-6 함수

 

[Python][파이썬 문법 기초] 1-6 함수 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 ← 1) 함수 사용 방법 2) Q. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기

hanmari-code.tistory.com


1) 함수 사용 방법


  • 함수는 반복적으로 사용하는 코드들에 이름을 붙여놓은 것입니다.
def hello():
		print("안녕!")
    print("또 만나요!")


hello()
hello()
  • 조건문에 넣을 값을 바꿔가면서 결과를 확인할 때 쓰면 편합니다.
def bus_rate(age):
		if age > 65:
		    print("무료로 이용하세요")
		elif age > 20:
		    print("성인입니다.")
		else:
		    print("청소년입니다")

bus_rate(27)
bus_rate(10)
bus_rate(72)
  • 단순한 출력 뿐만 아니라 결과 값을 돌려주도록 함수를 만들 수도 있어요!
def bus_fee(age):
		if age > 65:
		    return 0
		elif age > 20:
		    return 1200
		else:
		    return 0     


money = bus_fee(28)
print(money)

2) Q. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기


  • 주민등록번호 뒷자리의 맨 첫 번째 숫자가 1, 3 등 홀수이면 남성, 2, 4 등 짝수이면 여성이죠?
  • 힌트! → "2"라는 문자열을 숫자로 바꾸려면? `int("2")` 이렇게, int로 감싸주세요!
def check_gender(pin):
    print('')

my_pin = '200101-3012345'
check_gender(my_pin)

  • 풀이)
def check_gender(pin):
    num = int(pin.split('-')[1][0])
    if num % 2 == 0:
        print('여성')
    else:
        print('남성')

my_pin = "200101-3012345"
check_gender(my_pin)

★ 모아보기

1-1 변수 선언과 자료형

 

[Python][파이썬 문법 기초] 1-1 변수 선언과 자료형 - Coding Farm

다시 또 찾아온 이범규 튜터님 :) 수업 들으러 가보자고~! 파이썬 기초 문법 1-1 변수 선언과 자료형← 변수 선언 숫자형 자료형 Bool 자료형 Q. 숫자들의 평균 구하기 1-2 문자열 다루기 1-3 리스트와

hanmari-code.tistory.com

1-2 문자열 다루기

 

[Python][파이썬 문법 기초] 1-2 문자열 다루기

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기← 1) 문자열 문자열 기초 문자열 연산 인덱싱과 슬라이싱 2) Q. 문자열의 앞의 반만 출력하기 3) Q. 전화번호의 지역번호 출력하기 1-3 리

hanmari-code.tistory.com

 

1-3 리스트와 딕셔너리

 

[Python][파이썬 문법 기초] 1-3 리스트와 딕셔너리 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 ←  1) 리스트 (list) 리스트 기초 리스트의 더 많은 기능들!  2) 딕셔너리 (dictionary) 딕셔너리 기초 딕셔너리의

hanmari-code.tistory.com

 

1-4 조건문

 

[Python][파이썬 문법 기초] 1-4 조건문 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 ← 1) if 문 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법입니다. 파이썬에서는 어

hanmari-code.tistory.com

 

1-5 반복문

 

[Python][파이썬 문법 기초] 1-5 반복문 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 ← 1) for문 2) Q. 사람의 나이출력하기 3) for문 - enumerate, break  1-6 함수 2-1 튜플, 집합 2-..

hanmari-code.tistory.com

 

1-6 함수

 

[Python][파이썬 문법 기초] 1-6 함수 - Coding Farm

파이썬 기초 문법 1-1 변수 선언과 자료형 1-2 문자열 다루기 1-3 리스트와 딕셔너리 1-4 조건문 1-5 반복문 1-6 함수 ← 1) 함수 사용 방법 2) Q. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기

hanmari-code.tistory.com


728x90
반응형