python numpy 教程视频_python+numpy教程

参考资料:

1.http://cs231n.github.io/python-numpy-tutorial/

2.https://docs.python.org/3.5/library/stdtypes.html#sequence-types-list-tuple-range

3.https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

使用的python版本号:python 3.4.3

Python

首先通过快速排序,感受python语句的简洁性:

135183448_1_20180607103132893

关于快速排序可查看我之前的博文:http://blog.csdn.net/u014485485/article/details/78264015

基本数据类型:integers, floats, booleans, and strings

135183448_2_20180607103133128

135183448_3_20180607103133378

注意:没有x++,x--

逻辑操作符,用英文表示:

135183448_4_20180607103133503

字符串操作:

135183448_5_20180607103133659

Lists:

Lists are mutable sequences, typically used to store collections of homogeneousitems

135183448_6_20180607103133831

slicing

135183448_7_20180607103133987

loop

135183448_8_20180607103134112

用enumerate得到索引:

135183448_9_20180607103134253

批量操作数据:

135183448_10_20180607103134393

或者简化写为

135183448_11_20180607103134518

也可以对数据进行条件筛选:

135183448_12_20180607103134643

Dictionaries

储存形如(key,value)的数据

135183448_13_20180607103134784

in 用于判断:

135183448_14_20180607103134972

Dictionaries的迭代:

135183448_15_2018060710313581

SetsAsetobject is an unordered collection of distincthashableobjects.

135183448_16_20180607103135190

set的迭代:

135183448_17_20180607103135316

TuplesTuples are immutable sequences, typically used to store collections of heterogeneousdata .

135183448_18_20180607103135425

没有add,remove方法

Functions

def 函数名(参数):

Classes

135183448_19_20180607103135706

Numpy

提供对多维数组的操作和运算。

135183448_20_20180607103135847

创建数组:

135183448_21_2018060710313634

index操作:

135183448_22_20180607103136175

135183448_23_20180607103136393

135183448_24_20180607103136565

Array math135183448_25_20180607103136706

Broadcasting

如果你想把两个结构不一样的数组相加,可以扩展:

135183448_26_20180607103136893

当数组较大时不使用循环:

135183448_27_2018060710313781

而numpy可以做到不产生中间数据vv:

135183448_28_20180607103137190

再比如:

135183448_29_20180607103137300

SciPy(pronounced “Sigh Pie”)

SciPybuilds on this, and provides a large number of functions that operate on numpy arrays。

可以对图像进行操作。

Image operations

135183448_30_20180607103137487

135183448_31_20180607103137737

Distance between points

135183448_32_20180607103139643

距离参数含义在此查找:https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html

常用的:

135183448_33_20180607103139768

Matplotlib

Plotting

135183448_34_2018060710314034

135183448_35_20180607103140222

Subplots

135183448_36_20180607103140503

Images

135183448_37_20180607103140784

python3的一些特性

1.print()会依次打印每个字符串,遇到逗号“,”会输出一个空格

2.如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

3.

Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。

4.

在最新的Python 3版本中,字符串是以Unicode编码的。

当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。

当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

实际上Python是用这个正则表达式提取编码,coding[:=]\s*([-\w.]+)

所以以下都可以:

# coding:utf-8

# coding=utf-85.

list用方括号[ ],tuple用圆括号( ),dict用大括号{ }。tuple和list非常类似,但是tuple一旦初始化就不能修改。

如果要定义一个空的tuple,可以写成():

>>> t = ()

>>> t

dict里key是唯一的,不可变的(字符串,整数),添加一个相同的key之前的会被覆盖,查看key是否存在的方法:1....in...  2.get()

删除:pop() 。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

s=set([1,2,3])  set要借助list来创建  添加add();删除remove()6.

列表生成式List Comprehensions L = [x * x for x in range(10)]

生成器generator:g = (x * x for x in range(10))   将方括号改成圆括号。

如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。我们基本上从来不会用next()来获取下一个返回值,而是直接使用for循环来迭代

def fib(max):

n, a, b = 0, 0, 1

while n < max:

yield b

a, b = b, a + b

n = n + 1

return 'done'7.

可以直接作用于for循环的对象统称为可迭代对象:Iterable 判断用isinstance(...,Iterable)

一类是集合数据类型,如list、tuple、dict、set、str等;

一类是generator,包括生成器和带yield的generator function。

可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator判断用 isinstance(...,Iterator)

生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。

把list、dict、str等Iterable变成Iterator可以使用iter()函数

这是因为Python的Iterator对象表示的是一个数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有数据时抛出StopIteration错误。

8.

module:任何模块代码的第一个字符串都被视为模块的文档注释;

if __name__=='__main__':

test()

当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。

注:在命令行运行时会运行if下的语句,在交互环境里import时则并不会执行if下面的语句9.

类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用。以两个下划线开头的实例变量名,比如__name,这样的实例变量外部是不可以访问的(也不是绝对的)。有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值