-
filter()函数是python内置的另外一个有用的高阶函数。
filter()函数接收一个函数 f 和 list ,这个函数f 的作用是对每个元素进行判断,返回True或Flase。
filter()根据判断结果自动过滤不符合条件的元素即返回值是Flase的过滤掉,返回由符合条件元素组成的新的list。
filter()可以实现很多有用的功能,删除None或者空字符串。
s.strip(rm)删除s字符串中开头,结尾处的rm序列的字符。当rm为空时,默认删除空白符(包括'\n','\r','\t','')
查看全部 -
python中reduce()函数
reduce()函数也是python内置的一个高阶函数。
reduce()函数和map()函数类似,接收两个参数一个函数f ,一个list ,不同点是reduce()的传入函数需要接收两个参数。
reduce()还可以接收第3个可选参数,作为计算的初始值。
查看全部 -
python中的map()函数:
map()是python内置的高阶函数。它接收一个函数f和一个list,并通过把函数f 依次作用在list 的每个元素上,得到一个新的list并返回。
map()函数不改变原有的list,而是返回一个新的list。
利用map()函数可以把一个list转换为另一个list,只需要传入转换函数。
查看全部 -
TypeError: __init__() should return None, not 'int'
查看全部 -
class Person(object):
pass 类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的
查看全部 -
可以进行排序
查看全部 -
#先说一下*和**的区别,最好还是结合例子来说明用途
#比如我们定义了以下的函数
#它的输入参数一共有4个,其中x,y是可以缺省的
In [
1
]:
def
f(a,b,x
=
10
,y
=
20
):
...:
return
a
+
b
+
x
+
y
...:
In [
2
]: f(
1
,
2
,x
=
3
,y
=
4
)
Out[
2
]:
10
#先看看**的用法,比如,我有一个dict变量kw
#它的元素刚好和我上面定义的函数的缺省部分有一样的
#命名,这时候为了调用函数f,我可以采用比较笨的办法,如
#f(1,2,kw['x'],kw['y']),也可以采用python的一种比较聪明的
#方法,就是把一个dict化成一排key-value对。这种方法就要用到两个**
In [
3
]: kw
=
{
'x'
:
3
,
'y'
:
4
}
In [
4
]: kw
Out[
4
]: {
'x'
:
3
,
'y'
:
4
}
#比如,这样
In [
5
]: f(
1
,
2
,
*
*
kw)
Out[
5
]:
10
#一个*用法的出现也跟上面将的差不多,
#它就是把一个list,tuple化成一排输入的简写
In [
6
]: arg
=
(
1
,
2
)
In [
7
]: f(
*
arg,x
=
3
,y
=
4
)
Out[
7
]:
10
#希望看到这里你应该能明白了
In [
8
]: f(
*
arg,
*
*
kw)
Out[
8
]:
10
# -------------------------------
class
Person(
object
):
def
__init__(
self
, name, gender, birth,
*
*
kw):
self
.name
=
name
self
.gender
=
gender
self
.birth
=
birth
#kw是一个dict,它的iteritems返回key-value对组成的
#tuple, 所以这里要用k,v来接受key和value
for
k, v
in
kw.iteritems():
setattr
(
self
, k, v)
查看全部 -
相当于可以累加累乘
查看全部 -
.....
查看全部 -
查看全部
-
capitalize()将字符串的第一个字母变成大写,其他字母变小写
capitalize()方法语法:
str.capitalize()
查看全部 -
def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变
查看全部 -
斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。
请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。
class Fib(object): def __init__(self, num): fiblist = [0, 1] count = 2 new = 0 while count < num: new = fiblist[count - 2] + fiblist[count - 1] fiblist.append(new) count +=1 self.fiblist = fiblist def __str__(self): return str(self.fiblist) __repr__ = __str__ def __len__(self): return len(self.fiblist) f = Fib(10)print fprint len(f)
查看全部 -
g = gcd(self.p, self.q)
求公约数
查看全部 -
__slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
查看全部
举报