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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 在2-8中,返回函数,返回数值,调用函数的格式是什么??

    查看全部
  • sorten()函数不太明白?

    查看全部
  • 创建偏函数的时候要了解函数的原型,参数,才能设置默认参数,以减少参数

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

    2019-10-12

  • 如果一个属性由双下划线开头(__),该属性就无法被外部访问。

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


    查看全部
  • 当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:

    class Person(object):    def __init__(self, name, gender, birth):
            self.name = name
            self.gender = gender
            self.birth = birth

    __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别

    除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。

    查看全部
  • python定义类方式:

    class Person(object):
        pass

    pass表示没有任何属性和方法;

    创建实例使用 类名+(),类似函数调用的形式创建;

    xiaoming = Person()
    xiaohong = Person()


    查看全部
  • def count():

        fs = []

        for i in range(1, 4):

            def f(i):

                def g():

                    return i*i

                return g

            #把函数f放到fs中

            fs.append(f(i))

        #返回的是3个函数

        return fs



    #3个函数分别给f1,f2,f3

    f1, f2, f3 = count()

    #输出函数的返回值

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


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

    2019-10-11

  • import math


    def is_sqr(x):

        return math.sqrt(x)%1==0.0

        


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


    查看全部
  • import math


    def is_sqr(x):

        a = math.sqrt(x)

        if int(a)==a:

            return a 

    #return math.sqrt(x)%1==0

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


    查看全部
  • 首字母大写:

    s[0].upper()+s[1:].lower()

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

    查看全部
  • try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。


    查看全部
  • (1)模块的名字就是py名字的文件名;

    (2)引用其他模块,如下:

    http://img1.sycdn.imooc.com//5d9d96fc0001e36f08370384.jpg

    (3)解决模块同名的方法,将同名的模块放入不同的包中:

    http://img1.sycdn.imooc.com//5d9d97a60001d65305820459.jpg

    (4)引用完整的模块:

    http://img1.sycdn.imooc.com//5d9d980a0001fbcc07430312.jpg

    (5)文件系统中:

    http://img1.sycdn.imooc.com//5d9d9856000138b206980390.jpg

    (6)如何区分包和普通目录,即使是空包也必须包含_init_.py:

    http://img1.sycdn.imooc.com//5d9d98af0001315e07680435.jpg

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


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

    2019-10-09

  • 由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中

    所以Python内置的functools可以用来自动化完成这个“复制”的任务:

    import functools
    def log(f):
        @functools.wraps(f)
        def wrapper(*args, **kw):
            print 'call...'
            return f(*args, **kw)
        return wrapper

    最后需要指出,由于我们把原函数签名改成了(*args, **kw),因此,无法获得原函数的原始参数信息。即便我们采用固定参数来装饰只有一个参数的函数


    查看全部

举报

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

微信扫码,参与3人拼团

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

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