1. 개요
- 추상화 (Abstraction) : 복잡한 세부사항을 숨기고, 주요한 기능에만 집중할 수 있게 해주는 개념
=> 변수 (Variable) : 값을 저장
1 2 3 | first_name = "지수" last_namte = "오" full_name = last_name + first_name | cs |
=> 함수(Function) : 명령들을 저장
1 | print(1) | cs |
=> 객체(Class)
2. 변수 ( 왜 변수는 추상화의 한 종류일까? -> 한 번 변수를 정의하고 나서 이후에 그것을 사용할 시, 변수 이름만 알면 되고 , 그 값 알 필요 없음
(1) 지정 연산자 (Assignment Operator) : 오른쪽에 있는 값을 왼쪽에 있는 변수에 지정해주는 역할
1 2 3 4 5 | x = 2 + 1 print(x) //3 x = x + 1 print(x) //4 | cs |
=> 문자열 포맷팅, 변수 사용하여 아래와 같이 출력
1 2 3 4 5 6 7 8 | # Hi, my name is jisu. I'm from Korea. # My phone number is 010-1234-5678. name = "jisu" nationallity = " korea" phone_number = "010-1234-5678" print("Hi, my name is %s . i'm form %s. \n my phone_number is %s" %(name, nationallity ,phone_number )) | cs |
3. 함수 기초
-> 기본 구조
1 2 3 4 5 | def 함수이름(파라미터): #header 실행할 문장 1 #body 실행할 문장 2 실행할 문장 3 | cs |
파라미터가 없을 때는 함수이름()
의 형식으로 함수를 불러올 수 있다.
반면, 파라미터가 있을 때는 함수이름(파라미터1, 파라미터2, ...)
의 형식으로 함수를 불러올 수 있다.
(1) 내장 함Built-in Function) : print / int /str
(2) 문자열 출력 함수
1 2 3 4 5 6 7 8 | #정의 #header def hello(): #body : 들여쓰기 하고 써야함 print("Hello world") print("welcome") hello() #hello 라는 함수 돌리기 | cs |
(3) 파라미터 ( 들여쓰기 정도가 같은 명령들의 집합 : block -> 잘못되면 오류 발생)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | def hello(name): print("Hello, %s!" % (name)) print("Welcome to Codeit!") hello("유재석") hello("김태희") def print_sum(a, b): #6 print(a + b) def print_product(a, b): #12 print(a * b) def print_residue(a, b): #1 print(a % b) def print_average(x, y, z): #10.0 print((x + y + z) / 3) print_sum(4, 2) print_product(3, 4) print_residue(13, 3) print_average(5, 10, 15) # 프로필을 출력하는 함수 def print_profile(name, age): print(name) print(age) my_name = "김연우" my_age = 45 print_profile(my_name, my_age) | cs |
4. syntatic sugar
-> 자주 쓰이는 표현을 더 간략하게 쓸 수 있게 해주는 문법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # 다음 두 줄은 같습니다 x = x + 1 x += 1 # 다음 두 줄은 같습니다 x = x + 2 x += 2 # 다음 두 줄은 같습니다 x = x * 2 x *= 2 # 다음 두 줄은 같습니다 x = x - 3 x -= 3 # 다음 두 줄은 같습니다 x = x / 2 x /= 2 # 다음 두 줄은 같습니다 x = x % 7 x %= 7 | cs |
5. Optional Parameter
-> 파라미터의 기본값을 설정해두면 함수 호출 할 때 파라미터에 해당되는 값을 넘겨주지 않을 경우, 파라미터가 기본값을 갖게 됨
1 2 3 4 5 6 7 8 9 10 11 12 13 | def myself(name, age, nationality = "한국"): #optional parameter은 모두 마지막에 아니면 에러 print("내 이름은 %s" % name) print("나이는 %d살" % age) print("국적은 %s" % nationality) myself("오지수", 1) # 기본값이 설정된 파라미터를 바꾸지 않을 때 -> 내 이름은 오지수 나이는 1살 국적은 한국 myself("랄라", 1, "미국") # 기본값이 설정된 파라미터를 바꾸었을 때 -> 내 이름은 랄라 나이는 1살 국적은 | cs |
6. 파라미터 연습 문제
1 2 3 4 5 6 7 8 9 10 | #파라미터 연습 #문자열 first_name(이름)과 문자열 last_name(성)을 파라미터로 받는 함수 print_full_name 쓰세요 def print_full_name(first_name, last_name): print(last_name, first_name,) >> print_full_name("윤수","이") // 이 윤수 | cs |
7. 거스름돈 계산기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #거스롬돈 계산기 # 33,000원짜리 물건을 사기 위해 100,000원을 냈다면 # 50,000원 1장, 10,000원 1장, 5,000원 1장, 1,000원 2장과 같이 '가장 적은 수'의 지폐를 거슬러 주는 방식입니다. # payment(지불한 금액)와 cost(가격)라는 파라미터 두개를 필요로 하는 함수 calculate_change를 쓰세요. # 이 함수는 거스름돈을 위해 50,000원짜리와 10,000원짜리, 5,000원짜리, 1,000원짜리가 각각 몇 장 필요한지 출력해주는 역할을 합니다. def calculate_change(payment, cost): change = payment - cost fifty_thousand_count = int(change/50000) change = change % 50000 ten_thousand_count = int(change/10000) change = change % 10000 five_thousand_count = int(change/5000) change = change % 5000 one_thousand_count = int(change/1000) print("50000원 지폐: %d장" % (fifty_thousand_count)) print("10000원 지폐: %d장" % (ten_thousand_count)) print("5000원 지폐: %d장" % (five_thousand_count)) print("1000원 지폐: %d장" % (one_thousand_count)) >>calculate_change(500000, 378000) 50000원 지폐: 2장 10000원 지폐: 2장 5000원 지폐: 0장 1000원 지폐: 2장 | cs |
'Language Study > Python' 카테고리의 다른 글
6. 모듈 (0) | 2019.07.15 |
---|---|
5. 제어문 (0) | 2019.05.22 |
4. 추상화 심화 (0) | 2019.05.08 |
2. 자료형 (0) | 2019.03.30 |
1. Python 시작하기 (0) | 2019.03.28 |