为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 对代码进行解释:# %s是字符,%fs是两个东西,分为%f和s,%f是数据类型,而s是前面的单位,也就是所谓的“秒”

    查看全部
  • def count():
        fs = []
        for i in range(1, 4):
            def f(j):
                def g():
                    return j*j
                return g
            r = f(i)
            fs.append(r)
        return fs
    f1, f2, f3 = count()
    print f1(), f2(), f3()

    这一段代码要好好地、仔细地看一下,关于闭包、实参、形参的概念问题都要好好地看一下,r=f(i),将i的值传递给函数f(j)。

    查看全部
    0 采集 收起 来源:python中闭包

    2019-06-15

  • 利用首字母来进行排序,存在缺陷,应该按照答案提供的那种方法来解答此题。

    利用首字母进行排序时,却陷如下:如果第一个字母相同的话,应该按照第二个字母的大小进行排序,但这个问题却没有考虑到。

    查看全部
  • def reversed_cmp(x, y):
        if x > y:
            return -1
        if x < y:
            return 1
        return 0

    通过返回值就能够搞定数值的排序问题吗?并不怎么理解,返回值是-1,y就排在x的前面了???

    查看全部
  • r*r == x 。这个是否成立,是取决于x当前的值,也就是每次都是跟当前x的值进行比较。举例:当x=5时,int(math.sqrt(7))=2,此时2*2和5进行比较;而当x=7时,r = int(math.sqrt(7))=2,这时2*2和7进行比较,也就是有多少个元素就进行了多少次的比较。


    查看全部
  • import math
    def is_sqr(x):
        r = int(math.sqrt(x))
        return r*r==x
    print filter(is_sqr, range(1, 101))
    r*r==x该语句起到的是过滤作用,利用该语句判断
    x是否符合标准,即是否满足一个数的平方根
    仍是整数这个条件。
    查看全部
  • math.sqrt(x) 返回的是float类型的数

    math.sqrt(4)等于2.0 不是int

    所以利用isinstance(math.sqrt(x),int)该语句不会有输出结果。

    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,成为闭包


    查看全部
    0 采集 收起 来源:python中闭包

    2019-06-14

  • 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count

    查看全部
  • 使用lambda函数应该注意的几点:

    • lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数

    • lambda参数列表可以包含多个参数,如 lambda x, y: x + y

    • lambda中的表达式不能含有命令,而且只限一条表达式

    查看全部
  • 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用

    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。

    函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。


    查看全部
  • 可见,千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。



    查看全部
  • 引用完整模块

    查看全部
  • 查看全部

举报

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

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