파이썬 함수 선언문법, 인수의 종류,

여러 사람과 함께 Python 프로그램을 개발할 때 어떻게 효율적으로 코딩할 수 있습니까?

① 한 줄 한 줄 토론하고 글을 쓰다가 코로나에 걸린다.

② 단체퀘스트처럼 독에 지쳐 과로로 죽는다.

③ 하나씩 적어 마지막에 합친다.

프로그래밍하다가 죽는 경우를 없애기 위해서는 ③번을 선택해야 할 것 같습니다.

하지만 여러 사람이 함께 하다 보면 다른 사람이 만든 부분을 다시 코딩하는 경우가 있을 수 있습니다. 불필요한 중복을 피하고 반복 기능을 편리하게 재사용하는 방법에는 여러 가지가 있습니다. 함수, 객체 및 모듈 무엇보다도 오늘은 가장 기본적인 파이썬 함수의 정의와 사용법에 대해 알아보겠습니다.

파이썬 함수란?

긴 파이썬 프로그램을 작성할 때 글을 쓰는 것처럼 단락을 나누어 반복되는 부분을 편리하게 재사용할 수 있는 기능입니다. 기능오전. 함수를 사용하면 프로그램의 흐름을 한눈에 볼 수 있고, 인터페이스를 이해하면 어디가 문제인지 쉽게 알 수 있습니다.

간단히 말해서 함수는 특정 이름을 가진 특정 명령을 실행하는 코드 조각으로 정의되며 함수가 필요할 때마다 이름으로 호출되어 사용됩니다.

x와 y가 주어졌을 때 x와 y의 합과 곱을 출력하는 명령을 만들었다고 가정합니다. 이것을 함수 A로 정의해 봅시다. 그리고 잠시 프로그래밍을 하고 그 계산을 다시 해야 한다면 코드를 다시 입력할 필요 없이 그냥 A를 불러서 사용하면 됩니다.


수학의 함수는 위와 같이 정의됩니다.

예를 들어 함수가 f(x)=x+2=y로 표현된다고 가정합니다. x는 입력 값이고 f(x)는 입력 값에 대해 약속한 연산을 수행하는 표현식이며 결과는 출력 값으로 y입니다. Python의 함수는 개념상 수학의 함수와 유사합니다.

연산에 의해 입력값을 출력값으로 변환해주는 일종의 인터페이스입니다.

Python 함수의 선언 구문

이제 Python 함수가 실제로 어떻게 정의되고 사용되는지 살펴보겠습니다.


파이썬 함수는 예약어 def로 선언됩니다. 위와 같이 괄호 안에 함수 이름과 매개변수를 명시하고 이 함수가 어떤 기능을 수행해야 하는지 아래에 적는다. “함수 이름”은 매개 변수에 대한 실행 문과 같은 작업을 수행하고 반환 값을 반환한다는 의미입니다.

한 가지 중요한 점은 함수에 대한 코드 블록을 작성할 때 def 아래의 모든 줄에 들여쓰기(indentation)를 작성하는 것입니다. 코드 편집기에서 탭(Tab)을 눌러 줄을 일치시키기만 하면 됩니다. 함수를 선언하는 코드를 연습해 봅시다. 프로그래밍은 배울 수 있는 유일한 방법입니다…


이렇게 caculate_rectangle_area라는 긴 함수 이름을 정의하고 x와 y 매개변수를 곱하는 실행문을 작성했습니다. 결국 return은 이 함수가 마지막에 계산된 값을 반환한다는 의미입니다. 즉, x와 y를 곱한 값을 결과에 삽입하고 결과 값을 결과로 출력하고 종료합니다.

아래에 10과 20의 값으로 두 개의 변수가 주어지고, 두 변수를 함수의 인자로 호출하면 앞에서 지시한 연산에서 10 * 20 = 200의 값이 반환되고 그 값이 출력된다. 확인되었습니다.


어떤 문서를 구글링을 해보면 위와 같이 함수 선언 부분에 인자가 들어간다고 쓰여 있는데 그게 바로 잘못된 것이다. 사람마다 글을 다르게 써서 혼란스러워지는 부분입니다. 아래 정리된 대로.

기능 관점에서:

함수의 관점에서:

매개변수 함수 정의에서 괄호 안에 나열된 변수입니다.

매개변수는 함수를 정의할 때 괄호 안에 나열되는 변수입니다.

→ 함수의 입력값 인터페이스

싸움 함수가 호출될 때 함수로 전송되는 값입니다.

인계하다함수가 호출될 때 전송되는 값입니다.

→ 파라미터에 실제로 입력된 값

인수 인수 유형

함수를 정의 후 호출하여 사용할 때 사용되는 인자와 인자의 종류에 대해 알아본다.

① 필수인수


필수 인수는 생략하면 오류가 발생하는 필수 인수입니다. 위와 같이 함수명(매개변수)의 형태로 정의되어 있으므로 호출 시 함수명(인자)의 형태로 호출되어야만 인자를 처리하여 값을 반환한다.

여기서 함수를 printstring() 형태로 호출하고 name 인수를 입력하지 않으면 다음과 같은 오류가 발생합니다.

TypeError: printstring()에 1개의 필수 위치 인수가 없습니다: ‘str’

② 키워드 인수


키워드 인수는 일반적으로 여러 매개변수를 지정할 때 사용되지만 여기서는 예로 하나만 제공됩니다. 매개변수 이름이 제공되고 함수를 호출할 때 이름에 넣을 내용을 직접 지정합니다. 이를 키워드 인수라고 합니다.


여러 매개변수가 지정되고 키워드 인수로 호출되는 경우 일치하지 않는 경우 순서는 중요하지 않습니다. 위와 같이 순서 name1,2,3이 지정되어 있는데 호출하면 순서 3,1,2로 입력해도 결과는 같습니다.

