개발자 성장일지
제 4장 Python 함수 실습 본문
1. 파이썬 함수 실습하기
"""
날짜 : 2023/01/06
이름 : 황원진
내용 : 파이썬 함수 실습하기
"""
# 함수
def f(x):
y = 2 * x + 3
return y
y1 = f(1)
y2 = f(2)
y3 = f(3)
print('y1 :', y1)
print('y2 :', y2)
print('y3 :', y3)
"""
y1 : 5
y2 : 7
y3 : 9
"""
# 함수 유형
def type1(x, y):
z = x + y
return z
def type2(dataset):
tot = 0
for data in dataset:
tot += data
print('dataset 합 :', tot)
def type3():
dataset = [n for n in range(11)]
tot = 0
for k in dataset:
tot += k
return tot
rs1 = type1(1, 2)
type2([1,2, 3, 4, 5])
type2((2, 4, 6, 8, 10))
rs2 = type3()
print('rs1 :', rs1)
print('rs2 :', rs2)
"""
dataset 합 : 15
dataset 합 : 30
rs1 : 3
rs2 : 55
"""
# 디폴트 매개변수
def hello(name='홍길동', age=20):
print('이름 :', name)
print('나이 :', age)
hello()
hello('김유신')
hello('김유신', 25)
"""
이름 : 홍길동
나이 : 20
이름 : 김유신
나이 : 20
이름 : 김유신
나이 : 25
"""
# 가변 매개변수
def total(*items):
tot = 0
for i in items:
tot += i
return tot
r1 = total(1)
r2 = total(1, 2)
r3 = total(1, 2, 3)
r4 = total(1, 2, 3, 4)
r5 = total(1, 2, 3, 4, 5)
r6 = total()
print('r1 :', r1)
print('r2 :', r2)
print('r3 :', r3)
print('r4 :', r4)
print('r5 :', r5)
print('r6 :', r6)
"""
r1 : 1
r2 : 3
r3 : 6
r4 : 10
r5 : 15
r6 : 0
"""
# 하나 이상의 값을 리턴
def sumMulti(n1, n2):
y1 = n1 + n2
y2 = n1 * n2
return y1, y2
r1, r2 = sumMulti(1, 2)
print('r1 :', r1)
print('r2 :', r2)
"""
r1 : 3
r2 : 2
"""
# 변수에 저장하는 함수
def plus(x, y):
return x + y
def minus(x, y):
return x - y
var1 = plus
var2 = minus
r1 = var1(1, 2)
r2 = var1(2, 3)
print('r1 :', r1)
print('r2 :', r2)
"""
r1 : 3
r2 : 5
"""
# 함수 리스트
def plus(x, y):
return x + y
def minus(x, y):
return x - y
defs = [plus, minus]
r1 = defs[0](1, 2)
r2 = defs[1](2, 3)
print('r1 :', r1)
print('r2 :', r2)
"""
r1 : 3
r2 : -1
"""
# 람다함수
f1 = lambda x, y: x + y
f2 = lambda x, y: x - y
r1 = f1(1, 2)
r2 = f2(1, 2)
print('r1 :', r1)
print('r2 :', r2)
"""
r1 : 3
r2 : -1
"""
2. 파이썬 내장함수 실습하기
"""
날짜 : 2023/01/06
이름 : 황원진
내용 : 파이썬 내장함수 실습하기
"""
import time
import math
import random
# 시간날짜 함수
t1 = time.time()
print('t1 :', t1)
t2 = time.ctime()
print('t2 :', t2)
now = time.localtime(time.time())
year = time.strftime('%Y', now)
month = time.strftime('%m', now)
day = time.strftime('%d', now)
hour = time.strftime('%H', now)
min = time.strftime('%M', now)
sec = time.strftime('%S', now)
yoil1 = time.strftime('%a', now) # 요일 줄임말 Sun, Mon, … Sat
yoil2 = time.strftime('%w', now) # 요일을 숫자로 표시, 월~일 0, 1, …, 6
print('now :', now)
print('{}년 {}월 {}일 {}:{}:{}'.format(now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec)) # 이렇게 사용 X
print('{}년 {}월 {}일 {}({})요일 {}:{}:{}'.format(year, month, day, yoil1, yoil2, hour, min, sec))
"""
t1 : 1672988018.7017784
t2 : Fri Jan 6 15:53:38 2023
now : time.struct_time(tm_year=2023, tm_mon=1, tm_mday=6, tm_hour=15, tm_min=53, tm_sec=38, tm_wday=4, tm_yday=6, tm_isdst=0)
2023년 1월 6일 15:53:38
2023년 01월 06일 Fri(5)요일 15:53:38
"""
# 수학 함수
r1 = math.ceil(1.2)
r2 = math.ceil(1.8)
r3 = math.floor(1.2)
r4 = math.floor(1.8)
r5 = round(1.2)
r6 = round(1.8)
print('r1 :', r1)
print('r2 :', r2)
print('r3 :', r3)
print('r4 :', r4)
print('r5 :', r5)
print('r6 :', r6)
"""
r1 : 2
r2 : 2
r3 : 1
r4 : 1
r5 : 1
r6 : 2
"""
# 랜덤 함수
num1 = random.random()
print('num1 :', num1)
num2 = num1 * 10
print('num2 :', num2)
num3 = math.ceil(num2)
print('num3 :', num3)
num4 = random.randint(20, 30) # a <= num4 <= b
print('num4 :', num4)
"""
num1 : 0.01852069817232682
num2 : 0.18520698172326822
num3 : 1
num4 : 20
"""
3. 파이썬 리스트 함수 실습하기
"""
날짜 : 2023/01/06
이름 : 황원진
내용 : 파이썬 리스트 함수 실습하기
"""
import math
# 리스트 내장함수
dataset = [1, 4, 3]
print('1 -', dataset)
# 추가
dataset.append(2)
dataset.append(5)
print('2 -', dataset)
# 정렬
dataset.sort()
print('3 -', dataset)
dataset.sort(reverse=True)
print('4 -', dataset)
dataset.reverse()
print('5 -', dataset)
# 삽입
dataset.insert(2, 6)
print('6 -', dataset)
dataset.insert(1, 7)
print('7 -', dataset)
# 삭제
dataset.remove(6)
print('8 -', dataset)
dataset.pop(1)
print('9 -', dataset)
"""
1 - [1, 4, 3]
2 - [1, 4, 3, 2, 5]
3 - [1, 2, 3, 4, 5]
4 - [5, 4, 3, 2, 1]
5 - [1, 2, 3, 4, 5]
6 - [1, 2, 6, 3, 4, 5]
7 - [1, 7, 2, 6, 3, 4, 5]
8 - [1, 7, 2, 3, 4, 5]
9 - [1, 2, 3, 4, 5]
"""
# map 함수 : 리스트의 원소를 지정된 함수로 일괄 처리해주는 함수
def plus(n):
return n + 10
list1 = [1, 2 , 3, 4, 5]
r1 = map(plus, list1)
print('r1 :', list(r1))
list2 = [0.1, 1.2, 2.6, 3.4, 4.9]
r2 = map(math.ceil, list2)
print('r2 :', list(r2))
list3 = ['1','2','3','4','5']
r3 = map(int, list3)
print('r3 :', list(r3))
# filter 함수 : 리스트의 원소를 지정된 함수로 필터링 해주는 함수
list4 = [1, 2 , 3, 4, 5]
def minus(n):
if n%2 == 0:
return n + 10
r4 = filter(minus, list4)
print('r4 :', list(r4))
"""
r1 : [11, 12, 13, 14, 15]
r2 : [1, 2, 3, 4, 5]
r3 : [1, 2, 3, 4, 5]
r4 : [2, 4]
"""
'Python' 카테고리의 다른 글
제 6장 Python 예외처리, 파일입출력 실습 (0) | 2023.10.24 |
---|---|
제 5장 Python 클래스 실습 (0) | 2023.10.24 |
제 3장 Python 자료구조 실습 (0) | 2023.10.24 |
제 2장 Python 조건문, 반복문 실습 (1) | 2023.10.24 |
제 1장 Python 기본 실습 (0) | 2023.10.24 |