본문 바로가기
Programming/Python

파이썬 조건문과 제어문부터

by Saans 2022. 1. 6.

출처 한 눈에 읽는 파이썬3기초_goorm edu

 

-조건문

if elif else 조건식 뒤에 꼭 : 붙이기

비교연산자 and, or, not

요소 in 튜플/리스트/문자열

 

-제어문

break : 반복문을 중간에 빠져나오고 싶을 때 자신을 직접 포함하고 있는 반복문만 완전히 종료

wordslist = []

while True :
	word = input("단어를 입력하세요. 1을 입력하면 중단됩니다.:")
	if word == "1" :
		break
	else :
		wordslist.append(word)

for w in wordslist :
	print(w, end = ' ')

continue : 현재 반복 중인 순서를 건너 뛰고 싶을 때, 반복문의 흐름을 제어

nums = []

while True :
	num = int(input("숫자를 입력하세요. -1 입력시 중단됨:"))
	if num == -1 :
		break #반복문 탈출
	else :
		if num % 2 == 1 :
			continue #반복문 맨 처음으로
		nums.append(num)
		
for n in nums:
	print(n, end = ' ')

 

-함수 : 특정 기능을 위해 만든 여러 문장을 묶어서 실행하는 코드 블록 단위

함수의 역할

1 지정기능을 실행하는 단위

2 코드의 가독성과 프로그램의 효율성 증대

사용자가 만든 함수에 인자를 전달하면 연산 결과가 반환됨

#함수 정의
def 함수 이름(매개변수1, 매개변수2...):
	실행구문
    ...
    return 반환 값
   
#함수 호출
함수 이름(전달인자1, 전달인자2...)
#주민번호 앞 7자리를 입력하면 나이, 생일, 성별을 계산하여 반환하는 함수
def stdInfo(rrn) :
    if int(rrn[6]) == 3 or int(rrn[6]) == 4 :
        biryear = int(rrn[0]+rrn[1]) + 2000
    else :
        biryear = int(rrn[0]+rrn[1]) + 1900
    
    age = year - biryear + 1
    birmonth = int(rrn[2] + rrn[3])
    birday = int(rrn[4] + rrn[5])
    
    if rrn[6] == "2" or rrn[6] == "4" :
        gen = "여자"
    else :
        gen = "남자"
        
    return [age, birmonth, birday, gen] #리스트 형식으로 반환

year = 2021
stdlist = []

stdrrn = input("주민등록번호 7자리를 입력하세요:")

stdlist.append(stdInfo(stdrrn)) #함수 호출

print(stdlist[0])

함수의 이름이 아주 중요_무슨 기능을 하는지

 

-함수의 사용 형태

def guide() : #매개변수 X, 반환값 X
    print("두 정수를 입력받아 곱한 결과를 출력하는 프로그램입니다.")
    
def inputnums() : #매개변수 X, 반환값 O
    a = int(input("첫번째 정수를 입력하세요:"))
    b = int(input("두번째 정수를 입력하세요:"))
    return a, b

def multi(num1, num2) : #매개변수 O, 반환값 O
    return num1 * num2
    
def printResult(result) : #매개변수 O, 반환값 X
    print("두 수의 곱셈 결과는 %d입니다." %result)
    
guide()
n1, n2 = inputnums() #반환 값이 두 개이니 두 변수에 초기화
res = multi(n1, n2)
printResult(res)

함수 호출은 코드에서 "함수 이름(전달 인자)"형식, 반환 값이 존재할 경우 함수를 바로 변수에 초기화함

 

-매개변수 

매개변수 - 한 눈에 읽는 파이썬3 기초 (goorm.io)

전달 인자로 입력한 숫자는 순서대로 매개변수에 입력되나 파이썬에서는 함수를 호출할 때 매개변수를 지정하여 인자 전달 가능, 그러나 매개변수를 지정하려면 모든 인자에 해야해서 자주쓰지는 않음

 

매개변수의 개수는 제한없음, 호출 시 매개변수와 같은 수의 전달 인자를 입력해야함

 

가변 인자 함수 : 동일한 기능을 수행하지만 매개변수만 다른 함수

"def 함수 이름(*매개변수)" 로 선언, 가변인자는 튜플 형식으로 저장됨

일반 매개변수는 가변 인자 앞에 입력해서 사용

 

-키워드 매개변수

"def 함수 이름(**매개변수)" 로 선언하면 전달인자를 딕셔너리 형태로 선언 가능

일반 딕셔너리의 개념보다 제약있음 

key는 따옴표로 감싸지 않고 변수처럼 입력하여 사용해야함

키워드 매개변수와 가변 인자 같이 사용 가능

def func(*nums, **kwargs) :
    print(nums)
    print(kwargs)
    
num = 10
func(1, 3, 5, 7, apple="사과", a = num, num = 4)

키워드 형태의 인수 뒤에 키워드 형태가 아닌 인수는 올 수 없음

def func(**kwargs, *nums) : 로 순서 바꿀 수 없음

'Programming > Python' 카테고리의 다른 글

파이썬 클래스, 클래스 변수  (0) 2022.01.08
파이썬 함수 반환값부터  (0) 2022.01.07
파이썬 튜플부터  (0) 2022.01.05
파이썬 문자열 이어서  (0) 2022.01.04
파이썬의 날  (0) 2022.01.03

댓글