为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰

最赞回答 / 慕仙3596748
判断条件不对,math.sqrt(x)结果为float,函数结果永远为False.改成math.sqrt(x) == int(math.sqrt(x))试试

最新回答 / 慕雪3159027
return的应该必须是1或者-1吧。sorted是根据return的值来判断是否要调换顺序的,你这样return的是个list,sorted这个函数读不出来

已采纳回答 / 慕侠425669
and 是与运算,两边都为真,才返回真而这里s and len(s.strip())>0其中先看 s 本身是否为真,再看 len(s.strip())>0 ,也就是去掉 s 中的空白符(包括'\n', '\r', '\t', ' ')后,看是否为真此时,两边都为真的情况下,才说明这个s是真

最新回答 / AbnerRoc
你应该退出 def 的语句块,在执行print (map(f,[1,2,3,4,5,6,7,8,9])),return完之后多按几下回车,就可以了
import math

def is_sqr(x):
return math.sqrt(x)%1 ==0

print (list(filter(is_sqr, range(1, 101))))
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会报错
说实话 这几节东西讲的不清楚 需要自己找些资料看
Raffi Khatchadourian 对 Andrew Edgecombe 答案的补充:

对于 1),你应当再加上“ 方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的“方法”和“函数”的区别,就是“成员函数”和“函数”的区别。此外,诸如 Java 一类的编程语言只有“方法”。所以这时候就是“静态方法”和“方法”直接的区别。

对于2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。

Aaron 的回答:

方法和对象相关;

函数和对象无关。

Java中只有方法,C中只有函数,而C++里取决于是否在类中。
关于 函数和方法 的区别
主要决定于是否与对象有关,能否离开对象使用,能否访问类内所有属性。
(来自 Andrew Edgecombe ):
函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。
所有传递给函数的数据都是显式传递的。

方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:

方法中的数据是隐式传递的;
方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)
sorted(L,key=str.lower)

已采纳回答 / 慕设计3172499
因为题目要返回一个函数,你return reduce(f, lst, 1) 就变成直接返回一个值了

已采纳回答 / 慕码人9073783
你没输入N的数值啊,输入数值调用就可以了
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 add(x, y, f):
return f(x) + f(y)

def f(s):
a = s**0.5
return a

print(add(25, 9, f))

最新回答 / 慕姐9192489
>>> class Person(object):...     def __init__(self):...             self.name = 'wml'......>>> p = Person()>>> p<__main__.Person object at 0x000001A974C674E0>>>>这是在python3.7环境下试的,你看看你是不是类定义有问题,或者用isinstance()函数测试一...
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消