
和python在一起的日子
文章平均质量分 52
很多学习python中的点点滴滴记录。文章只讨论单纯的python语言和编程的技巧,没有其他。
钱塘小甲子
不懂控制的歌手不是好的投资者,不会TCM的coder不是好的FRM
展开
-
python程序的pypy加速
我们知道,python作为一种几乎是脚本语言的语言,其优点固然有,但是其有一个最大的缺点,就是运行速度没有办法和c,c++,java比。最近在些一些代码的时候也是碰到了这样的问题。具体而言,python想提速度,基本思路是两个,有个就jit技术,在python中比较好用的就是pypy;另外一种就是先分析代码速度瓶颈,然后把性能瓶颈用c或者别的语言写成模块,让python调用。后面一种方法其实也存在原创 2017-09-24 18:54:26 · 9965 阅读 · 1 评论 -
python的numba加速
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx 之前笔者写过一个pypy的加速方法,可以参阅笔者之前的文章:http://blog.youkuaiyun.com/qtlyx/article/details/7...原创 2017-11-20 20:41:20 · 13245 阅读 · 5 评论 -
Python中的修饰函数
首先,什么是函数修饰符?函数修饰符就是对原有函数做一层包装。比如有以下两个函数:复制代码def func1(): print 'I am function func1'def func2(): print 'I am function func2'现在我们想为这两个函数增加一段共同的操作,这时就可以使用函数修饰符。首先我们定义一个修饰函数,先不做任转载 2015-12-22 15:21:10 · 1146 阅读 · 0 评论 -
Python微悟(一)
1.容器python的基本容器可以分为五类,其中list、tuple、string属于序列,因为他们的index是位置,存在有顺序这样一个概念,而字典Dict则是键值对的形式存在,没有顺序的概念,他的键(Key)就相当于是序列的Index。2.函数的参数问题定义变参数函数有时需要定义参数个数可变的函数,有几个方法可以做到:给参数指定默认值比如原创 2015-12-22 16:12:38 · 976 阅读 · 0 评论 -
python的拉链(zip)
python中有一个zip,也就是拉链,那我们来理解一下吧。>>> a = [1, 2, 3]>>> b = ['a', 'b', 'c']>>> z = zip(a, b)>>> z[(1, 'a'), (2, 'b'), (3, 'c')]>>> zip(*z)[(1, 2, 3), ('a', 'b', 'c')]我们把list当做列向量来看就很好理解了,zip就是拉链,把一原创 2016-03-08 20:47:37 · 1978 阅读 · 0 评论 -
python的一些细节(1)
定义函数时候的默认值def cube(x=5,y)如此,则参数x的默认值是5,当条用的时候没有定义x的值,程序就会默认为5.python的格式化字符‘1%c1%c%d’%(‘+’,‘=’,2)很类似与c语言中printf,不过python中就更加简化了。以大写字母R或小写字母r开头的如r‘e:\book’叫做原始字符串读取文件的三个方法read()整个文件原创 2016-04-21 20:39:26 · 845 阅读 · 0 评论 -
字符编码的故事,uft8,Unicode。
在知乎上看到的,然而也不是答主自身的,感谢原作者。 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。转载 2016-05-04 10:29:12 · 1136 阅读 · 0 评论 -
深入浅出Python装饰器
python有一种机制,叫做装饰器。顾名思义,就是在你写的函数运行之前做一点装饰。先来看第一个,内部函数。1.内部函数def fun(): def inter_fun(): x=9 return "x is big" return inter_funf= fun()这是一个很简单的例子,想想我们调用函数fun()的时候会发生什么?对,原创 2016-05-24 22:30:18 · 694 阅读 · 0 评论 -
python中,list转str
在python中,经常会有需要把list转成一个字符串的情况。比如['you','are','freak']。怎么把它变成“you are freak”呢? python的str类型有一个方法,叫做join,作用就是把原str作为间隔,插入到list中的每一个str元素中。所以, ' '.join(li) 返回的就是'you are freak'。这个过程原创 2016-05-31 19:44:56 · 2200 阅读 · 1 评论 -
python的一些细节(2)
想想自己写了这么久的python,其实基础的东西还是不扎实,重新学习一下廖雪峰老师的教程,有很多之前未知或者有疑惑的东西得到了解答。1.字符编码问题ASCII编码是1个字节,而Unicode编码通常是2个字节,utf-8则是1-6个字节。同时utf-8中对英文字母的编码就是ASCII码。python中u"XXX"代表的是这个字符串是Unicode编码的,而"XXX"则是utf-8编码。原创 2017-05-27 17:17:01 · 652 阅读 · 0 评论 -
python性能优化(1)
为什么要分析性能:运行速度如何?性能瓶颈在哪里?有什么改进方案?linux当中的time命令,real与user+sys的比值反映了程序是重IO还是重计算。如果两者很接近,比值几乎为1,那么就是重计算。原生调用与递归调用少造轮子,有的库是在c level实现的,比自己写快长用join,短用+cpython与cython不同还有pypy,使用了JIT技术,原创 2017-06-16 20:48:28 · 925 阅读 · 0 评论 -
python中logger日志模块的使用
一般,我们做一些简单的状态输出都会用print,但是这是最简单的情况下使用的工具。当我们的程序比较复杂的时候,我们会使用日志文件,特别是程序运行的时间特别久,中间可能存在一些问题,需要后面来看的时候。 所以,python自带了一个很有用的库,logger,也就是日志记录。 使用起来还是很方便的。#!/usr/bin/env python# -*- codi原创 2017-07-24 20:39:11 · 9312 阅读 · 0 评论 -
Python的诡异陷阱
编程的人,特别是学过c语言,使用过很长时间c的人,都会觉得,python这种语言跟matlab一样,没什么内涵,很easy。一开始也是这么想的,那是慢慢的,越来越觉得,人生苦短,我用python的理念其实不对。python完成一些小制作是很easy的事情,但是真正要成为一种工具,其实还是要考虑很多事情。近期实习的过程中,这种感觉越来越强烈了。 python看起来简单,其实内涵很复原创 2017-07-29 22:40:52 · 2759 阅读 · 0 评论 -
python的一些细节(3)
1.python逻辑判断式的连续判断x = 2if 3 > x > 1: print xif 1 0: print x2.list转dict,其实是字典的推导式teams = ["Packers", "49ers", "Ravens", "Patriots"]print {key: value for key, value in enumerate(teams)原创 2017-07-29 23:55:38 · 595 阅读 · 0 评论 -
python的三种字符串格式化方法
刚入门python的同学,特别是,没有系统的学习过python,而是学过别的语言,直接上手python的同学,怕是还不是很了解python强大的字符串格式化方法1.最方便的print 'hello %s and %s' % ('df', 'another df')但是,有时候,我们有很多的参数要进行格式化,这个时候,一个一个一一对应就有点麻烦了,于是就有了第二种,字典形式的。上面那种是原创 2017-08-11 20:29:56 · 20632 阅读 · 1 评论