filter 现在返回的是指向结果为True的元素的地址域。
Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true
Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true
2019-06-24
performance函数形成闭包,返回perf_decorator函数;perf_decorator函数形成闭包,返回wrapper函数;wrapper函数返回r变量,r变量调用了perf_decorator函数的参数f,最终performance函数对factorial函数进行装饰,unit变量 等于 'ms'字符串,对变量t进行判断,返回合适的时间,及factorial函数结果。理解是这么理解,让我写又不太能写出来。。。
2019-06-18
import math
def is_sqr(x):
return math.sqrt(x)%1 ==0
print (list(filter(is_sqr, range(1, 101))))
def is_sqr(x):
return math.sqrt(x)%1 ==0
print (list(filter(is_sqr, range(1, 101))))
2019-06-13
def format_name(s):
return s[0].upper() + s[1:].lower()
s = ['adam', 'LISA', 'barT']
print (list(map(format_name, ['adam', 'LISA', 'barT'])))
注意了python 3 里面需要加list,map会报错
return s[0].upper() + s[1:].lower()
s = ['adam', 'LISA', 'barT']
print (list(map(format_name, ['adam', 'LISA', 'barT'])))
注意了python 3 里面需要加list,map会报错
2019-06-13
Raffi Khatchadourian 对 Andrew Edgecombe 答案的补充:
对于 1),你应当再加上“ 方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的“方法”和“函数”的区别,就是“成员函数”和“函数”的区别。此外,诸如 Java 一类的编程语言只有“方法”。所以这时候就是“静态方法”和“方法”直接的区别。
对于2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。
Aaron 的回答:
方法和对象相关;
函数和对象无关。
Java中只有方法,C中只有函数,而C++里取决于是否在类中。
对于 1),你应当再加上“ 方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的“方法”和“函数”的区别,就是“成员函数”和“函数”的区别。此外,诸如 Java 一类的编程语言只有“方法”。所以这时候就是“静态方法”和“方法”直接的区别。
对于2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。
Aaron 的回答:
方法和对象相关;
函数和对象无关。
Java中只有方法,C中只有函数,而C++里取决于是否在类中。
2019-06-09
关于 函数和方法 的区别
主要决定于是否与对象有关,能否离开对象使用,能否访问类内所有属性。
(来自 Andrew Edgecombe ):
函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。
所有传递给函数的数据都是显式传递的。
方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:
方法中的数据是隐式传递的;
方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)
主要决定于是否与对象有关,能否离开对象使用,能否访问类内所有属性。
(来自 Andrew Edgecombe ):
函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。
所有传递给函数的数据都是显式传递的。
方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:
方法中的数据是隐式传递的;
方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)
2019-06-09
def new_fn(f):
def fn(x):
print 'call'+f.__name__+'()'
return f(x)
return fn
@new_fn
def f1(x):
return x*2
@new_fn
def f2(x):
return x*x
@new_fn
def f3(x):
return x*x*x
print f1(5)
print f2(5)
print f3(5)
def fn(x):
print 'call'+f.__name__+'()'
return f(x)
return fn
@new_fn
def f1(x):
return x*2
@new_fn
def f2(x):
return x*x
@new_fn
def f3(x):
return x*x*x
print f1(5)
print f2(5)
print f3(5)
2019-06-01
def add(x, y, f):
return f(x) + f(y)
def f(s):
a = s**0.5
return a
print(add(25, 9, f))
return f(x) + f(y)
def f(s):
a = s**0.5
return a
print(add(25, 9, f))
2019-06-01
def performance(unit):
def f1(f):
@functools.wraps(f)
def f2(n):
print 'call',f1.__name__ + '() in', f(n),unit
return f(n)
return f2
return f1
def f1(f):
@functools.wraps(f)
def f2(n):
print 'call',f1.__name__ + '() in', f(n),unit
return f(n)
return f2
return f1
2019-05-24
def performance(unit):
def f1(f):
def f2(n):
print 'call',f.__name__ + '() in', f(n),unit
return f1(f)
return f2
return f1
def f1(f):
def f2(n):
print 'call',f.__name__ + '() in', f(n),unit
return f1(f)
return f2
return f1
2019-05-24