단, 직접 지정 시 선언되지 않은 파라미터 이름을 입력하면 다음과 같은 오류가 발생합니다. 예를 들어 매개변수 이름이 name1인 경우

TypeError: printdata()가 예기치 않은 키워드 인수 ‘name1’을 받았습니다.

③ 기본 인수


기본 인수는 함수가 호출될 때 값이 제공되지 않으면 매개변수의 기본값을 사용하는 인수입니다. 위의 예에서와 같이 함수 호출 시 Salary 매개변수의 기본값을 3500으로 설정할 수 있습니다. 나중에 함수를 호출하고 하나의 인수만 제공하면 다른 하나는 기본값을 반환합니다.


물론 두 개의 인자를 입력하면 위와 같이 매개변수의 기본값이 무시되고 새로운 값이 출력되는 것을 볼 수 있습니다.

④ 가변 길이 인수

3개의 매개변수를 입력하지만 5개의 ​​인수를 입력하는 경우가 있습니다. 이 경우 다음 오류가 발생합니다.


매개변수의 개수를 미리 지정하지 않고 필요한 만큼의 입력 인수로 연산을 수행하고 싶다면 다음과 같이 가변 길이 인수 형식을 사용할 수 있습니다.


*는 파라미터 지정 시 추가되었으며, for 문은 nos의 모든 n 요소에 대해 각각의 실행문을 실행하기 위해 사용되었습니다. 결과 부분을 보면 2개의 인수가 입력되면 2개가 출력되고, 3개의 인수가 입력되면 3개가 출력되는 것을 알 수 있다.

가변 길이 인수를 입력하는 방법에는 두 가지가 있습니다.

  1. 키워드가 아닌 변수
  2. 키워드 변수

사례 1은 파이썬 데이터 타입 중 하나로 튜플(tuple)이라고 불리는데, 이에 대해서는 뒤에서 자세히 살펴볼 것이다.

매개변수 및 반환 값

파이썬 함수는 매개변수(parameter parameters)와 반환값(return value)의 유무에 따라 분류할 수도 있습니다.

매개변수 없음 매개변수 포함
반환 값 없음 매개변수 없이 실행문만 실행
결과 값이 반환되지 않음
매개변수로 실행문을 실행한 후
반환된 결과 없음
반환 값이 있습니다 매개변수 없이 실행문만 실행
결과 값을 반환
매개변수로 실행문을 실행한 후
결과를 반환

위의 표와 같이 리턴 값과 파라미터 유무에 따라 4가지로 분류됩니다.

실제 코딩 예제를 사용하여 각각의 경우에 함수가 어떻게 작동하는지 살펴보겠습니다.


매개변수 및 반환 값

위의 네 가지 기능이 정의됩니다.

모든

매개변수 X는 X를 반환합니다.

매개변수 O는 X를 반환합니다.

매개변수 X는 O를 반환합니다.

매개변수 O 반환 O

오전.

결과를 보면 첫 번째 매개변수는 X 리턴 X 기능의 경우 인쇄 실행문에서 8*10을 리턴합니다. 입력 값에 대해 동작하는 명령이 아니라 80을 출력하도록 설계된 무의미한 함수일 뿐입니다. 결과 부분을 보면 함수 내부의 print 문에서 80이 화면에 출력되고 리턴 값이 없기 때문에 print(함수 이름) 형태로 출력하면 결과는 None 임을 알 수 있습니다.

두 번째 매개변수 O Return-X 함수는 매개변수이므로 함수를 호출할 때 인수를 지정해야 합니다. 인자를 입력하면 그 값의 곱한 값이 실행문에 의해 화면에 나타나며 반환값이 없으므로 함수값 호출 시 None이 반환된다.

즉 반환값이 없기 때문에 함수 자체는 값을 저장하지 않는다. 함수 내부의 실행문에 의해 화면에 출력되도록 설계되었을 뿐입니다.

반환값이 있는 3번째와 4번째 함수로 함수를 호출하면 일정한 값이 나오는 것을 볼 수 있습니다.


인쇄와 반품의 차이점

인쇄와 반환의 차이점을 이해해야 하며 인쇄는 말 그대로 인쇄하여 화면에 표시하는 것을 의미합니다. 그리고 리턴은 결과 값을 가져와 메모리 주소에 저장하는 것을 의미합니다.

화면에 “인쇄만”이 표시되지만 메모리 주소에 값을 저장하지 않습니다. 위에서 반환 값이 없는 함수의 예에서 보았듯이 반환 값 없이 비어 있고 결과 없이 비어 있습니다. 이는 없음으로 표시됩니다.

반면 반환 값이 있으면 연산 결과로 실제로 값이 저장되고, print 문이 있으면 출력되고, print 문이 없으면 값만 남게 됩니다. 즉, print 문이 없어서 화면에 출력이 없더라도 실제로 연산이 수행되고 결과 값이 잘 저장된다.


인쇄와 반품의 차이점

위의 예제에서 함수 자체를 입력하고 결과만 보면 위의 두 함수는 print 실행문으로 화면에 80을 출력하지만 함수의 실제 결과는 None입니다.

다음 두 함수는 반환 값(return value)이 있으므로 함수의 결과는 80이 됩니다. 그러나 print 문이 없기 때문에 세 번째 함수는 화면에 아무 것도 출력하지 않고, 네 번째 함수 매개변수의 경우 인자 연산 결과와 반환값을 화면에 출력한다.

참조

함수 인수 – Python

인수는 함수를 호출하는 데 사용되며 주로 4가지 유형의 함수를 사용할 수 있습니다: 필수 인수, 키워드 인수, 기본 인수…

www.brainkart.com