
Python
Yolandera
这个作者很懒,什么都没留下…
展开
-
Python-错误与异常处理
Python 有两种错误类型 1 语法错误(Syntax Errors) 2 异常(Exceptions)语法错误就不说了 关于异常处理: 用Try … Except 首先try 和 except 之间的代码首先被执行,如果没有异常,则except语句将会被忽略,如果出现异常,则try下的语句将会被忽略,直接跳转到except下的语句. 如果异常出现但不是excep...原创 2018-05-21 17:06:30 · 827 阅读 · 0 评论 -
Numpy 中的线形代数模块
主要为将来的张量(Tensor)计算打基础NumPy 包包含numpy.linalg模块,提供线性代数所需的所有功能,主要功能有下dot 两个数组的点积vdot 两个向量的点积inner 两个数组的内积matmul 两个数组的矩阵积...原创 2018-05-15 11:42:13 · 631 阅读 · 0 评论 -
Python - 闭包(closure) 装饰器(decorator)
属于Python高阶部分,较难理解,看了多篇博客和教学视频,总结如下: 一 闭包(closure) 函数内的属性都是有生命周期的,都是在函数运行期间 内部函数对外部函数作用域变量的引用二 装饰器(decorator)...原创 2018-05-22 11:44:25 · 516 阅读 · 0 评论 -
python - permutations()/combinations()
排列和组合 在itertools工具包下,使用前要先导入>>> import itertools>>> a = [1, 2, 3]>>> b = itertools.permutations(a)>>> b<itertools.permutations object at 0x106d4fb48>原创 2018-05-28 16:49:29 · 864 阅读 · 0 评论 -
Python - 推导式
比较常见的有列表推导式和字典推导式,下面举例说明 1 列表推导式 格式: [表达式 for value in iterable if 条件语句]所有从这个for循环出来的数据都会先经过if语句过滤,然后执行前面的表达式,最后重新返回一个列表,过滤条件可有可无.>>> mylist = [1,2,3,4,5]>>> new_list = ...原创 2018-05-24 00:27:54 · 206 阅读 · 0 评论 -
Python - 可迭代对象/迭代器/生成器
一 可迭代对象 Iterable 它包含一个__iter__()或__getitem__()方法,一般来说,只要提供了__iter__()方法都是iterable(字符串str没有__iter__(),但实现了 __getitem__()方法 )二 迭代器对象 Iterator Python3.x 的特色,与Python2.x相比很多函数的返回值类型改成了Iterator...原创 2018-05-30 10:53:21 · 269 阅读 · 0 评论 -
Python-zip 函数
矩阵运算里面用到的比较多 用法:zip([iterable, ...])将可迭代对象中的元素依次打包,组成一个个的元组,然后返回这些元组组成的可迭代对象.若有长度不等的几个参数,按元素最少的为准list1 = [1, 2, 3]list2 = [4, 5, 6]list3 = [7, 8, 9]x = zip(list1, list2, list3)print(x)...原创 2018-06-06 17:48:10 · 214 阅读 · 0 评论 -
python-range()
关于range()用法以前不知道的for x in range(2,5)[::-1]: print(x)#输出432for x in range(4,1,-1): print(x)#输出432两种不同形式的迭代结果是一样的.原创 2018-06-07 11:11:26 · 293 阅读 · 0 评论 -
Python-eval 函数
eval() 是python的一个内置函数,功能还是很强大的: 将字符串string对象转化为有效的表达式参与求值运算返回计算结果 语法: eval(expression,globals=None, locals=None) 返回的是计算结果 expression是一个参与计算的python表达式 globals是可选的参数,如果设置属性不为None的话,就必须是dictionary对...原创 2018-05-31 21:11:30 · 528 阅读 · 0 评论 -
Python-字符串反转
一 字符串切片(简洁)res = s[::-1]二 借助listt的reverse()1.先将字符串转换成list2.使用list的reverse函数3.使用join函数将列表中元素组合成一个字符串l = list(s)res = "".join(l.reverse())三 使用reduce函数result = reduce(lambda x,y:y+x,s...转载 2018-09-06 09:35:56 · 573 阅读 · 0 评论 -
Python ASCII码与字符相互转化
先复习下ASCII A —— 65 a —— 97ASCII码 转化成 字符: chr():直接用转换函数,注意是chr()不是char()>>> print(chr(66))B字符转换成ASCII码 使用ord()函数>>> print(ord('c'))99...原创 2018-09-06 10:01:02 · 2782 阅读 · 0 评论 -
Python 二维列表与一维列表的互相转化
二维列表转化为一维列表1.tkinterfrom tkinter import _flattena = [[1, 2], [3, 4]]print(list(_flatten(a)))[1, 2, 3, 4]2 itertoolsfrom itertools import chaina = [[1, 2], [3, 4]]print(list(chain.from_itera...转载 2018-09-25 23:52:54 · 50056 阅读 · 4 评论 -
Python 二维数组排序
多维数组的排序之前在matlab上面想了好久。用python实现很简单:a = [[2,3,4], [2,4,5],[3,3,4]]sorted(a, key=lambda x: (x[1], x[0]))print(a)[[2, 3, 4], [2, 4, 5], [3, 3, 4]]...原创 2018-09-25 23:56:58 · 8576 阅读 · 2 评论 -
Python 统计字符串各个字符的个数
转#统计字符个数resoult={}for i in str: resoult[i]=str.count(i)print(resoult)转载 2018-09-29 00:24:46 · 7179 阅读 · 1 评论 -
Python - 安装环境管理
其实用Anaconda管理环境非常方便这里展示了用Anaconda可视化界面管理Python环境和用命令行管理Python环境注: 以下只针对windows操作系统一 可视化界面下面是个熟悉的界面,有关环境的常见操作就在方框内,分别为1 新建2 克隆3 导入4 删除二 命令行1 查看当前所有环境2 切换环境比如当前是base环境,把它切换到DL环境3 切换回来4...原创 2018-12-13 16:46:13 · 432 阅读 · 0 评论 -
Python - 包管理(包含镜像设置)
上一篇博客简要介绍了用anaconda辅助管理Python环境这一篇进一步介绍常见的包管理一 conda 和 pip如今最常见的两种包管理工具。1)pip是专门安装python包的工具,conda是Anaconda的包管理器,不仅可以管理包,还可以管理环境等等2)pip是从源代码安装的,所以如果你无法编译源代码,那么安装它可能会很痛苦(这在Windows上尤其如此,但如果软件包有一些困难...原创 2018-12-13 19:19:19 · 628 阅读 · 0 评论 -
Python-numpy-高级索引
在做张量运算的时候经常会用到索引,这里记录一下numpy包中的ndarray中的高级索引 1 整数索引 对于矩阵,有行索引,列索引import numpy as npa = np.array([[1,2,3], [4,5,6],[7,8,9]])b = a[[0,2],[0,2]]c = a[1,2]print(a)print(b)print(c)#输出[[1 2 3...原创 2018-05-14 16:40:40 · 4111 阅读 · 0 评论 -
张量(矩阵)乘积
关于张量里面的积有太多形式了,这里终结一下,并用Python实现 1 矩阵乘积 (matmul product) 设A为m*p的矩阵,B为p*n 的矩阵,那么称m*n的矩阵C为矩阵A与B的乘积, 记作 C = AB 其中矩阵C中的第 行第 列元素可以表示为: 这里写代码片2 哈达马积 (hadamard product) m*n矩阵 A 与m*n矩阵 B 的Hadam...原创 2018-05-14 15:25:58 · 35559 阅读 · 3 评论 -
python2和python3的区别(不断更新)
目前百度回答或网上的教程使用Python2.x的比较多,但直接copy代码会显示错误;故将遇见的python3.x的改动总结一下: 更新日期:2018.3.23 一到2018年12月31日为止,所有的NumPy版本都将完全支持Python2和Python3。 从2019年1月1日开始,任何新的功能版本都只支持Python3。 2020年1月1日,我们将结束对Python2支持版本最后的社...原创 2018-03-23 12:02:10 · 3062 阅读 · 0 评论 -
python-map()/reduce()
最近刷leetcode,发现使用map()/reduce()这两个函数往往可以四两拨千金.但是使用起来却不简单,记录下来,免得忘记. 一 map(): 形式是map(function, sequence) 接受两个参数,第一个是函数,第二个是个可迭代对象.返回也是一个可迭代对象 第二个对象的元素依次带入第一个函数里面进行计算:def func(x): return x*x...原创 2018-03-27 16:44:29 · 298 阅读 · 0 评论 -
python-pop()-remove()-del()
1、pop()是字典dict或列表list的方法 list.pop():删除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 用法:list.pop(obj=list[-1]),参数是索引. dict.pop():删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 用法:dict.pop(key[,default]) 例如:...原创 2018-03-27 17:05:12 · 1107 阅读 · 0 评论 -
Python-sort()/sorted()
sort 与 sorted 区别:1 sort()是列表list的方法之一 L.sort(key=None, reverse=False)2 sorted() 函数可以对任意可迭代对象排序。 sorted(iterable,key=None,reverse=False) key接受一个函数,这个函数只接受一个元素,用于从每个元素中提取一个用于比较的关键字...原创 2018-04-10 21:42:00 · 379 阅读 · 0 评论 -
python-列表与字符串互换
1 列表转换成字符串,用join()方法:>>> str = ['1','2','4']>>> print(''.join(str))1242 字符串转换成列表,用split()方法:>>> str = 'Hello,World!'>>> print(str.split(','))['Hello',...原创 2018-04-10 22:07:37 · 904 阅读 · 0 评论 -
python-split()/join()/strip() 方法
1 字符串的spilt() 方法 str.split(str="", num=string.count(str))str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num – 分割次数。 返回是一个列表str = "this is string example....wow!!!"print (str.split( ))print ...原创 2018-04-10 22:14:16 · 542 阅读 · 0 评论 -
if __name__ == '__main__'
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行;当模块是被导入时,代码块不被运行。也就是说,通过__name__的值,我们可以判断出该模块是作为脚本正在执行还是被其他模块导入,而根据这个判断,我们就可以选择性地执行代码。将只有模块作为脚本执行时的代码放入到 if __name__...转载 2018-04-20 10:38:44 · 186 阅读 · 0 评论 -
python - 关于pycharm选择运行环境
一直用pycharm写代码 一直用anaconda管理python环境 但是今天我居然发现我不会更改pycharm当前的运行环境到我新建的anaconda environment中!配置: 系统: win10; GPU:NVIDIA GeForce GTX 1050 Ti 管理平台:anaconda3 IDE:Pycharm问题 我的anaconda里面有三个环境,第一个是自...原创 2018-05-08 22:37:35 · 50379 阅读 · 1 评论 -
Tensorflow-gpu 安装
网上一大堆,但真不一定按照其他博客上的方法一步一步来就能成功的,所以在此记录我的方法(也是走了不少弯路)1 准备: python3.5;anaconda;2 安装tensorflow-gpu 直接进入DL环境: 安装过程没问题,但是运行代码的时候会提示少cuda,注意看自己少的版本号,我的是cuda9,所以接下来再下载cuda3 cuda9.0下载并安装 我用迅雷下载的...原创 2018-05-09 10:40:41 · 238 阅读 · 0 评论 -
python 中 “is” 和 “==”
看了别人的博客,自己实践一下,记录下来。 例子1: “is” 是比较a 和 b是不是指向同一个内存单元,而“==”是用来比较a 和 b指向的内存单元中的值是不是相等。例子2: 与上面的例子相比,只是a 和 b的值变了,居然结果不同了,a 和 b 的地址居然是一样的! 原因是 python的垃圾回收机制有一个小整数对象池存储了 [-5,256] 的整数,程序要用这个区间的整数就会...转载 2018-05-09 20:53:03 · 289 阅读 · 0 评论 -
python find() 和 index() 方法
1 find() 方法 字符串方法str.find(str, beg=0, end=len(string))检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。a = 'Hello,World'print(a.fi...原创 2018-05-10 11:16:26 · 41501 阅读 · 0 评论 -
python 深浅拷贝
面试会闻到的问题 1 赋值: 在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。 2 浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制. 3 深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象...原创 2018-05-11 11:37:45 · 202 阅读 · 0 评论 -
Python append(),extend(),insert() 的区别
都是List的方法,用于添加元素到列表当中. 1 append()list.append(obj)我用得最多,简单直接,将参数作为一个对象添加到列表最后,只接受一个参数.a = [1,2]a.append(('b','c'))print(a)#输出[1, 2, ('b', 'c')]2 extend()list.extend(seq)列表末尾一次性追加另一个序列...原创 2018-05-13 16:48:25 · 3527 阅读 · 1 评论 -
Python - 包管理(番外)
上一篇介绍了用conda来安装python第三方库,下载地址是国内的镜像,如果没有就用pip安装。但也有种情况pip也没有的怎么办?或者说通过pip安装的版本过低。我就以我遇到的情况为例详细介绍处理方案。。一 问题说明我的anaconda->environment中有三个环境,这个在环境管理那篇博客中已经展示了。但是我的TD环境下用pip下载的tensorly包是0.4.2版本的,而...原创 2018-12-14 15:28:56 · 328 阅读 · 0 评论