이 글은 Python 언어의 핵심 기능인 함수, 즉 구문과 함수 형식을 정의하고 함수 매개변수를 전달하는 두 가지 방법을 소개하는 것을 쉽게 이해하고 익히는 데 도움이 됩니다.
함수는 특정 작업을 수행하는 명령문 블록으로, 프로그래머가 재사용할 수 있도록 하는 코드의 일부로, 소프트웨어 프로그램의 모듈식 개념을 장려합니다. 이 접근 방식의 기본 아이디어는 큰 코드 블록을 더 작고 독립적인 부분으로 나누어 관리하기 쉬운 하위 블록으로 나누는 것입니다. Python에는 두 가지 유형의 함수가 있습니다.
내장 함수(Build-in): 프로그래밍할 때 이러한 함수를 정의하지 않고 프로그램에서 직접 사용할 수 있습니다. 이러한 유형의 함수는 초기 학습에서 자주 사용됩니다(예: print(), input(), sum() 등).
사용자 정의 함수: Python을 사용하면 프로그래머가 자신만의 함수를 만들 수 있습니다. 이 특정 기능 유형은 다음에 강조 표시됩니다.
간단히 말하면, 함수는 정의되고 반복적으로 호출될 수 있는 구조화된 명령문 블록입니다. 함수는 고유한 이름을 갖고 매개변수를 받을 수 있으며 필요에 따라 호출자에게 해당 결과(값)를 반환하거나 값을 반환하지 않습니다.
Python에서 함수를 정의하는 주요 규칙은 다음과 같습니다.
요약하면 다음과 같은 네 가지 유형의 함수가 있습니다.
def functionName (var1, var2, … etc.): Statements
# 定义一个既无参数也无返回值的函数 def printSomething(): print('Hello world') # 在主程序中直接调用 printSomething()
Hello world매개변수가 있고 반환 값이 없는 함수또 다른 유형의 함수는 변수를 매개변수로 받아들입니다. 그러나 데이터를 반환하지 않습니다. 다음 예에서는 호출된 함수 대괄호에 일부 값을 포함하면서 선언된 이름으로 함수가 호출됩니다. 이 값은 함수 본문에 전달되며 일반 변수로 처리될 수 있습니다.
# 定义接收参数但无返回值的函数 def printMyName(fName, lName): print('Your name is:', fName, lName) # 提示用户输入姓名 firstName = input('Enter your first name: ') lastName = input('Enter your last name: ') # 在主程序中调用所定义的函数 printMyName(firstName, lastName)프로그램을 실행하면 결과는 다음과 유사합니다.
Enter your first name:Solo Enter your last name: Cui Your name is: Solo Cui
# 定义无参数但有返回值的函数 def returnFloatNumber(): inputFloat = float(input('输入一个数字,其将返回给主程序:')) return inputFloat # 主程序调用函数并显示输入结果 x = returnFloatNumber() print('输入的数字为:', x)프로그램 실행 결과는 다음과 유사합니다.
输入一个数字,其将返回给主程序: 5.7 输入的数字为:: 5.7
# 有参有返回值函数 def calculateSum(number1, number2): print('计算两个数字和.') return(number1 + number2) # 接受用户输入的两个数字 num1 = float(input('输入第一个数字: ')) num2 = float(input('输入第二个数字: ')) # 调用函数计算俩个数字和 addNumbers = calculateSum(num1, num2) # 输出两个数字和 print('两个数字和为:', addNumbers)프로그램 실행 결과는 다음과 유사합니다.
输入第一个数字: 3 输入第二个数字: 5 计算两个数字和... 两个数字和为:: 8.0
在Python中,如果将不可变参数(例如,整数和字符串)传递给函数,通常的做法是按值调用/传递参数。下面的示例通过介绍id()函数说明了这种情况。它接受一个对象作为参数(即id(object)),并返回这个特定对象的标识。Id()返回值是一个整数,它在对象的生命周期内是惟一的和永久的。如示例所示,在调用checkParamemterID函数之前,变量x的id为4564813232。需要注意的是,只要x的值没有更新,x的id在函数中就不会改变。但是,一旦该值更新为20,其对应的id将更改为4564813552。需要注意的最重要的一点是,x的id在调用函数后不会改变,它的原始值保持不变(4564813232)。这意味着对x值的更改应用于变量的副本,而不是调用者作用域内的原始变量。
示例代码如下:
#按值传递参数 # 定义函数'checkParameterID',带参且按值传递 def checkParameterID(x): print('在checkParameterID函数内x值改变之前其值为 ', x, 'n其id 为', id(x)) # 在函数范围内改变参数x的值 x = 20 print('checkParameterID中x的值改变后为', x, 'n 其id为', id(x)) # 在主程序声明变量x并赋予初始值 x = 10 print('调用checkParameterID函数之前x的值是', x, 'n 其id为', id(x)) # 调用'checkParameterID'函数 checkParameterID(x) # 函数调用后在主程序中显示关于'x'的信息 print('调用checkParameterID函数后x的值为', x, 'n 其id为', id(x))
运行输出结果类似如下:
调用checkParameterID函数之前x的值是 10 其id为 2570870194704 在checkParameterID函数内x值改变之前其值为 10 其id 为 2570870194704 checkParameterID中x的值改变后为 20 其id为 2570870195024 调用checkParameterID函数后x的值为 10 其id为 2570870194704
在这种情况下,函数获取实参(即原始变量)的引用,而不是它的副本。如果函数内发生更改,则调用者作用域中原始变量的值也将被修改。在Python中,如果可变参数(如列表)传递给函数,则调用/传递是通过引用进行的。如下所示,updateList将值5追加到名为y的列表中。即原始可变变量x的值发生了变化,这证明函数按引用调用/传递参数的特征。示例代码如下:
# 定义函数'upDateList' 其改变列表内的值 def updateList(y): y = y.append(5) return y # 声明列表'x' 有四个元素值 x = [1, 2, 3, 4] print('在调用updateList函数之前,x的内容是:', x) # 调用函数'updateList' print('调用函数updateList') updateList(x) print('调用updateList函数后x的内容为:', x)
运行程序输出结果类似如下:
在调用updateList函数之前,x的内容是: [1, 2, 3, 4] 调用函数updateList 调用updateList函数后x的内容为: [1, 2, 3, 4, 5]
本期内容介绍了函数的基本内容和实现语法,以及参数传递、有无参数和返回值的函数形式以及函数调用/传递的实现。
위 내용은 Python 프로그래밍: 함수 정의, 유형 및 매개변수 전달 방법을 쉽게 익히기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!