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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • https://img1.sycdn.imooc.com//5c76683b0001f6e405330196.jpg类的统一初始化

    查看全部
  • 一、代码越来越多的时候存在的问题:---模块
    1.将所有代码放入一个PY文件:无法维护
    2.如果将代码分拆放入多个PY文件,好处:
    同一个名字的变量互不影响
    #a.py                     #b.py    
    x=5                        x='str'
    def f1():                 def f1(iterable):
    pass                       pass
    模块a                     模块b

    二、引用其他模块
    #test.py                       #自身模块名test
    imprt math                  #引用math模块
    print math.pow(2,10)  #调用math模块的函数

    三、模块多了的以后,也容易重名------包
    路人甲编写                                路人乙编写
    p1/                                           p2/
        jia.py                                        yi.py
        use.py                                      use.py

    四、同名模块的完整的模块名不同
    路人甲编写 -----p1.use          路人乙编写-----p2.use

    五、引用完整模块
    #test.py                       #自身模块名test
    imprt p1.use               #引用p1.use模块
    print p1.use.f(2,10)     #调用p1.use模块的函数

    六、包、模块、文件夹、文件
    在文件系统中,包就是文件夹,模块就是xxx.py文件,包也可以有多级,
    包的下面有一个__init__.py,每一层都必须有

    查看全部
  • @log 打印日志

    @performance 检测性能

    @transaction 数据库事务

    @post(‘/register’) url路由

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

    查看全部
  • reduce()对list的每个元素反复调用函数f,传入的f必须接收2个参数

    查看全部
  • lambda x:x*x 关键字lambda表示匿名函数,冒号前面的x表示函数参数

    查看全部
  • 计算机硬件-->指令
    C语言-->函数
    Python语言-->函数式
    
    函数式编程特点:      
    a、把计算视为函数而非指令,更贴近计算,而不是指令     
    b、纯函数式编程:不需要变量,没有副作用,测试简单      
    c、支持高阶函数,代码简洁
    
    3、python支持的函数式编程     
    a、不是纯函数式编程:允许有变量     
    b、支持高阶函数:函数可以作变量传入     
    c、支持闭包:有了闭包就能返回函数    
    d、有限度地支持匿名函数 0


    查看全部
  • 由于可以返回函数,我们在后续代码里就可以决定到底要不要调用该函数。

    查看全部
  • 1,类方法

     @classmethod

        def how_many(cls):

            return cls.__count

    私有属性,返回实例个数

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

    查看全部
  • https://img1.sycdn.imooc.com//5c7477020001d79703760383.jpg类的属性  如图

    查看全部
  • https://img1.sycdn.imooc.com//5c7476120001266902380144.jpg

    类的创建以及实例的创建

    查看全部
  • class Person(object):


        __count = 0


        def __init__(self, name):

            Person.__count += 1

            self.name = name

            print Person.__count


    p1 = Person('Bob')

    p2 = Person('Alice')

    try:

        print Person.__count

    except AttributeError:

        print 'AttributeError'

    前面加两个下划线__是类的私有属性,因为在类外部是不能访问到类的私有属性的,因此报错,所以需要做异常处理。

    当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。

    一侧双下划线表示类内部变量,不能被外部访问,但可以在内部默认打印出来,


    try  except:还是会运行类,同时如果出现某错误还要打印某错误出来,

    #捕捉错误,同时不妨碍类或者包的导入及运行。

    原因是 p1.address = 'China'并没有改变 Person 的 address,而是给 p1这个实例绑定了实例属性address ,对p1来说,它有一个实例属性address(值是'China'),而它所属的类Person也有一个类属性address,所以:

    访问 p1.address 时,优先查找实例属性,返回'China'。

    访问 p2.address 时,p2没有实例属性address,但是有类属性address,因此返回'Earth'。

    可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。


    查看全部
  • 1、变量可以指向函数,调用变量即调用函数,如f=abs,f(-10)

    2、函数名其实就是指向函数的变量,如abs = len

    3、高阶函数:能调用函数作为参数的函数。


    查看全部
  • 2-15、python中偏函数

    functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了

    查看全部
    0 采集 收起 来源:python中偏函数

    2019-02-25

举报

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

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