패스트캠퍼스 파이썬 웹개발 올인원 패키지 후기(7)
파이썬 웹개발 올인원 패키지 7번째 시간입니다.
오늘은 지난시간에 이어 조건문, 반복문에 대한 퀴즈를 풀어보았습니다.
그리고 다음으로 함수에 대해 알아보면서 좀 더 파이썬을 활용할 수 있는 방법에 대해 공부하였습니다.
정리 시작하겠습니다.
조건문, 반복문 Quiz

# 7. 1부터 100까지 자연수 중 '홀수'만 한 라인으로 출력 하세요.
print('7.', end=' ')
for n in range(1, 101, 2):
print(n, end=' ')
print()
# 8. 아래 리스트 항목 중에서 5글자 이상의 단어만 출력하세요.
q4 = ["nice", "study", "python", "anaconda", "!"]
print('8.', end=' ')
for q in q4:
if len(q) >= 5:
print(q, end=' ')
print()
# 9. 아래 리스트 항목 중에서 소문자만 출력하세요.
q5 = ["A", "b", "c", "D", "e", "F", "G", "h"]
print('9.', end=' ')
for q in q5:
if q.islower():
print(q, end=' ')
print()
# 10. 아래 리스트 항목 중에서 소문자는 대문자로 대문자는 소문자로 출력하세요.
q6 = ["A", "b", "c", "D", "e", "F", "G", "h"]
print('10.', end=' ')
for q in q6:
if q.isupper():
print(q.lower(), end=' ')
else:
print(q.upper(), end= ' ')
* 리스트 컴프리헨션 ♥ <중요>
# 리스트 컴프리헨션
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers = []
for n in range(1, 101):
numbers.append(n)
print(numbers)
print()
numbers2 = [x for x in range(1, 101)] # 이게 더 직관적이고 빠름, 실제 성능도 좋음
print(numbers2)
<Output>
7. 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
8. study python anaconda
9. b c e h
10. a B C d E f g H
[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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
[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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
함수

(함수 기본)
# 함수 정의 방법
# def function_name(parameters):
# code
# 함수 호출
# function_name(arguments):
# 함수 선언 위치 중요
# 예제 1
# hello("Python!") >> 이렇게 하면 에러가 남, 함수의 선언이 호출부 보다 항상 먼저 나와야함
def hello(word):
print("Ex1. Hello ", word)
hello("Python!")
hello(7777)
# 예제 2
def hello_return(word):
val = "Hellow " + str(word)
return val
s = hello_return("Ex2. Python!!!!!")
print(s)
# 예제 3 (다중리턴)
def func_mul(x):
y1 = x * 100
y2 = x * 200
y3 = x * 300
return y1, y2, y3
v1, v2, v3 = func_mul(100)
print('Ex3-1.', v1, v2, v3)
print(type(func_mul(100))) # 사실 다중리턴은 튜플로 리턴되는 것 인듯
print(list(func_mul(100))) # 리스트로 형변환
def func_mul_list(x):
"""
위 와 같은 건데 리스트로 리턴
"""
y1 = x * 100
y2 = x * 200
y3 = x * 300
return [y1, y2, y3]
print('Ex3-2.', func_mul_list(100))
<Output>
Ex1. Hello Python!
Ex1. Hello 7777
Hellow Ex2. Python!!!!!
Ex3-1. 10000 20000 30000
<class 'tuple'>
[10000, 20000, 30000]
Ex3-2. [10000, 20000, 30000]

(*args)
#*args
def args_func(*args):
"""
다양한 수의 매개변수를 받아서 함수를 구현할 필요가 있을때 *args 사용
"""
print(args)
args_func('kim')
args_func('kim', 'park')
args_func('kim', 'park', 1)
def args_func2(*args):
# enumerate 사용 예
for i, v in enumerate(args):
print(i, v) # i 는 인덱스 번호
args_func2('kim', 'park', 1)
print()
(**kwargs)
# **kwargs
def kwargs_func(**kwargs):
print(kwargs)
kwargs_func(name1='kim', name2='park', name3='lee')
def kwargs_func2(**kwargs):
for k, v in kwargs.items():
print(k, v)
kwargs_func(name1='kim', name2='park', name3='lee')
kwargs_func2(name1='kim', name2='park', name3='lee')
print()
(전체 혼합)
# 전체 혼합
def example_mul(arg1, arg2, *args, **kwargs):
# arg1, arg2 는 필수적으로 함수호출시 사용
# args, kwargs 는 옵션
print(arg1, arg2, args, kwargs)
example_mul(10, 20)
example_mul(10, 20, 30, 40, 11.1)
example_mul(10, 20, 30, 40, 11.1, name1='park', name2='kim')
print()
(중첩함수 : 클로저)
# 중첩 함수(클로저) : 고급 프로그래머가 되기 위해서는 클로저를 반드시 알아야 함
# 참고: 데코레이터
def nested_func(num):
def func_in_func(n):
print(n)
print('in func')
func_in_func(num + 10000)
nested_func(10000)
<Output>
('kim',)
('kim', 'park')
('kim', 'park', 1)
0 kim
1 park
2 1
{'name1': 'kim', 'name2': 'park', 'name3': 'lee'}
{'name1': 'kim', 'name2': 'park', 'name3': 'lee'}
name1 kim
name2 park
name3 lee
10 20 () {}
10 20 (30, 40, 11.1) {}
10 20 (30, 40, 11.1) {'name1': 'park', 'name2': 'kim'}
in func
20000
오늘 새롭게 파이썬 함수에 대해 공부했습니다.
함수는 반드시 사용해야겠다고 느꼈고
마지막에 배운 클로저에 대해서도 좀 더 심화있게 공부해야할 것 같아요!
나중에 데코레이터 개념에 대해서 완벽히 이해하려면요!
파이썬 인강 계속해서 진행됩니다!
패스트캠퍼스 파이썬 인강 자세한 내용은 아래 링크를 참고해 주세요!
'Python Basics' 카테고리의 다른 글
| [패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 9 회차 미션 (0) | 2020.06.02 |
|---|---|
| [패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 8 회차 미션 (0) | 2020.06.01 |
| [패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 6 회차 미션 (0) | 2020.05.30 |
| [패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 5 회차 미션 (0) | 2020.05.29 |
| [패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 4 회차 미션 (0) | 2020.05.28 |