3 분 소요

1. 파이썬 함수 def 정의하고 호출하기

  • 함수(function)
    • 작업을 수행하는 명령블록
    • 코드가 길어지고 복잡할 때 유용
    • 반복적으로 사용되는 코드를 함수로 만듦
  • 함수를 만드는 방법
def 함수이름(매개변수):
		명령블록
		...
		return 리턴값

def sum(a, b):
		result = a + b
		return result
  • 함수를 사용하는 방법
def sum(a, b):
		result = a + b
		return result

x = sum(1, 2)
y = sum(3, 4)
print(x)
print(y)
  • 매개변수가 없는 함수
def 함수이름():
		명령블록
		...
		return 리턴값

def getRandomNumber():
		number = random.randint(1, 10)
		return number
  • 리턴값이 없는 함수
def 함수이름(매개변수):
		명령블록
		...

def printName(name):
		print(name)
  • 매개변수, 리턴값이 없는 함수
def 함수이름():
		명령블록
		...

def sayHi():
		print("안녕")

2. 파이썬 로또 예상 번호 만들기

import random

lotto_num = [] # 빈 로또 번호 리스트 생성

def getRandomNumber():
    number = random.randint(1, 45)
    return number

count = 0 # 횟수를 저장할 변수

# 무한 반복
while True:
    if count > 5:
        break
    random_number = getRandomNumber() # 로또 번호 하나를 뽑는다.
    if random_number not in lotto_num: # 로또 번호 리스트 안에 뽑은 로또 번호가 없으면
        lotto_num.append(random_number) # 로또 번호 리스트에 뽑은 로또 번호를 추가해라
        count = count + 1

print(lotto_num)

3. 파이썬 딕셔너리 자료형 알아보자

  • 딕셔너리
    • 키와 값의 쌍으로 이루어진 자료형
  • 딕셔너리 만드는 방법
딕셔너리이름 = {키1:값1, 키2:값2,...}

play_data = {
    'result' : '승리',
    'chame_name' : '비에고',
    'kill' : 13,
    'death' : 9,
    'assist' : 13
}
  • 딕셔너리에 접근하는 방법
play_data['result'] # 키 값을 넣어줌
play_data['kill']
  • 딕셔너리를 수정하는 방법
# 기존 값 변경
play_data['result'] = '패배'

# 새로운 키, 값 추가
play_data['level'] = 18

# 데이터 삭제
del play_data['champ_name']
  • 딕셔너리 관련 함수
play_data = {
    'result' : '승리',
    'chame_name' : '비에고',
    'kill' : 13,
    'death' : 9,
    'assist' : 13
}

# keys()
for key in play_data.keys():
    print(key)

# values()
for value in play_data.values():
    print(value)

# items()
for key, value in play_data.items():
    print(key, value)
  • 튜플(tuple)
    • 값을 바꿀 수 없는 리스트
tuple_a = (1, 2, 3, 4)

tuple_a[0] = 2

4. (BONUS) 함수를 사용하는 이유

  • 함수
    • 특정 입력에 따른 결과를 되돌려주는 명령어 집합
    • 반복적으로 비슷한 코드를 작성할 때 함수를 만들면 편리
    • 유지보수가 잘되고 가독성이 좋아진다.
# 1. 함수 만들기
# def 함수이름(매개변수1, 매개변수2):
#     명령블록
#     return 결과값

def sum(a, b):
    result = a + b
    return result

# 2. 함수 사용하기
# 함수이름(인자1, 인자2)
print(sum(1, 2))
# 함수를 사용하지 않은 경우
print("안녕하세요. 동준님")
print("현재 프리미엄 서비스 사용기간이 30일 남았습니다.")

print("안녕하세요. 현식님")
print("현재 프리미엄 서비스 사용기간이 15일 남았습니다.")

print("안녕하세요. 원준님")
print("현재 프리미엄 서비스 사용기간이 7일 남았습니다.")

print("안녕하세요. 길동님")
print("현재 프리미엄 서비스 사용기간이 5일 남았습니다.")

# 함수를 사용한 경우
def print_message(name, date):
    print("안녕하세요. ", name, "님")
    print("현재 프리미엄 서비스 사용기간이 ", date, "일 남았습니다.")

print_message("동준", 30)
print_message("현식", 15)
print_message("원준", 7)
print_message("길동", 5)
# 1. 결과값이 없는 함수
def print_sum(a, b):
    print(a + b)

print_sum(1, 2)

# 2. 매개변수가 없는 함수
import random
def get_random_number():
    number = random.randint(1, 10)
    return number

print(get_random_number())

# 3. 결과값과 매개변수가 없는 함수
def print_hello():
    print("hello")

print_hello()
print("haha")
# 인자가 1개 있다.
# 결과값이 없다.

x = input()
# 인자가 1개도 없다.
# 결과값이 있다.

pyautogui.click()
# 인자가 1개도 없다.
# 결과값이 없다.

pyautogui.hotkey('ctrl', 'c')
# 인자가 2개 있다.
# 결과값이 없다.

response = requests.get("https://www.naver.com")
# 인자가 1개 있다.
# 결과값이 있다.

5. (BONUS) 클래스와 객체 세상에서 제일 쉽게 이해하기

  • 클래스
    • 제품의 설계도
  • 객체
    • 설계도로 만든 제품
  • 속성
    • 클래스안의 변수
  • 메서드
    • 클래스안의 함수
  • 생성자
    • 객체를 만들 때 실행되는 함수
  • 인스턴스
    • 메모리에 살아있는 객체
class 클래스이름:
		def 메소드이름(self):
				명령블록

class Monster:
		def say(self):
				print("나는 몬스터다.")

객체 = 클래스이름()
객체.메서드()

shark = Monster()
shark.say()

# 속성 추가하기
class Monster:
		def __init__(self, name): # 약속
				self.name = name # 속성
		def say(self):
				print(f"나는 {self.name}")

shark = Monster("상어")
shark.say() # 나는 상어
class Monster:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def say(self):
        print(f"나는 {self.name} {self.age}살임")

shark = Monster("상어", 7)
wolf = Monster("늑대", 7)

shark.say()
wolf.say()

댓글남기기