파이썬 4일차 - def(함수) (DMCCONET)

김회곤·2022년 7월 1일

파이썬(DMCCONET)

목록 보기
8/8

함수

  • 재사용하기 위한것
  • 전역변수 : 함수외부 변수, 모든 함수 공유
  • 지역변수 : 함수안에 변수, 함수와 생명력을 같이한다.

변수의 갯수를 지정 했을때


def add(a,b):
	print('%d'%(a+b))

a = 3; b=7

result = add(a, b)  # a에 3, b에 7을 전달
print('%d'%(a+b))

c = add(10,20)


print("_"*30)

result = add(3,7)
print('%d'%(a+b))

result = add(3,7)
print('%d'%(a+b))

10
10
30


10
10
10
10

오버로드


def add_many(*args): 
	
	result = 0 
	print(args)
	print(type(args))
	for i in args: 
		result = result + i 
		return result 

result = add_many(10,20)
print(result)

result = add_many(10,20,30)
print(result)

result = add_many(10,20,30,40)
print(result)

result = add_many(10,20,30,40,50)
print(result)

(10, 20) args
<class 'tuple'> type 값
10 리턴값
(10, 20, 30)
<class 'tuple'>
10
(10, 20, 30, 40)
<class 'tuple'>
10
(10, 20, 30, 40, 50)
<class 'tuple'>
10

return 응용

def add_and_mul(a,b):
	return a+b,a*b

result=add_and_mul(3,4)
print(result)
print(type(result))

result1, result2=add_and_mul(3,4)
print(result1, result2)
print()
print(result1)
print()
print(result2)

(7, 12)
<class 'tuple'>
7 12

7

12

def 응용

# 함수 생성
def say_myself(name,old,man=True):
	print("나의 이름은%s입니다."%name)
	print("나의 이름은%d살입니다."%old)

	if man:
		print("남자 입니다")
	else :
		print("여자 입니다")

# 문제1
say_myself("소나무",27)
print()

#문제2
say_myself("오렌지",25,False)
print()

문제1
나의 이름은소나무입니다.
나의 이름은27살입니다.
남자 입니다

문제2
나의 이름은오렌지입니다.
나의 이름은25살입니다.
여자 입니다

글로벌 변수를 바꿔보고싶을때 ( 함수 안에서 함수 밖의 변수를 변경하는 방법)

1. return 사용하기

a=1				
def varTest(a) :
	a = a+1
	return a

a=varTest(a)  # 리턴 사용하여서 수정하기
print(a)
print()

a=1				
def varTest() :   # 글로벌 함수를 사용해서 수정하기 
	global a
	a=a+1

varTest()
print(a)

2

2

리스트 변환


# ListChk_Access.py
"""
thislist = ["apple", "banana", "cherry"]
print(thislist[1])

thislist = ["apple", "banana", "cherry"]
print(thislist[-1])

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])


# ListChk_Change.py

thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)

thislist = ["apple", "banana", "cherry"]   # 1개만 바꿈
thislist[1:2] = ["blackcurrant", "watermelon"]
print(thislist)

thislist = ["apple", "banana", "cherry"]
thislist[1:3] = ["watermelon"]   # 1개가 줄어듬 
print(thislist)

banana
cherry
['cherry', 'orange', 'kiwi']['apple', 'banana', 'cherry', 'orange']
['cherry', 'orange', 'kiwi', 'melon', 'mango']
**change
['apple', 'blackcurrant', 'cherry']['apple', 'blackcurrant', 'watermelon', 'orange', 'kiwi', 'mango']
['apple', 'blackcurrant', 'watermelon', 'cherry']['apple', 'watermelon']

profile
전공 : 빅데이터통계학과, 부전공 : 인공지능 소프트웨어

0개의 댓글