python int64_Python学习笔记——部分常用/特殊用法

1、使用*号来展开序列,*是序列展开,每个元素都当做一个参数。

ls = (1, 2, 3);

foo(ls),这样foo只有一个参数,就是ls这个列表本身

foo(*ls), foo得到3个参数,分别为1 2 3,等价于foo(1,2,3)

2、python 读写文件中w与wt ; r与rt 有何区别?

't' 表示‘text mode’, 相对应的是"binary mode'

就是说你是以文本模式打开,还是二进制模式打开。因为默认就是文本模式,所以'rt' 等价于'r'

3、int64与int的区别?

1)int是python的基本类型,而int64是numpy中引入的一个类,即 numpy.int64;

2)使用numpy模块中的numpy.sum()方法得到的结果是int64,而使用默认的sum()得到结果的int类型;

下面代码中,虽然执行结果a和b的数值都是6,但是类型不同

1 importnumpy as np2 #a 的类型是int64

3 a = np.sum([1,2,3])4 #b 的类型是int

5 b = sum([1,2,3])

3)int64不会报除0的错误(事实上numpy中的其他类型也不会报错,比如float64等);而int会报除0错误(其他基本类型也会,比如float等)

测试如下:表明numpy 的数据类型(int64、float64等)比python的基本类型(int、float等)功能强大,计算能力更强,可以有nan、inf等结果

1 importnumpy as np2 #-------- int 例子 -------------

3 #也可以写int(1),也可不写,因为默认是int类型

4 a = 1

5 b =06 c =07

8 #下面都会报 int 不能除0错误

9 r1 = a /b10 r2 = b /c11 #下面都会报 float 不能除0错误

12 r3 = a *1.0 /b13 r4 = b *1.0 /c14

15 #--------- int64 例子 -----------

16

17 a = np.int64(1)18 b =np.int64(0)19 c =np.int64(0)20

21 #下面语句不会除0报错,会提示,但不报错和中断

22 #运行结果: r1 = 0 , r2 = 0

23 r1 = a /b24 r2 = b /c25

26 #运行结果: r3 = inf ,r4 = nan

27 #inf 表示无穷大,nan表示not a number ,不是数字

28 r3 = a *1.0 /b29 r4 = b *1.0 / c

4、type()函数可用于返回某个数据的数据类型;

1 a = 1

2 type(a)

5、& 跟 and 的区别?

& 是位运算;and 是逻辑运算。

>>> a = 1

>>> b = 2

>>> #1 的二进制是 01,2的二进制是 10

>>> a&b

0>>> a andb2

&虽然是位运算,但是如果操作数是0或1的话,也类似于逻辑运算;

>>> a=1

>>> b=1

>>> c=0>>> a &b1

>>> a &c

0

6、Lambda 表达式有何用处?如何使用?

【引言】这是python支持一种有趣的语法,它允许你快速定义单行的最小函数(请记住它本质就是个函数),类似C语言中的宏,可以用在任何需要函数的地方,示例如下:

>>> g = lambda x: x * 2

>>> g(3)

6

>>> (lambda x: x * 2)(3)

6

我们也可以把filter map reduce 和lambda结合起来用,函数就可以简单的写成一行。例如

>>>kmpathes = filter(lambda kmpath: kmpath, map(lambda kmpath: string.strip(kmpath), string.split(l, ':')))

看起来麻烦,其实就像用语言来描述问题一样,非常优雅。

对 l 中的所有元素以':'做分割,得出一个列表。对这个列表的每一个元素做字符串strip,形成一个列表。对这个列表的每一个元素做直接返回操作(这个地方可以加上过滤条件限制),最终获得一个字符串被':'分割的列表,列表中的每一个字符串都做了strip,并可以对特殊字符串过滤。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:涛吴

链接:http://www.zhihu.com/question/20125256/answer/14058285

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值