python namedtuple
摘要:python standard library介绍了一个叫做namedtuple的东西:__author__ = 'sfesly'import collectionsPerson = collections.namedtuple('Person', 'name age gender')print('...
阅读全文
numpy中的broadcast
摘要:关于broadcast,官方文档描述如下:Each universal function takes array inputs and produces array outputs by performing the core function element-wiseon the inputs. ...
阅读全文
python3中输出不换行
摘要:python2中输出默认是换行的,为了抑制换行,是这么做的:print x,到了python3中,print变成一个函数,这种语法便行不通了。用2to3工具转换了下,变成这样了:print(x, end=' ')
阅读全文
Python中的闭包
摘要:简单的闭包的栗子:def counter(statr_at = 0): count = 1 def incr(): nonlocal count #注意由于count类型为immutable,所以需要声明清楚在此局部作用域内引用的是外部作用域那个count count += 1 return ...
阅读全文
python中的函数调用绑定,静态方法和类方法
摘要:在C++的类中,有两种函数:普通成员函数和静态成员函数,差别是成员函数通过类实例调用,而静态成员函数通过类名调用。本质上,成员函数在调用的时候会默认把this指针作为第一个参数传入,而静态成员函数不需要绑定this指针。在python的类设计中,可以说将C++的这种隐式行为显式的表达出来了。clas...
阅读全文
python中的namespace
摘要:python中的名称空间是名称(标识符)到对象的映射。具体来说,python为模块、函数、类、对象保存一个字典(__dict__),里面就是重名称到对象的映射。可以参看下面python程序的输出:print('globals:')print(globals().keys())print('')x =...
阅读全文
python中的面向对象编程
摘要:在python中几乎可以完成C++里所有面向对象编程的元素。继承:python支持多继承:class Derived(base1, base2, base3): pass多态:python中的所有实例方法都是virtual类型的封装: 这个比较特殊,C++编程中一直强调得比较多的是:为了隐藏实现,...
阅读全文
python global vs nonlocal (2)
摘要:上一篇中简述了这两个关键字的基本用法:global用于在局部作用于修改或重定义全局变量nonlocal用于在内部作用域修改或重定义外部变量(全局变量除外)这只是很浅的理解方式注意python的特性,变量有mutable和immutable之分,对于mutable变量的,在内部作用域内做修改时完全可以...
阅读全文
python3 nonlocal vs global
摘要:考虑这样一个python程序:x = 12def func(): x = 1func()print(x)输出为:x = 12因为函数内部定义的x被认为只属于局部作用域,为了表明我么引用的是全局的x而不是新定义一个局部的x,可以使用global关键字:x = 12def func(); global ...
阅读全文