python是动态类型语言一般比C/C++(编译性语言)运行慢。在python追求性能时可以使用C/C++处理,python在调用。
note:python2中,整数除以整数结果是整数。python3中,整数除以整数结果是小数。
基本数据类型:int,float,str等
字符串拼接支持"+"
type()函数
#例
type(10)
>>> <class 'int'>#此后“>>>"均表示输出
python属于“动态类型语言”,其中的变量同样具有类型推导机制,即变量的类型根据情况自动确定。
#列表
a=[1,2,3,4,5]
#1.元素访问支持下标访问与赋值,同样从0开始
a[0]
>>> 1
#2.列表长度
len(a)
>>> 5
#3.切片访问
## 左闭右开
a[0:2]
>>> [1,2]
a[1:]#下标为1到最后
>>> [2,3,4,5]
a[:3]#[0,2)
>>>[1,2,3]
a[:-1]#第一个元素到最后一个元素的前一个元素(即倒数第二个)
>>> [1,2,3,4]
a[:-2]#第一个元素到倒数第二个元素的上一个
>>>[1,2,3]
note:索引-1对应最后一个元素,-2对应倒数第二个元素
类似于map,根据键值对的方式存取数据
#生成
me={'h':180}
#访问
me['h']
>>>180#直接返回对应存储的数据类型
#添加
me['w']=60
print(me)
>>>{'h':180,'w':60}
同样取值True或False。
支持运算符:and(与),or(或),not(非)
这里只记录一下有特点的
for语句
支持for in结构
for i in [1,2,3]
print(i)
>>>1'\n'2'\n'3'\n'
if 语句:不加括号,使用缩进来表示执行语句的模块
h=Ture
if h:
print("its true")
else:
print("not true")
print("try it agait")
一个缩进对应4个空白字符
没什么好记的
例:
class Man:
def __init__(self,name):
self.name=name
print("Initialized")
def hello(self):
print("hello")
def goodbye(self):
print("bye")
m=Man("dad")
m.hello()
m.goodbye()
>>>Initialized
>>>hello
>>>bye
init(self,参数···):是构造函数,在构建实例的时候调用一次。
实例变量是存储在各个实例中的变量。可以用类似self.name(上例)的方法,通过self来访问或者生成实例变量
import numpy as np
#1.生成numpy数组
x=np.array([1,2,3])
print(x)
>>>[1.,2.,3.]
#2.算数运算——对应元素的运算(要求运算的两个array大小相同)
x=np.array([1,2,3])
y=np.array([2,3,4])
print(x+y)
>>>array([3.,5.,7.])
print(x-y)
>>>array([-1.,-1.,-1])
#x*y,x/y类似,均为对应元素想作用
print(x/2.0)#与标量进行运算,是各个元素均和这个标量进行运算
>>>array([0.5,1.,1.5])
#多维数组
z=np.array([[1,2],[3,2]])
#形状
z.shape
>>>(2,2)
#数组元素类型
z.dtype
>>>dtype('int64')
note:多维数组的算术运算和一维的一样,同样是要求大小相同,然后对应元素运算。标量然后基于广播同所有元素运算*
数学上将一维数组称为向量,二维称为矩阵。将一般化后的向量或矩阵称为张量。
不同形状的数组之间也可以进行运算。例
A=np.array([[1,2],[3,4]])
B=np.array([10,20])
print(A*B)
>>>array([[10,40],[30,80]])
在这个例子中B被扩展为[ [10,20],[10,20] ],然后在和A以对应元素的方式进行相乘。这个功能称为广播。
X=np.array([1,2],[3,4],[5,6])
print(X[0])
>>>array([1,2])#和普通的二维数组访问方式相同
#for循环访问
for temp in X:#二维数组如果这样访问的话,访问的结果是一维数组形式
print(temp)
>>>[1 2]#
>>>[3 4]
>>>[5 6]
Y=X.flatten()#变为一维数组
print(Y)
>>>[1 2 3 4 5 6]
print(X[np.array([0,2,4])])#支持数组来获取元素,获取索引为0,2,4的元素
>>>array([1,3,5])
#支持对整个数组进行不等号运算
print(X>3)
>>>array([False,False,False,True,True,True])
#结合数组和上面的返回结果
print(X[X>3])
>>>array([4,5,6])
用于图形绘制和可视化
import matplotlib.pyplot as ply
from matplotlib.image import imread
plt.plot(x,y,label="",linestyle="")#label图线标题,linestyle图线形状
plt.xlabel("")#x轴标签
plt.ylabel("")#y轴标签
plt.title("")#标题
plt.legend()#标签
img=imread('')#图片路径
plt.imshow(img)#显示图片
plt.show()