기능
함수는 특정 작업을 수행하기 위한 코드 블록이며 자체 범위를 포함하며 이름으로 호출됩니다. 모든 함수는 0(no) 인수를 포함하거나 둘 이상의 인수를 포함할 수 있습니다. 종료 시 함수는 하나 이상의 값을 반환할 수 있거나 반환할 수 없습니다.
기본 함수 구문
def functionName( arg1, arg2,….): ……. # Function_body ……..
sum(사용자는 원하는 이름을 지정할 수 있음)이라는 매우 간단한 함수인 사용자(사용자)를 만들어 보겠습니다. "sum" 함수에는 num1 및 num2라는 두 개의 인수가 있으며 함수(sum)에 전달된 인수의 합을 반환합니다. 값(인수) 5와 6을 사용하여 함수(sum)를 호출하면 11을 반환합니다.
def sum(num1, num2): return (num1 + num2)
출력
>>> sum(5,6) 11
따라서 위에서 'return' 문이 파이썬 함수에서 값을 반환하는 것을 볼 수 있습니다.
이 기능을 사용하면 코드 재사용성을 구현할 수 있습니다. 세 가지 종류의 기능이 있습니다 -
-
내장 함수( 이름에서 알 수 있듯이 이러한 함수는 Python 언어와 함께 제공됩니다. 예를 들어 help()는 도움을 요청하고 max()는 최대 값을 얻고 type()은 객체 유형을 반환합니다. 등등.)
-
사용자 정의 함수(위에서 만든 "합" 함수와 같이 사용자가 사용자를 돕기 위해 만드는 함수입니다.
-
익명 함수(람다 함수라고도 하며 def를 사용하여 정의되는 일반 함수와 달리 키워드는 람다를 사용하여 정의됩니다. 키워드).
방법
파이썬의 메소드는 객체/클래스와 연결된다는 점을 제외하고는 함수와 다소 유사합니다. 파이썬의 메소드는 두 가지 주요 차이점을 제외하고는 함수와 매우 유사합니다.
-
메서드가 호출된 개체에 대해 암시적으로 사용됩니다.
-
메서드는 클래스 내에 포함된 데이터에 액세스할 수 있습니다.
일반 메서드 구문
class ClassName: def method_name(): ………….. # Method_body ………………
간단한 코드 하나로 방법을 이해하자 -
class Pet(object): def my_method(self): print("I am a Cat") cat = Pet() cat.my_method()
출력
I am a Cat
위의 코드에서는 먼저 "Pet" 클래스를 정의했습니다. 그런 다음 이 청사진에서 "고양이" 개체를 만들었습니다. 다음으로 객체(예:cat)를 사용하여 my_method라는 사용자 지정 메서드를 호출합니다.
파이썬에서 메소드와 함수의 주요 차이점
기능과 방법 모두에 대한 기본 이해를 얻었으므로 둘 사이의 주요 차이점을 강조해 보겠습니다.
-
함수와 달리 메서드는 개체에서 호출됩니다. 위의 예에서와 같이 메서드를 .i.e. 객체 "cat"에 대한 "my_method"인 반면 "sum" 함수는 객체 없이 호출됩니다. 또한 메서드가 개체에 대해 호출되기 때문에 개체 내의 해당 데이터에 액세스할 수 있습니다.
-
객체의 상태를 변경할 수 있는 메소드와 달리 python 함수는 이를 수행하지 않고 정상적으로 작동합니다.
간단히 말해서 메소드는 객체에 속하는 함수입니다.