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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 面向对象编程的基本思想:

    类和实例

        类用于定义抽象类型

        实例根据类的定义被创建出来 

    创建类:class Person:

        pass

    创建实例:xiaoming=Person()

    数据封装:class Person:

        def__init__(self,name):

    self.name=name

    查看全部
  • 安装第三方模块:




    在cmd命令提示符中输入以下命令来导入第三方模块:


    1、pip install web.py


    2、python


    3、import web


    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问

    如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义


    查看全部
  • 转载侵删

    初学python的闭包,不知道这样理解有没有错误和理解不到位的地方

    初学python的闭包,不知道这样理解有没有错误和理解不到位的地方

    def count():#定义一个计算函数

        fs = []#创建一个空的列表

        for i in range(1, 4):#循环条件i从1到三

            def f():#本来想创建一个闭包的错误函数

                 return i*i#返回值是i的平方

            fs.append(f)#往空列表依次增加刚刚定义的函数

        return fs#返回空的列表

     

    f1, f2, f3 = count()#依次把count里面的三个函数赋给f1, f2, f3

    print f1(),f2().f3()#之所以三个函数的返回值均为9是因为f1()的调用时基于i等于3,故产生了错误的值。

     

     

     

     

     

    def count():

        fs = []

        for i in range(1, 4):#以下是正确的闭包

            def f(j):#定义函数f(j)  j为形参

                def g():#定义函数g

                    return j*j#返回值为j的平方

                return g   #返回值为函数g

               

               

            fs.append(f(i))#每i变化一次都往里面list里面放入一个函数g,且里面的形参至关重要为外函数的i,故每次调用f1()不会因为i已经变为三而出错

        return fs

     

    f1, f2, f3 = count()

    print f1(),f2(), f3()

    另外应该需要注意fs.append(f())与fs.append(f)的区别


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

    2019-04-15

  • __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法)

    xiaoming = Person('Xiao Ming', 'Male', '1991-1-1')
    xiaohong = Person('Xiao Hong', 'Female', '1992-2-2')


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

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变,不要引用任何循环变量,或者后续会发生变化的任何变量!


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

    2019-04-15

  • 1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。 

    2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

    --------------------- 

    作者:IAMoldpan 

    来源:CSDN 

    原文:https://blog.csdn.net/iamoldpan/article/details/78077983 

    版权声明:本文为博主原创文章,转载请附上博文链接!


    查看全部
  • def count():

        fs = []

        for i in range(1, 4):

            def f(i):定义f的功能时有参数,此时就是执行将公式f赋值i进行输出

                def g():g没有参数说明g是一个平方运算,需要利用f的赋值进行操作

                    return i*i

                return g

            r= f(i)

            fs.append(r)

        return fs

    f1, f2, f3 = count()f1 f2 f3就是count三次循环的结果

    print f1(),f2(),f3()


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

    2019-04-15

  • __slots__=('score',)记得加‘,’不加的话就是str了,加了后变成tuple

    对于元组的单个字符来说一定要注意

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

    2019-04-15

  • 如果我们要实现倒序排序:

    def reversed_cmp(x, y):
        if x > y:
            return -1
        if x < y:
            return 1
        return 0


    查看全部
  • property(性质,性能)

    property将方法设置为属性

    方法.setter   设置方法的格式

    self.grade可以直接调用的原因是墙边@property定义过方法了

    查看全部
    0 采集 收起 来源:python中 @property

    2019-04-15

  • filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

    map()函数不改变原有的 list,而是返回一个新的 list。

    查看全部
  • 为啥a,b=b,a+b  和

    a=b

    b=a+b

    不一样呢??

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

    2019-04-15

  • **kw本质是个dict,(key,value)通过迭代器iteritems迭代器调用

    注意:self.k设置的是k的值,相当于k的属性,所以不可以将w的值设置成k


    查看全部

举报

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

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