Python--函数

1. Python中的函数

Python中的函数是一种可以重复使用的代码块,可以在任何地方都可以调用使用。函数是一个独立的组件,接受输入并产生输出。Python的内置函数有很多,同时我们也可以自己编写函数,在代码的可复用性、可读性、可维护性上极有助益。

1.1 函数的定义

在Python中,函数的定义需要使用关键字def,并且函数名要遵循标识符的规则,以及要符合函数的命名规范,下面是一个函数的例子:

def greet(name):

print("Hello, " + name + ". Nice to meet you!")

在上面的例子中,函数的名字是greet,参数为name,在函数体中打印输出了一个字符串。在函数定义中,参数也可以有默认值,下面是一个带有默认值的参数的例子:

def add(x, y=1):

return x + y

在上面的例子中,参数y有默认值1,当函数调用只输入了x的数值时,参数y会自动取默认值1。

1.2 函数的调用

通过在代码中输入函数名后,加上需要输入的实参,就可以调用函数。下面是调用函数的例子:

greet("John")

result = add(3, 5)

print(result)

在上面的例子中,我们首先调用了函数greet("John"),输出了一条

2. Python中的常用库函数

Python中提供了非常多的内置库函数以及第三方库函数,下面我们来介绍几个常用的库函数。

2.1 Numpy库中的函数

Numpy库是Python中一个非常流行的数学库,提供了很多有用的函数,包括数学公式、矩阵计算、随机数生成等。其中一个常用的函数是linspace()

2.1.1 linspace()函数

linspace()函数可以生成一段等差数列,函数定义如下:

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

下面是函数参数的解释:

start: 这个参数代表‘起始值’,序列中的第一个值

stop: 这个参数代表‘结束值’,序列中的最后一个值

num: 这个参数代表‘元素个数’,默认为50

endpoint: 这个参数代表‘序列中是否包含stop的值’,默认为True

retstep: 这个参数代表‘为True时,返回间距的值’

dtype: 这个参数代表返回array的类型

axis: 这个参数代表将要生成的维度的轴,这个参数可以被忽略

下面是linspace()函数的一个使用例子:

import numpy as np

# 生成0到5之间的等差数列,共11个元素

a = np.linspace(0, 5, 11)

print(a)

这个函数将会输出以下结果:

array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])

2.2 Matplotlib库中的函数

Matplotlib库是Python中用于绘制各种类型图表的库,包括线图、条形图、散点图等。其中一个常用的函数是plot()

2.2.1 plot()函数

plot()函数用于绘制折线图,函数定义如下:

matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)

下面是函数参数的解释:

*args: 要绘制的一组数据序列

scalex: 是否与x轴标尺对齐

scaley: 是否与y轴标尺对齐

data: 数据(传递给‘x’和‘y’参数)

**kwargs:其他参数,比如线宽、线型等

下面是plot()函数的一个使用例子:

import matplotlib.pyplot as plt

import numpy as np

# 生成0到5之间的等差数列,共11个元素

x = np.linspace(0, 5, 11)

# 定义y坐标

y = x ** 2

# 绘制折线图

plt.plot(x, y)

# 标题

plt.title("Square Plot")

# x轴标签

plt.xlabel("X")

# y轴标签

plt.ylabel("Y")

# 显示图像

plt.show()

这个函数将会输出一个折线图。

3. Python中的闭包

闭包是Python中函数式编程的一个重要特性,是指函数加上是其定义环境的一个整体,包括函数定义时的环境变量。闭包允许在函数内部封装另外一个函数,并且可以使用这个函数内部的变量和外部环境变量。

3.1 闭包的定义

下面是一个闭包的定义:

def outer(x):

def inner(y):

return x + y

return inner

在上面的例子中,我们定义了一个外部函数outer(x),内部函数inner(y),内部函数中引用了外部函数的变量x。下面我们来创建一个闭包函数并调用:

closure1 = outer(5)

closure2 = outer(10)

print(closure1(3))

print(closure2(3))

在上面的例子中,我们首先创建了闭包函数closure1 = outer(5),然后再创建了一个闭包函数closure2 = outer(10)。然后我们通过调用闭包函数,分别输出closure1(3)closure2(3)的结果,这两个结果分别是8和13。

4. Python中的装饰器

装饰器是一种Python函数,可以帮助修改其他函数的功能。装饰器在应用上与闭包非常相似,都是通过嵌套函数来实现,同时也都可以在函数的运行时实现调用所必需的操作,但是装饰器的具体表现形式上与闭包不同,它通常会返回一个新的函数,而不是传递一个函数的引用。

4.1 装饰器的定义

下面是装饰器的一个定义:

def decorator(func):

def wrapper():

print("Before function call")

func()

print("After function call")

return wrapper

在上面的例子中,我们定义了一个装饰器decorator(),接受一个函数func,并返回一个新的函数wrapper。下面我们来创建一个使用了装饰器的函数:

@decorator

def hello():

print("Hello, Python!")

在上面的例子中,我们通过在函数声明中添加@decorator,使得函数hello()被装饰器decorator()所修改。下面我们来调用函数hello()

hello()

在上面的例子中,我们通过调用函数hello(),输出了以下结果:

Before function call

Hello, Python!

After function call

5. 总结

本文介绍了Python中的函数、常用库函数、闭包以及装饰器,这些都是Python中非常重要的编程概念。通过了解这些内容,并结合不同的编程场景,我们可以更好的理解并灵活运用Python。

上一篇:python--字典,解包

下一篇:python--反射

后端开发标签