-
在2-8中,返回函数,返回数值,调用函数的格式是什么??
查看全部 -
sorten()函数不太明白?
查看全部 -
创建偏函数的时候要了解函数的原型,参数,才能设置默认参数,以减少参数
查看全部 -
如果一个属性由双下划线开头(__),该属性就无法被外部访问。
但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。
查看全部 -
当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:
class Person(object): def __init__(self, name, gender, birth): self.name = name self.gender = gender self.birth = birth
__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别
除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。
查看全部 -
python定义类方式:
class Person(object): pass
pass表示没有任何属性和方法;
创建实例使用 类名+(),类似函数调用的形式创建;
xiaoming = Person() xiaohong = Person()
查看全部 -
def count():
fs = []
for i in range(1, 4):
def f(i):
def g():
return i*i
return g
#把函数f放到fs中
fs.append(f(i))
#返回的是3个函数
return fs
#3个函数分别给f1,f2,f3
f1, f2, f3 = count()
#输出函数的返回值
print f1(), f2(), f3()
查看全部 -
import math
def is_sqr(x):
return math.sqrt(x)%1==0.0
print filter(is_sqr, range(1, 101))
查看全部 -
import math
def is_sqr(x):
a = math.sqrt(x)
if int(a)==a:
return a
#return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
查看全部 -
首字母大写:
s[0].upper()+s[1:].lower()
查看全部 -
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
查看全部 -
try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。
查看全部 -
(1)模块的名字就是py名字的文件名;
(2)引用其他模块,如下:
(3)解决模块同名的方法,将同名的模块放入不同的包中:
(4)引用完整的模块:
(5)文件系统中:
(6)如何区分包和普通目录,即使是空包也必须包含_init_.py:
查看全部 -
functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
查看全部 -
由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中
所以Python内置的functools可以用来自动化完成这个“复制”的任务:
import functools def log(f): @functools.wraps(f) def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper
最后需要指出,由于我们把原函数签名改成了(*args, **kw),因此,无法获得原函数的原始参数信息。即便我们采用固定参数来装饰只有一个参数的函数
查看全部
举报