-
filter(func,L)根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list
查看全部 -
int() 向下取整
math.sqrt(x)参数内置要传
查看全部 -
reduce()对list的每个元素反复调用函数f,并返回最终结果值
查看全部 -
map(f,L)生成一个新的列表
查看全部 -
高阶函数就是可以接收函数作为参数的函数
def add(x,y,f):
retuen f(x)+f(y)
add(-5,9,abs)
f作为add的一个参数传入
查看全部 -
reduce()函数也是内置的一个高阶函数,reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
查看全部 -
map()是Python内置的高阶函数,它接收一个函数f和一个list, 并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。
查看全部 -
高阶函数
变量可以指向函数,函数名就是指向函数的变量。
高阶函数:能接收函数做参数的函数(函数的参数可以接收变量)
一个函数可以接收另一个函数作为参数
def add(x,y,f)
return f(x)+f(y)
add(-5,9,abs)
查看全部 -
lambda关键字表示匿名函数,lambda 变量名:函数关系式;其中函数关系只能由一个表达式组成,不需要写return,返回的就是表达式的结果。
查看全部 -
由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
请尝试编写一个File-like Object,把一个字符串 r'["Tim", "Bob", "Alice"]'包装成 File-like Object 并由 json.load() 解析。
查看全部 -
如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:
class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender
定义Student类时,只需要把额外的属性加上,例如score:
class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score
一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。
函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
查看全部 -
xxxxxx
查看全部 -
xxxxxxx
查看全部 -
p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。
因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法:
import types def fn_get_grade(self): if self.score >= 80: return 'A' if self.score >= 60: return 'B' return 'C' class Person(object): def __init__(self, name, score): self.name = name self.score = score p1 = Person('Bob', 90)p1.get_grade = types.MethodType(fn_get_grade, p1, Person)print p1.get_grade()# => Ap2 = Person('Alice', 65) print p2.get_grade()# ERROR: AttributeError: 'Person' object has no attribute 'get_grade' # 因为p2实例并没有绑定get_grade
查看全部 -
三个高阶函数,map,reduce,filter,其第一个参数都是函数,第二个参数是列表。map对队列中的值依次放入传入的函数中,返回一个由结果组成的新列表,reduce每两个做一个操作,reduce可以传入第三个参数,表示起始值,filter的函数需要返回True或False,过滤掉返回False的值。
要注意==符号对比数字时是比较数字的值,而不是类型。所以2.0 == 2是等价的
查看全部
举报