关于python的小零碎

虽然天天都用python,但仔细想想自己对python也没啥了解…pytorch代码都是从github上东抄抄西抄抄然后自己改的,在写其他python代码的时候也是随时百度谷歌…这要是面试的时候问起来python的一些细节答不出来太丢人了啊!此博客用来记录python这个语言的一切,随时补充。

1. Python和其他语言的区别

  • Python是解释型语言。这意味着不像C和其他语言,Python运行前不需要编译。
  • Python是动态类型的,这意味着你不需要在声明变量时指定类型。你可以先定义x=111,然后 x=”I’m a string”。
  • Python是面向对象语言,所有允许定义类并且可以继承和组合。Python没有访问标识如在C++中的public, private, 这就非常信任程序员的素质,相信每个程序员都是“成人”了~
    python中的类定义:
class Employee:
   empCount = 0
 
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print "Total Employee %d" % Employee.empCount
 
   def displayEmployee(self):
      print "Name : ", self.name,  ", Salary: ", self.salary
  • 在Python中,函数是一等公民。这就意味着它们可以被赋值,从其他函数返回值,并且传递函数对象。类不是一等公民。下面详细解释一下Python中的函数对象。

函数也是一个对象,具有属性。作为对象,它还可以赋值给其它对象名,或者作为参数传递。

  • Lambda表达式:
    func = lambda x,y: x + y
    print func(3,4)
  • 函数作为参数传递:
    def test(f, a, b):
    print 'test'
    print f(a, b)
    test(func, 3, 5)
  • map()函数:
    map()是Python的内置函数。它的第一个参数是一个函数对象。
    re = map((lambda x: x+3),[1,3,5,6])
  • filter()函数:
    def func(a):
    if a > 100:
    return True
    else:
    return False
    print filter(func,[10,56,101,500])
  • Python跑起来会比编译型语言慢。幸运的是,Python允许使用C扩展写程序,所以瓶颈可以得到处理。Numpy库就是一个很好例子,因为很多代码不是Python直接写的,所以运行很快。

python生成随机数
  • 随机整数
  • random.randint(a,b):返回随机整数x,a<=x<=b
  • random.randrange(start,stop,[,step]):返回一个范围在(start,stop,step)之间的随机整数,不包括结束值。
  • 随机实数
  • random.random( ):返回0到1之间的浮点数
  • np.random.randn(10000):生成10000个符合标准正态分布的随机数;np.random.randn((2,4)):生成矩阵大小为(2,4)的标准正态分布随机数。

猜你喜欢

转载自blog.csdn.net/weixin_41332009/article/details/113839541
今日推荐