python学习笔记
海晨威
Growth is a song
展开
-
Python中的NULL和None
与C不同的是,在python中是没有NULL的,取而代之的是None,它的含义是为空,但要注意和空列表与空字符串是不一样的,None的类型是Nonetype >>>a=None>>>type(a)<class 'Nonetype'> 另外,None是没有像len,size等属性的,要判断一个变量是否为None,直接使用 ...原创 2017-07-15 14:40:46 · 94942 阅读 · 10 评论 -
jupyter notebook中新建cell的方法与快捷键
jupyter notebook中,你可能需要在当前cell的上面或下面添加新的cell,通过菜单栏、工具栏和快捷键可以实现菜单栏: 工具栏: 但工具栏中的+号只能在当前cell的下方加新的cell快捷键:在当前cell上方新建cell:A 在当前cell下方新建cell:B注意:大写状态下的A和小写状态下的a都可以快捷键方式都是要在非编辑状态下按下才有用原创 2018-01-19 17:51:51 · 26863 阅读 · 4 评论 -
python函数定义和调用顺序
在函数中调用其他函数,不需要定义在前,调用在后def fun1(a,b): c=fun2(a,b) print(c)def fun2(a,b): c=a+b return c而实际的函数调用执行操作,就一定要先定义后调用def fun3(a,b): c=a+b print(c)fun3(1,2)Life is short,...原创 2018-02-09 22:20:40 · 14539 阅读 · 0 评论 -
Python中pandas dataframe删除一行或一列:drop函数
用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)在这里默认:axis=0,指删除index,因此删除columns时要指定axis=1;inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;inplace=True,则会直接在原...原创 2018-02-10 20:10:25 · 757046 阅读 · 64 评论 -
python中找出numpy array数组的最值及其索引
python中找出numpy array数组的最值及其索引在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引但在numpy中的array没有index方法,取而代之的是where,其又是list没有的首先我们可以得到array在全局和每行每列的最大值(最小值同理)>>> a = np...原创 2018-02-13 16:24:40 · 188129 阅读 · 8 评论 -
Python中预先初始化列表内容和长度
如果想设置相同的初值和想要的长度&gt;&gt;&gt; a=[None]*4&gt;&gt;&gt; print(a)[None, None, None, None]如果想要序列初值,可以用range函数,但注意,range函数返回的是可迭代对象,需要转化成list&gt;&gt;&gt; b=list(range(10))&am原创 2018-03-07 21:11:18 · 84527 阅读 · 0 评论 -
python中&和and的区别及三目运算符的实现
python中&和and的区别及三目运算符的实现&和and的区别python中的&符号延续的了C/C++的含义,指的是位运算而用and来代替C/C++中的&&,来进行逻辑运算,实例如下:>>> print(1 & 2) # 1 的二进制是 01,2的二进制是 10原创 2018-02-14 23:19:35 · 9665 阅读 · 0 评论 -
python 字符相减得到数字
python中没有字符之间的直接相减运算,但可以通过ord()函数实现 ord()函数主要用来返回对应字符的ascii码>>> ord('9')-ord('0')9Life is short, You need Python~...原创 2018-02-18 11:02:51 · 18373 阅读 · 0 评论 -
Python两行实现斐波那契数列及动态规划改进
递归斐波那契数列本质可以看作一个递归,即:Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2)因此有:#递归版Python代码def Fibonacci(n): return n if n < 2 else Fibonacci(n-1)+Fibonacci(n-2)递归代码简单明了,但时间和空间复杂度都较高,尤其是在n较大的情况下...原创 2018-05-11 16:30:37 · 2013 阅读 · 0 评论 -
python中 math模块下 atan 和 atan2的区别
atan 和 atan2 都是反正切函数,返回的都是弧度对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是:angle = atan( (y2-y1)/(x2-x1) )或angle = atan2( y2-y1, x2-x1 )因此可以看出 atan 和 atan2 的区别:1、参数的个数不同;atan ...原创 2018-07-21 16:19:47 · 35461 阅读 · 0 评论 -
matplotlib保存eps出错:'latin-1'codec can't encode characters in position 9-12:ordinal not in range(256)
原因:保存路径含有中文。matplotlib保存eps的两种方法: 1. 图片右上角保存按钮 2. 代码方式out_fig = plt.gcf()out_fig.savefig('out.eps', format='eps', dpi=1000)原创 2018-07-28 10:47:53 · 1379 阅读 · 0 评论 -
超实用可执行程序-PDF文字复制后的回车符去除和谷歌百度英汉翻译-python GUI
超实用python程序-PDF文字复制后的回车符去除和谷歌百度英汉翻译超实用python程序-PDF文字复制后的回车符去除和谷歌百度英汉翻译痛点界面与功能功能详细说明:过程记录代码和组件分析exe程序生成记录结语痛点PDF文档文字复制会包括回车符,使得文字粘贴和翻译都不方便,尤其是对于双栏的PDF。界面与功能以下为详细说明和...原创 2018-08-21 17:03:57 · 4264 阅读 · 8 评论 -
python pandas中 inplace 参数理解
pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 inplace = True:不创建新的对象,直接对原始对象进行修改; inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。例:inplace=T...原创 2018-10-04 15:40:07 · 87262 阅读 · 1 评论 -
python绘制带误差线的条形图
绘制格式:plt.bar(index, values, yerr = std, error_kw = {'ecolor' : '0.2', 'capsize' :6}, alpha=0.7)yerr关键字参数:可传入包含标准差的列表error_kw={} , 接收显示误差线的关键字函数eColor:指定误差线的颜色capsize :指定误差线两头横线的宽度alpha:控制彩色条状图的...原创 2018-11-01 19:31:26 · 14293 阅读 · 1 评论 -
for循环中的循环次数无法更改,可用while实现
先看一个实例(以下代码在python环境下):array=[3,4,5]for i in range(len(array)): array.append(i) print(i)print(array)在假想for循环的循环次数会改变时,那上述代码将随着array的不断加长而变成一个死循环,但实际运行的结果是012[3, 4, 5, 0, 1, 2]结果说明原创 2018-01-30 18:54:14 · 8645 阅读 · 1 评论 -
Python中数组按行存储,与Matlab不同
数组因为是线性结构,因此在内存中都是顺序存储的,但按行存储还是按列存储,不同语言有不同的规定。matlab是按列存储的,而C/C++和python是按行存储的 。原创 2018-01-02 19:44:57 · 6592 阅读 · 1 评论 -
Python+opencv出错
Python+opencv读取图片出错:cv2.error: D:\Build\OpenCV\opencv-3.3.0\modules\highgui\src\window.cpp:333: error: (-215) size.width>0 && size.height>0 in function cv::imshow错误原因:放在当前文件夹下的图片文件名不能包含中文原创 2018-01-02 17:44:00 · 6746 阅读 · 2 评论 -
Python 下socket编程地址被占用问题:Address already in use
当我们开始学socket编程时,在ctrl+c结束服务器端程序后,再次启动运行程序会出现Address already in use这个错误,过几分钟运行或重启后运行又好了,那是因为操作系统会在服务器socket被关闭或服务器进程终止后会将该端口保留几分钟,而要解决该问题,可以在socket定义之后加上下面这句话: s.setsockopt(socket.SOL_SOCKET,socke...原创 2017-07-16 11:00:46 · 9827 阅读 · 3 评论 -
Python 全局变量与global关键字
Python 全局变量之谜 在Python的变量使用中,经常会遇到这样的错误:local variable 'a' referenced before assignment它的意思是:局部变量“a”在赋值前就被引用了。原创 2017-07-25 19:34:39 · 176256 阅读 · 5 评论 -
间接修改Python字符串元素的三种方法
Python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的,如:str1="string"str1[2]='x'想要直接修改字符串的第三位,报出如下错误: TypeError:'str' object does not support item assignment但是,对字符串重新赋值是可以的,如:str1="string"str1...原创 2017-08-08 19:16:59 · 14520 阅读 · 2 评论 -
树莓派中用python检测连续脉冲
在制作树莓派小车过程中,需要对轮子进行测速,采用的是马达+霍尔传感器的形式,小车运动的同时,霍尔传感器输出连续脉冲,即可通过检测脉冲的数量计算小车的速度,前行的距离等等。原创 2017-08-03 19:09:58 · 11846 阅读 · 10 评论 -
Python中split函数的用法
Python中split函数的用法作者:hjhsysu 原地址:http://www.cnblogs.com/hjhsysu/p/5700347.htmlPython中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分转载 2017-08-13 17:25:05 · 3388 阅读 · 0 评论 -
树莓派python编程有中文注释就报错:SyntaxError: Non-ASCII character
py文件首行加上此句:#coding=utf-8人生苦短,我用python~原创 2017-07-15 14:47:05 · 6377 阅读 · 0 评论 -
python多线程编程:简介-创建-方法-通信
python多线程编程,包括:简介-创建-方法-通信和示例程序转载 2017-08-24 11:43:16 · 371 阅读 · 0 评论 -
python中的size,shape,len,count
python中的size,shape,len,count原创 2017-09-24 21:21:42 · 90911 阅读 · 1 评论 -
python中数组和列表读取一列的方法
python中数组和列表读取一列的方法 在python中,普通的列表list和numpy中的数组array是不一样的,最大的不同是:一个列表中可以存放不同类型的数据,包括int、float和str,甚至布尔型;而一个数组中存放的数据类型必须全部相同,int或float。 在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据原创 2017-09-27 10:19:01 · 173856 阅读 · 6 评论 -
Python中输入一个以空格为间隔的数组
很多时候要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下:>>> str_in = input('请以空格为间隔连续输入一个数组:')然后在键盘中输入比如:123 456 789 111 222 以回车结束输入得到的str_in为一个字符串,要将其转为一个列表有两种方法原创 2017-10-25 16:24:22 · 37946 阅读 · 2 评论 -
Python中pandas的DataFrame按特定的list顺序排序—reindex函数
如果一个DataFrame的index乱了,按正常的sort_index无法排序,则可以用reindex函数原创 2018-01-02 17:26:06 · 7121 阅读 · 0 评论 -
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换
Numpy matrix 必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND),matrix是Array的一个小的分支,包含于Array。原创 2018-01-02 17:39:12 · 13219 阅读 · 0 评论 -
pandas中遍历dataframe的每一个元素
假如有一个需求场景需要遍历一个csv或excel中的每一个元素,判断这个元素是否含有某个关键字那么可以用python的pandas库来实现。方法一:pandas的dataframe有一个很好用的函数applymap,它可以把某个函数应用到dataframe的每一个元素上,而且比常规的for循环去遍历每个元素要快很多。如下是相关代码:import pandas as pddata = [[...原创 2019-01-27 20:27:50 · 31578 阅读 · 3 评论