-
只有以双下划线开头的"__job"不能直接被外部访问。 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。 以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问查看全部
-
如何判断一个数的平方根是整数 如何从一个模块中取内置函数 import math 然后 math.函数名查看全部
-
reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。查看全部
-
haha查看全部
-
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。查看全部
-
判断平方根是整数 def is_sqr(x): r = int(math.sqrt(x)) return r*r==x查看全部
-
s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。查看全部
-
注意:map()函数不改变原有的 list,而是返回一个新的 list查看全部
-
像这种内层函数引用了外层函数的变量(参数也算变量),外层函数返回值是内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。查看全部
-
要定义关键字参数,使用 **kw; 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。 参考代码: class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth for k, v in kw.iteritems(): setattr(self, k, v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job查看全部
-
L2 = sorted(L1,lambda p1,p2:cmp(p1.name,p2.name)) L2 = sorted(L1,cmp = lambda x, y: cmp(x.name, y.name))查看全部
-
pass就是空语句,是为了保持程序结构的完整性查看全部
-
要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。 要在Python 2.7中引入3.x的除法规则,导入__future__的division: >>> from __future__ import division >>> print 10 / 3 3.3333333333333335 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。查看全部
-
要定义关键字参数,使用 **kw 在Python里,带*的参数就是用来接受可变数量参数的 如果一个函数定义中的最后一个形参有 ** (双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数 还是晕啊查看全部
-
利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO 上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。 try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。查看全部
举报
0/150
提交
取消