Python杂记

一.函数

1.numpy 模块中的nonzero函数

nonzero返回的数非零元素的下标。

如果输入是单维度的时候它的返回值只有一个;如果输入是多个维度的话,那么它的返回值也是多个维度的。并且的它的每个维度的值表示的是非零元素在当前维度中的下标。

i.e
a = [true, flase, flase]

nonzero(a)

那么此时的它的返回值应该是((0))

a=matrix[[1,0,0],[0,1,0],[0,0,1]]

nonzero(a)

那么此时它的返回值应该是((0,1,2),(0,1,2)),可以看到此时返回了两个参数,其实这两个参数就表示两个维度中(对应于a中的纵坐标和横坐标)对应的非零元素的下标。比如第0行第0列的是非零元素,也就是第一个维度的下标为0,第二度维度的下标也为0,所以可以看到返回的两个参数中的第一个值都是0。(1,1),(2,2)的结果同理。

2.hasattr,setattr,getattr的区别

hasattr(object, name):判断object是否含有name属性,返回boolean值,有的话是true,否则为false

setattr(object, name, value):设置object 的name属性为value值

getattr(object, name[,defalut]):获取object的name属性的值(如果存在这个属性的话,就获取它的值,不存在这个值的话,有default值就返回default值。没有的话就为缺省值)

二.符号

在python 中'//'表示整数除法

i.e:

3.0/2:

1.5

3.0//2:

1.0

三.错误与异常

1.预定义理行为

我们知道在打开一个文件之后要及时的关闭文件,为了避免忘记文件的关闭,我们可以进行预定义清理行为

//dangerous method

for line in open(filename):
    print(line)

// safe method

with open(filename) as f
    for line in f:
        print(line)
原文地址:https://www.cnblogs.com/whatyouknow123/p/6732037.html