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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • filter()函数是python内置的另外一个有用的高阶函数。

    filter()函数接收一个函数 f 和 list ,这个函数f 的作用是对每个元素进行判断,返回True或Flase。

    filter()根据判断结果自动过滤不符合条件的元素即返回值是Flase的过滤掉,返回由符合条件元素组成的新的list。

    filter()可以实现很多有用的功能,删除None或者空字符串。

    s.strip(rm)删除s字符串中开头,结尾处的rm序列的字符。当rm为空时,默认删除空白符(包括'\n','\r','\t','')


    查看全部
  • python中reduce()函数

    reduce()函数也是python内置的一个高阶函数。

    reduce()函数和map()函数类似,接收两个参数一个函数f ,一个list ,不同点是reduce()的传入函数需要接收两个参数。

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

    查看全部
  • python中的map()函数:

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

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

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

    查看全部
  • TypeError: __init__() should return None, not 'int'


    查看全部
  • class Person(object):

        pass
        类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的


    查看全部
  • 可以进行排序
    http://img1.sycdn.imooc.com//5e80a7d60001828403890447.jpg

    查看全部
  • #先说一下*和**的区别,最好还是结合例子来说明用途#比如我们定义了以下的函数#它的输入参数一共有4个,其中x,y是可以缺省的 In [1]: def f(a,b,x=10,y=20):    ...:     return a+b+x+y   ...: In [2]: f(1,2,x=3,y=4)Out[2]: 10 #先看看**的用法,比如,我有一个dict变量kw#它的元素刚好和我上面定义的函数的缺省部分有一样的#命名,这时候为了调用函数f,我可以采用比较笨的办法,如#f(1,2,kw['x'],kw['y']),也可以采用python的一种比较聪明的#方法,就是把一个dict化成一排key-value对。这种方法就要用到两个** In [3]: kw={'x':3,'y':4} In [4]: kwOut[4]: {'x'3'y'4} #比如,这样In [5]: f(1,2,**kw)Out[5]: 10 #一个*用法的出现也跟上面将的差不多,#它就是把一个list,tuple化成一排输入的简写In [6]: arg=(1,2) In [7]: f(*arg,x=3,y=4)Out[7]: 10 #希望看到这里你应该能明白了In [8]: f(*arg,**kw)Out[8]: 10 # -------------------------------class Person(object):    def __init__(self, name, gender, birth, **kw):        self.name = name        self.gender = gender        self.birth = birth        #kw是一个dict,它的iteritems返回key-value对组成的        #tuple, 所以这里要用k,v来接受key和value        for k, v in kw.iteritems():            setattr(self, k, v)

    查看全部
  • http://img1.sycdn.imooc.com//5e80a0f700012d8c03860521.jpg相当于可以累加累乘

    查看全部
  • http://img1.sycdn.imooc.com//5e809a4c000192df03800161.jpg.....

    查看全部
  • 查看全部
  • capitalize()将字符串的第一个字母变成大写,其他字母变小写

    capitalize()方法语法:

    str.capitalize()


    查看全部
  • def calc_sum(lst):
        def lazy_sum():
            return sum(lst)
        return lazy_sum

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

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


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

    2020-03-28

  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。

    请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。

    class Fib(object):        def __init__(self, num):        fiblist = [0, 1]        count = 2        new = 0        while count < num:            new = fiblist[count - 2] + fiblist[count - 1]             fiblist.append(new)             count +=1        self.fiblist = fiblist    def __str__(self):        return str(self.fiblist)            __repr__ = __str__        def __len__(self):        return len(self.fiblist)        f = Fib(10)print fprint len(f)



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

    2020-03-27

  • g = gcd(self.p, self.q)

    求公约数

    查看全部
  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。

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

    2020-03-25

举报

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

微信扫码,参与3人拼团

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

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