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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 函数和方法区别:,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 概念:模块和包。 以py后缀结尾的文件(如test.py)称为模块; 包含这些py文件的文件夹称为包。(注意:区分包和普通目录,包每层下面都必须有_init_.py文件,即使是空的也可以) 应用:模块>解决代码多,难以维护的问题,好处是同一个名字变量互不影响;包>解决py模块的名称相同的冲突 调用:import a.py/import test.a.py(其中test是包名称,a是模块名称)
    查看全部
  • 关于这一节,最大的理解问题就是f1,f2,f3 = count()的意思,这跟java或者c++中的 int i,j = 4的意思是不一样的. 当q,t = [1,2],意思是把一个list中的1赋值给q,2赋值给t 而m,n = 4,不是像java中把4赋值给m,n.这个时候,错误提示:TypeError: 'int' object is not iterable,说int类型,也就是4不可遍历.这样,就可以理解f1,f2,f3 = count()的意思了. count()中返回的是一个list:fs. f1,f2,f3分别是这个list中的3个值.这3个值都是f函数 那么关于为什么f1,f2,f3都是9. 引用原文:" 原因就是当count()函数返回了3个函数时,这3个函数所引用的变量 i 的值已经变成了3。由于f1、f2、f3并没有被调用,所以,此时他们并未计算 i*i,当 f1 被调用时: "
    查看全部
    2 采集 收起 来源:python中闭包

    2018-03-22

  • >>> f() call f()... #只是一个print输出,函数执行结果之一 <function g at 0x7f9a1851e5f0> #这才是返回结果 x = f() ##这是把f()的返回结果(返回结果只有一个函数)赋值给x,并执行一次f()。
    查看全部
  • 任务 请创建包含两个 Person 类的实例的 list,并给两个实例的 name 赋值,然后按照 name 进行排序。 方法1:L2 = sorted(L1,key=lambda x:x.name) 方法2:L2=sorted(L1,lambda p1,p2:cmp(p1.name,p2.name)) 方法3: def cmp_ignore_case1(u1, u2): if u1.name < u2.name: return -1 if u1.name > u2.name: return 1 return 0 L2 = sorted(L1,cmp_ignore_case1)
    查看全部
  • import os print os.path.isdir(r'/data/webroot/resource/python') print os.path.isfile(r'/data/webroot/resource/python/test.txt') 无法返回正确的结果
    查看全部
  • return Rational(self.p * r.q + self.q * r.p, self.q * r.q) 这个题目是求有理数的加法,请你先百度一下什么是有理数,然后再往下看比较好。 本题有很多预设没有说清楚。 1.先创建两个Rational对象,每个对象有两个参数,第一个参数是分子,第二个参数是分母。 2.__add__方法需要传进来两个对象,第一个对象self和第二个对象r 3.self.p是第一个对象的第一个参数(也就是分子),self.q是第一个对象的第二个参数(也就是分母),以此类推r 4.self.p * r.q + self.q * r.p , self.q * r.q 说的就是就是分数,先通分再相加“,”前面是分子后面是分母 5.最后再显示输出成分数形式 分子 / 分母
    查看全部
  • 前面的1和2输出分别是Person在创建Bob和Alice对象的时候调用了__init__方法里面的print 输出的,当创建完对象,调用最下面的那个print时,由于这个print是在外部,所以无法调用内部私有的__count,所以报错 可见类实例的属性,当对象实例化时,对象可以访问到类属性,但是这个类属性,是和当前对象绑定到一起的,对象对类属性的修改不影响类本身的类属性,只影响对象拷贝的那一份类属性。
    查看全部
  • import math def is_sqr(x): return (x%math.sqrt(x)==0) print filter(is_sqr, range(1,101)) filter() 接收的函数必须判断出一个数的平方根是否是整数,而 math.sqrt()返回结果是浮点数。
    查看全部
  • Python编程语言判断是否是目录 在Python编程语言中可以使用os.path.isdir()函数判断某一路径是否为目录。其函数原型如下所示。 os.path.isdir(path) 其参数含义如下。path 要进行判断的路径。以下实例判断E:\book\temp是否为目录。 >>> import os >>> os.path.isdir('E:\\book\\temp') 判断E:\book\temp是否为目录 True 表E:\book\temp是目录 Python编程语言判断是否为文件 在Python编程语言中可以使用os.path.isfile()函数判断某一路径是否为文件。其函数原型如下所示。 os.path.isfile(path) 其参数含义如下。 path:要进行判断的路径。以下实例判断E:\book\temp是否为文件。 >>> import os >>> os.path.isfile('E:\\book\\temp') 判断是否为文件 False 表示E:\book\temp不是文件以上内容就是对如何用Python编程语言判断是否是目录和判断是否是目录的相关实际操作方案的介绍。
    查看全部
  • 斐波那契数列
    查看全部
    2 采集 收起 来源:python中 __len__

    2017-07-17

  • python3中reduce已经不再是全局变量 使用时应引用from functools import reduce
    查看全部
  • def count(): fs = [] for i in range(1, 4): def f(m=i): return m*m fs.append(f) return fs f1, f2, f3 = count() print f1(), f2(), f3() 方法:问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.
    查看全部
    2 采集 收起 来源:python中闭包

    2017-04-07

  • __name__ 下划线长度。。。。。
    查看全部
  • >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81] 通过对比可以看出,匿名函数 lambda x: x * x 实际上就是: def f(x): return x * x 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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