Chapter7:函数
7.1.1 在用户定义的函数中循环遍历数组
Python中的if语句只能用来求取单个变量而非多元素数组的真值。当要求取多元素数组真值时,不可以使用if条件语句,需使用for循环来完成。
if条件语句只能用于求单个单个的变量:
对于数组x,需要for循环挨个遍历数组中的元素进行一一求取,再输出为数组。
7.1.2 用户定义函数的快速数组处理
NumPy的开发人员引入了许多旨在快速有效地处理阵列的功能。可以直接处理数组的条件语句或函数where,它是NumPy库的一部分。
where函数的语法:
where函数的第一个参数是涉及数组的条件语句。 where函数逐个将条件应用于数组元素,并为条件为True的那些数组元素返回第二个自变量,为False的那些数组元素返回第三个自变量。
应用于sinc(x)函数,如下所示:
1 import numpy as np
2 import matplotlib.pyplot as plt
3
5 def sinc(x):
6 z = np.where(x == 0.0, 1.0, np.sin(x)/x)
7 return z
8
10 x = np.linspace(-10, 10, 255)
11 y = sinc(x)
12
13 fig, ax = plt.subplots(figsize=(8, 4))
14 ax.plot(x, y)