admin 管理员组

文章数量: 887021


2023年12月18日发(作者:模版跟模板的区别)

Python函数的定义与调用

Python函数是编程中不可或缺的一个部分,可以封装特定的代码块,用于执行特定的任务。在本篇论文中,将阐述Python函数的定义和调用,并且详细介绍函数的参数、函数的返回值和函数的作用域。

一、Python函数的定义和调用

Python函数定义格式为:

```

def function_name(parameters):

statement(s)

return [expression]

```

其中,function_name为函数名,可以根据自己的需求命名;parameters为函数的形式参数,可以没有参数,也可以有多个参数,多个参数之间用逗号隔开;statement(s)为函数的执行体,可包含一

条或多条语句;return语句主要用于返回函数执行结果,其后跟着的expression是可选的。

Python函数的调用格式为:

```

function_name(arg1, arg2, …… argN)

```

其中,function_name为函数名,arg1, arg2, …… , argN是函数的实际参数,实际参数的数量和类型要与形式参数保持一致,否则会导致类型不匹配的错误。

二、Python函数的参数

Python函数的参数可以分为两类:实际参数和形式参数,在函数的定义和调用中都有所体现。实际参数是在函数调用时传递给函数的参数,形式参数是函数定义时声明的变量。Python函数的形式参数可以分为位置参数、默认参数、可变参数和关键字参数。

1.位置参数

位置参数是最常见的函数参数类型,调用函数时,按照顺序将参数值传递给函数,函数将按照参数的顺序来使用这些值。下面是一个求两个数之和的例子,其中x和y为函数的位置参数。

```python

def sum(x, y):

z = x + y

return z

a = 1

b = 2

print(sum(a, b)) #输出3

```

2.默认参数

默认参数是指在定义函数时,为形式参数指定一个默认值。当在函数调用时,如果没有为该参数传递值,则默认值将被使用。下面是一个求幂值的例子,其中power为函数的默认参数:

```python

def pow(x, power=2):

return x ** power

print(pow(2)) #输出4

print(pow(2, 3)) #输出8

```

3.可变参数

可变参数是指可以接受不同数量的实际参数的函数。在函数定义时,使用一个星号(*)标识,表示接受任意数量的实际参数,这些参数将会被封装到一个元组中。下面是一个可变参数的例子,其中nums为函数的可变参数:

```python

def add(*nums):

res = 0

for num in nums:

res += num

return res

print(add(1, 2, 3)) #输出6

print(add(1, 2, 3, 4, 5)) #输出15

```

4.关键字参数

关键字参数是指在函数调用时,按照键值对的形式传递参数值,在函数定义时,使用两个星号(**)标识,将参数封装到一个字典中。下面是一个关键字参数的例子,其中kwargs为函数的关键字参数:

```python

def print_student_info(name, age, **kwargs):

print("Name:", name)

print("Age:", age)

for key, value in ():

print(key, ":", value)

print_student_info("Jack", 18, gender="Male",

subject="Math") #输出Name: Jack nAge: 18 ngender: Male

nsubject: Math

```

三、Python函数的返回值

Python函数使用关键字return返回值,也可以不返回。如果函数返回值,则可以对函数的返回值进行操作和处理。在Python中,函数可以返回单个值、元组、列表、字典、集合和函数。

1.单个值

下面是一个示例,其中函数返回单个值:

```python

def add(x, y):

z = x + y

return z

print(add(1, 2)) #输出3

```

2.元组

下面是一个示例,其中函数返回元组:

```python

def power(x):

return x ** 2, x ** 3

print(power(2)) #输出(4, 8)

```

3.列表

下面是一个示例,其中函数返回列表:

```python

def even(n):

result = []

for i in range(n):

if i % 2 == 0:

(i)

return result

print(even(10)) #输出[0, 2, 4, 6, 8]

```

4.字典

下面是一个示例,其中函数返回字典:

```python

def person(name, age, gender):

return {"name": name, "age": age, "gender": gender}

print(person("Jack", 18, "Male")) #输出{'name': 'Jack',

'age': 18, 'gender': 'Male'}

```

5.集合

下面是一个示例,其中函数返回集合:

```python

def primes(n):

result = set()

for i in range(2, n):

for j in range(2, i):

if i % j == 0:

break

else:

(i)

return result

print(primes(20)) #```

6.函数

输出{2, 3, 5, 7, 11, 13, 17, 19}

下面是一个示例,其中函数可以返回函数:

```python

def add(x):

def inner(y):

return x + y

return inner

add_2 = add(2)

print(add_2(3)) #输出5

```

四、Python函数的作用域

在Python中,函数内部定义的变量的作用域为局部作用域,函数外部定义的变量的作用域为全局作用域。函数内部可以访问全局作用域中的变量,但不能直接更改其值,需要使用global关键字。

下面是一个示例,其中函数内部定义的变量x属于局部变量,而函数外部定义的变量y属于全局变量:

```python

x = 10

y = 20

def add():

x = 5 #局部变量

print("x in function add() is:", x)

print("y in function add() is:", y)

add()

print("x is:", x)

print("y is:", y)

```

输出结果如下:

```

x in function add() is: 5

y in function add() is: 20

x is: 10

y is: 20

```

如果在函数内部需要修改全局变量的值,需要使用global关键字。下面是一个示例,其中函数将全局变量y的值加1:

```python

x = 10

y = 20

def add():

global y #声明使用全局变量y

x = 5

y += 1

print("x in function add() is:", x)

print("y in function add() is:", y)

add()

print("y is:", y)

```

输出结果如下:

```

x in function add() is: 5

y in function add() is: 21

y is: 21

```

总结:

本篇论文介绍了Python函数的定义和调用、函数的参数、函数的返回值和函数的作用域。通过对Python函数的论述,可以说Python函数是编程中的核心组成部分。因此,在学习Python编程的过程中,对Python函数的理解和熟练使用是非常必要的。


本文标签: 函数 参数 定义 返回