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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 发现原来用pip安装时都要在cmd命令行里启动的,而在python中无法运行。退出python运行环境就再执行pip可以了。

    输入exit()退出python运行环境

    查看全部
  • isinstance(object, classinfo)
    其中,object 是变量,classinfo 是类型即 (tuple,dict,int,float,list,bool等) 和 class类。

    若参数 object 是 classinfo 类的实例,或者 object 是 classinfo 类的子类的一个实例, 返回 True。
    若 object 不是一个给定类型的的对象, 则返回结果总是False。

    查看全部
  • from __future__ import division

    导入(之后)未来版本中的division

    使用from __future__ import unicode_literals将把Python 3.x的unicode规则带入Python 2.7中

    查看全部
  • 利用try……except……语句,对模块进行动态导入,绕过错误ImportError.

    利用import ... as ...,还可以动态导入不同名称的模块。

    JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding

    encoding:把一个Python对象编码转换成Json字符串
    decoding:把Json格式字符串解码转换成Python对象

    查看全部
  • Python中的模块和包

    1:Python中的一个.py文件就是一个模块

    2:模块中的同名变量不冲突

    3:包是存放模块的,不同包中同名模块不影响

    4:引入模块  import 包名.模块名

    5:调用模块中的方法  包名.模块名.函数名

    区分包和普通目录,每层包下必须有一个_init_.py文件


    查看全部
  • def cmp_ignore_case(s1, s2):
        u1 = s1.lower()
        u2 = s2.lower()
        if u1 < u2:
            return -1
        if u1 > u2:
            return 1
        return 0

    print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

    查看全部
  • g 的定义移入函数 f 内部,防止其他代码调用 g

    def f():
        print 'f()...'
        def g():
            print 'g()...'
        return g

    但是,考察上一小节定义的 calc_sum 函数:

    def calc_sum(lst):
        def lazy_sum():
            return sum(lst)
        return lazy_sum

    注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst

    像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。


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

    2018-06-15

  • functool.partial创建偏函数

    functool.wraps复制原函数的相关属性


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

    2018-06-15

  • sorted(iterable, cmp=None, key=None, reverse=False)里面有四个参数想必你是知道的。里面的cmp原始值是None,但是你要排序的['bob', 'about', 'Zoo', 'Credit']里面有大小写,按照原来的cmp,他就会将大小写一起来排序,输出会是['Credit', 'Zoo', 'about', 'bob'],所以你要告诉他怎么个操作来排序,所以建立了一个函数lambda s1, s2: cmp(s1.upper(), s2.upper())...

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

    2018-06-15

  • 对于decorator的使用的总结:

    1. 作用:decorator,就跟它的名称一样:修饰,包装。简单说就是给原来的函数添加一些新功能。这种可以是批量级的处理,能减少我们的工作量。

    2. 无参数的decorator:在里面封装一个函数即可;

      如def performance(): 内部定义一个,一个,一个函数就可以了

    3. 有参数的decorator():在里面封装两个函数!!

    1. import time  


    2. def performance(unit): #用来接收装饰函数的参数 unit

    3.     def performance_decorator(f): #接收需要装饰的函数 f

    4.         def wrapper(*args, **kw): #接收实际函数所需要的参数 (*args, **kw)

    5.             t1 = time.time()  

    6.             f(*args, **kw) #运行实际的函数 f


    查看全部
  • reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

    reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:

    reduce(f, [1, 3, 5, 7, 9], 100)

    结果将变为125,因为第一轮计算是:

    计算初始值和第一个元素:f(100, 1),结果为101


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

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

    利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

    由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。


    查看全部
  • from _functools import reduce

    在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里
    
    用的话要 先引入
    from functools import reduce


    查看全部
  • reduce 是python自带的一个函数 作用是将lst 从第1个开始 使用f函数进行连续操作    在这里就是指乘法操作 即如果lst = [1,2,3,4] 那么就是 计算 2 * 3 然后结果再乘以 4 。即 2 * 3 * 4

    查看全部
  • import math

    def is_sqr(x):
        i = int(math.sqrt(x))
        if (i*i)==x:
            return x

    print filter(is_sqr, range(1, 101))

    sqrt开平方根函数返回的是float,使用int()函数将值转换成整型后,乘积等于传入的值,则为整数

    查看全部

举报

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

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