1、eval()将字符串当成有效的表达式来求值,返回计算结果
a=eval('1+2')
x=6
b=eval('x+2')
g={'num1':4}
c=eval('num1*2',g)
print(a,b,c)
打印结果:3,8,8
2、使用数组运算的好处是不写循环即可对数据进行批量运算,即矢量化(vectorization)。需要注意的是:
- 大小相等的数组之间的任何算术运算都会将运算应用到元素级
- 数组与标量的算术运算会将标量值传播到各个元素
import numpy as np
arr1=np.array([1,2,3,4]) #array()接受一切序列型的对象,尝试转化成合适的数据类型的数组ndarray
arr2=np.array([[2,3,4,5],[5,6,7,8]])
print(arr1)
print(arr2+arr1)
打印结果:
[1 2 3 4]
[[ 3 5 7 9]
[ 6 8 10 12]]
3、zeros(),ones(),empty()
a=np.zeros(10) #生成一个有10个0的一维数组
b=np.ones((3,5)) #注意传入的是元组对,生成3行5列的数组
c=np.empty((2,3)) #2行3列的随机数数组
print(a)
print(b)
print(c)
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
[[ 1.61393916e-311 1.61393707e-311 1.61392504e-311]
[ 1.61393924e-311 1.61393918e-311 1.61393916e-311]]
4、
np.arange(14) #相当于python中的range()函数,数组版
5、a=np.linspace(1,6,5,True) #参数分别是start ,stop,num,是否包括stop