Python杂记

函数多参数

  函数可以设置传入多个参数:

  def function(*args)

  def function(**kwargs) 

  args是函数可以传入无索引参数,kwarg是函数可以传入索引参数,即字典。

  如下:

  多出来的无索引参数会在函数中整合为元组放在args中,有索引的参数整合为字典存在kwargs中。

  有索引和无索引的参数要分别排列,不能穿插在一起,不然出错。

多继承时的对父类的初始化

1 class jc(Car,Lunzi):
2     def __init__(self,paizi,xiaohao,year,lz,x):
3         Car.__init__(self,paizi,xiaohao,year)
4         Lunzi.__init__(self,lz)
5         self.x=x
6 a=jc('111','111',111,111,111)
7 print(a.paizi)

   单继承就直接用super就行了,不过用类名也行。

类中的函数一定要添加self参数

  说是为了显式地传递实例。。即使你这个函数并不用self里面的成员变量,还是要加。

set类

  集合,是一种数据类型。里面的元素不会重复,放入相同的元素还是算一个元素。

array提取一部分行、列

  array[[1,2,3,5]],对于如二维数组提取第1、2、3、5行,即第一维的切片。

  array[:,[1,2,3,5]],是提取第二维的1、2、3、5切片。

  array[:,[1,2,3,5]][[2,4]],是先提取第二维的1、2、3、5切片,然后从切片提取第一维的第2、4切片。

  另外,array[i:j:k],表示从i到j,步长为k提取第一维的切片(包含i,不包含j)。

排序

  a.argsort(),返回数组a排序后的索引,因此可以利用这个索引实现二维矩阵按照某列或某行排序。获取排序序列:

  a[a.argsort()]

获取特定列表

  如[max(seq) for seq in train_data]:获取train_data里面每个元素里面的元素的最大值,然后把这些最大值组合成列表。

函数多括号

  函数名也是对象,因此可以返回。返回的函数名再加上括号就可使用这个函数:

1 def b():
2     print("bbbb")
3     return 123
4 def a():
5     return b
6 print(a())      #返回的是b函数对象
7 print(a()())    #b函数对象加上括号就是使用函数b

  输出是:

  <function b at 0x00000206E9711D38>
  bbbb
  123

原文地址:https://www.cnblogs.com/qizhou/p/12177084.html