안녕, 세상!

4. 함수 본문

It공부/Python

4. 함수

dev_Lumin 2020. 3. 14. 01:10

① 기본 함수

 

(1) 입력, 출력 함수

 

input 함수 - 사용자가 키보드로 정의한 변수에 직접 입력할 수 있게 제공해주는 함수

                 사용자가 입력하는 부분은 항상 Str형식으로 변수에 저장됨

                 형식 : 변수명 = input("입력 하는 부분에 나타내고 싶은 문자")

위의 그림처럼 나타내고 싶은 문자가 나오면서 사용자가 직접 입력할 수 있게 됩니다.

위에서 말했듯이 항상 str 자료형으로 저장됩니다.

 

 

print 함수 - 출력해주는 함수 

                전에 설명했기 때문에 구체적인 예시는 생략하겠습니다.

 

 

 

(2) 자료형 변환 함수

 

int , float, string 함수 - 자료형을 선언한 함수의 자료형으로 변경

                               형식 : int(변경할 값 또는 변수명)

숫자라고 하더라도 " "안에 값이 들어있으면 문자열 형식인 str형식이므로 연산을 할 수 없습니다.

 

 

 

(3) 여러 함수들

 

eval 함수 - 항상 문자열 형식인 str형식의 값을 받고 문자열의 결과를 반환시켜줌

               보통 숫자의 연산을 계산시켜서 반환, 문자로 표현된 숫자들을 문자가 아닌 숫자 자료형으로 취급해서 반환

               형식 : eval(반환 시킬 str자료형 값 또는 변수명)

 

 

def 함수 - 사용자 정의 함수

            - 함수를 정의했을 때 함수가 시작되고 함수 내 더 이상 코드가 없거나 return을 만나면 함수가 종료됨

              형식 : def(매개변수):

                            실행시킬 내용

매개변수와 반환값 모두 없는 함수

 

매개변수존재하고 반환값 없는 함수

 

매개변수 반환값 모두 존재하는 함수

 

지역변수 오류

state()라는 함수에서 선언된 weigth이라는 변수는 state라는 함수의 지역에서만 선언된 변수이기 때문에

메인 커널에서 weight변수를 따로 선언해주지 않으면 다음과 같이 정의가 되지 않았다고 오류가 납니다.

 

함수안에 함수를 부르는 경우

이전에 말했듯이 a함수의 x변수와 b함수의 x변수는 서로 다른 변수입니다.

 

 

매개변수에 디폴트값 설정하는 함수

이번에는 ohyes함수의 y매개 변수에 숫자 2를 디폴트 값(기본 값)으로 설정을 해둬서 ohyes함수를 부를 때 매개변수 x에 들어갈 값만 넣어도 함수가 실행이 됩니다.

매개변수 y의 값은 위와 같이 변경 가능하고 함수를 부를 때 매개변수 입력 형식은 위와 같습니다.

y에는 디폴트 값이 설정되어 있는데 x에는 설정되지 않는 경우 y와 x의 순서를 바꿔서 (y=5, 3) 과 같이 입력하면 

오류가 나기 때문에 순서를 바꾸서 입력할 때는 둘 다 변수명을 표기해줘야 합니다. (y=5, x=3)

 

 

 

 

 

② 제어문 

 

(1) 조건문 (if)

 

 - 조건을 충족하면 입력한 코드를 수행시키는 함수

 - if , elif , else 함수로 제어문을 만들 수 있음

 - 형식 : if(조건):

                  실행시킬 코드

 

if문의 조건이 참이 아니면 elif문의 조건을 따져서 확인하고 elif문의 조건이 참이 아니면 else함수에 입력한 코드를 실행합니다.

 

 

if함수와 elif함수의 차이는 elif함수는 if문이 참이 아닐 경우에 조건을 따지지만, if문은 그전의 if문의 결과가 참이든 거짓이든 상관 쓰지 않고 조건이 성립하는지 확인합니다.

위의 예시와 같이 101을 입력했을 경우 "입력한 숫자는 30 이상입니다", "입력한 숫자는 100 이상입니다" 두 개 모두 출력된 것을 보고 알 수 있습니다.

 

 

in과 not in으로도 조건을 취할 수 있습니다.

 

 

 

조건문 연산자

연산자 조건 설명(참인경우)
  >    <   초과, 미만
== 같다면
!= 다르다면
>=      <= 이상, 이하
or 둘 중 하나라도 참일 때
and 둘 다 참일 때
not 거짓일 때
in 포함될 때
not in 포함되지 않을 때

 

 

 

 

 

(2) 반복문

 

while 함수 - 조건문이 참인 동안 구문 내의 코드를 무한히 반복함

                 형식: while(조건):

                              실행시킬 코드

계속 반복이 되므로 while 문을 멈추려면 ctrl+c를 누르면 멈춥니다.

 

 

 

for 함수 - if 함수와 while 함수를 합친듯한 함수, 즉, 조건이 참이 되는 동안만 반복함

              형식 : for(조건):
                            실행시킬 코드

반복문을 통한 사사단

(1,5) 의 범위는 1 이상 5 미만

range 함수 - 범위를 지정한 증가, 감소 규칙에 따라서 범위를 지정해주는 함수

                  형식 : range( 시작 숫자, 끝 숫자 , 증감 숫자)

 

 

end는 출력이 끝난 후 마지막에 무엇을 출력할지 정해주는 함수

 

 

 

 

 

(3) 예외 처리 - try , except

 

 - 프로그램을 수행하다가 에러가 날 때 프로그램이 멈추게 되는데 프로그램을 멈추는 것을 방지하기 위한 함수

 - 오류가 날 것 같은 코드를 try 함수에 넣고 try함수에서 오류가 발생하면 오류가 발생한 그 줄에서 바로 except함수로 넘어가서 오류를 무시해준 후 except함수 안에 있는 코드를 실행 후 except함수를 나와서 순서대로 원래 코드 실행함

 - try함수에 오류가 없는 코드를 넣으면 except 함수는 실행되지 않음.

 - except 함수에 무시할 오류명은 실제 오류명을 정확히 기입해줘야 함.

a라는 변수에 문자열을 대입했는데 int() 함수는 숫자형 자료형을 넣어줘야 하므로 ValueError에러가 발생하는데 에러가 발생하게 되면 프로그램이 멈추므로 에러를 무시시키고 프로그램이 계속 진행되게 try와 except함수를 사용했습니다.

 

 

 

에러 이름을 모를 경우 직접 코드를 쳐서 오류가 난 후 에러 이름을 알거나 위와 같이 except: 이렇게 에러 예외처리를 해주면 모든 에러가 예외처리가 됩니다.

 

 

 

raise 함수는 사용자가 직접 오류를 발생시키게 하는 함수입니다.

'It공부 > Python' 카테고리의 다른 글

복소평면에 허수함수 그래프 그리기(파이썬)  (0) 2020.08.08
5. 클래스  (0) 2020.03.15
3. 자료형(2)-리스트, 튜플, 딕셔너리  (0) 2020.03.13
2. 변수와 자료형(1)  (0) 2020.03.12
1.파이썬 설치 및 특징  (0) 2020.03.11
Comments