2018-05-21

2018-05-21  本文已影响0人  逃淘桃

theano


python


  1. python中的*args**kwargs
    首先我们应该知道,并不是必须写成*args**kwargs,变量前的*是必须的,可以写成*var**vars,而写成*args**kwargs只是一个通俗的命名约定。
    *args**kwargs主要用于函数定义,可以将不定量的参数传递给一个函数。
    *args用来发送一个非键值对的可变数量的参数列表给一个函数。
    **kwargs允许将不定长度的键值对作为参数传递给一个函数,如果想在一个函数里处理带有名字的参数,应该使用**kwargs

2.python中内建函数isinstance的用法以及与type的区别
语法:isinstance(object, classinfo);用来判断对象类型。其中,object是变量,classinfo是类型即(tuple,dict,int,float,list,bool等)和class类,如参数object是classinfo类的实例,或者object是classinfo类的子类的一个实例,返回True,若object不是给定类型的实例,则返回结果总是False。若classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
isinstance和type都可用来判断对象类型,但是对于一个class类的子类对象类型判断,type就不行,而isinstance可以。

3.python中子类调用父类的方法,super().__init__():

  形式:
class A(object):
  def __init__(self, xing, gender):
    self.namea = 'aaa'
    self.xing = xing
    self.gender = gender
  def funca(self):
    print("function a :%s" %self.namea)
class B(A):
  def __init__(self, xing, age):
    super(B,self).__init__(xing, age)
      self.nameb = 'bbb'
      self.xing = xing.upper()
      self.age = age + 1
  def funcb(self):
    print("function b: %s"%self.nameb)
b = B("lin", "man", 22)
print(b.nameb)
--->>bbb
print(b.namea)
---->>aaa
print(b.xing)
--->>LIN
print(b.age)
--->>23
b.funcb()
--->>function b: bbb
b.funca()
--->>function a: aaa
print(b.gender)
--->>22

通过验证,可以得出以下结论:

>>>"{} {}".format("hello", "world")  #不设置指定位置,按默认顺序
'hello world'

>>>"{0} {1}".format("hello", "word")  #设置指定位置
'hello world'

>>>"{1} {0} {1}".format("hello","world")  #设置指定位置
'world hello world'

也可以设置参数:

print("这是一个: {test_name},作者是:{author}".format(test_name="test", author="sherry"))
--->>这是一个:test,作者是:sherry

也可以通过列表索引设置参数

my_list = ['test', 'sherry']
print("这是一个:{0[0]},作者是:{0[1]}".format(my_list))  #"0"是必须的
--->>这是一个:test,作者是:sherry

Numpy

  1. numpy.prob:
    numpy.prob(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)
    返回给定轴上的数组元素的乘积。
    Notes:
    当使用整数类型时,算术是模块化的,在溢出时不会产生错误,如:
x = np.array([536870910, 536870910, 536870910, 536870910])
np.prod(x)
--->>16

空阵列的prod是元素1:

np.prod([])
--->>1.0

Examples:
默认情况下,计算所有的元素的乘积:

import numpy as np
print(np.prod([1., 2.]))
--->>2.0

即使输入数组是二维的:

a = np.prod([[1., 2.], [3., 4.]])
print(a)
--->>24.0

但是我们也可以指定要乘以的轴:

b = np.prod([[1., 2.], [3., 4.]], axis=1)
print(b)
--->>array([2., 12.])

如果x的类型是无符号的,那么输出类型是无符号整数:

x = np.array([1, 2, 3], dtype=np.uint8)
print(np.prod(x).dtype == np.uint)
--->>True

如果X是有符号整数类型,那么输出类型是默认的有符号整数:

x = np.array([1, 2, 3], dtype=np.int8)
print(np.prod(x).dtype == int)
--->>True
上一篇 下一篇

猜你喜欢

热点阅读