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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 在函数内部定义的函数和外部定义的函数是一样的,只是他们无法被外部访问

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

    2018-10-26

  • class Person(object):

        count = 0

        def __init__(self,name):

            Person.count += 1

            self.name = name


    p1 = Person('Bob')

    print Person.count


    p2 = Person('Alice')

    print Person.count


    p3 = Person('Tim')

    print Person.count

    初始化函数里可以引用类自己

    查看全部
  • def calc_prod(lst):
        def lazy_prod():
            def f(x, y):
                return x * y
            return reduce(f, lst, 1)
        return lazy_prod
    f = calc_prod([1, 2, 3, 4])
    print f()


    查看全部
  • 在保持原函数factorial(n)内部程序不变的基础上,给他增加一行代码 print ('call '+ f.__name__ + '()...'),得到一个新函数,而现在我们又把这个新函数也命名为factorial(n)。于是我们可以看作是factorial()的功能增强了(原函数只能计算阶乘,新函数不仅可以计算阶乘还能打印出函数名称),也就是可以看成是原函数factorial(n)被装饰了一下,加了一行输出代码,所以叫做装饰器。

    大家在学这个装饰器的时可以先忽略掉@Log这个标志,因为@Log其实就相当于:factorial=Log(factorial)这行代码(代码位置再调整到factorial()函数的后面)。所以,使用@Log这种标志只是将代码减少了自己字母,大家不要被这个@符号蒙蔽了。你就把它看作是一行正常的factorial=Log(factorial)代码,并放到最后一个print前面就行。


    查看全部
  • 返回闭包不能引用循环变量,请改写count()函数,让它正确返回能计算1x1、2x2、3x3的函数。

    def count():

        fs = []

        for i in range(1, 4):

            def f(j):

                def g():

                    return j*j

                return g

            r = f(i)

            fs.append(r)

        return fs


    f1, f2, f3 = count()

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


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

    2018-10-26

  • 假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

    输入:['adam', 'LISA', 'barT']
    输出:['Adam', 'Lisa', 'Bart']


    def format_name(s):

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


    print map(format_name, ['adam', 'LISA', 'barT'])


    查看全部
  • import math


    def add(x, y, f):

        return f(x) + f(y)


    print add(25, 9, math.sqrt)


    查看全部
  • reduce()在python 2中是内置函数,在python 3中被移到functools模块中

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

    s[0:-1]表示从第一个字符到倒数第二个字符,不包括最后一个字符

    s[0:]表示第一个字符到最后一个字符

    查看全部
  • import math

    math.sqrt

    from math import *

    sqrt

    查看全部
  • print int(' 123')

    int()函数传入的字符串只能包含数字,若有其他,则会出错

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

    2018-10-25

  • upper(),lower()函数用来控制整个字符串的字母都大写还是都小写

    title()用来控制字符串中每个单词的首字母大写

    capitalize()用来控制整个字符串的首字母大写


    查看全部
  • map()----返回一个List列表,接收单个参数map(f(*),List)

    reduce()---返回一个List列表,接收两个参数reduce(f(*,*),List)

    filter()---返回一个筛选之后List,接收单个参数filter(f(*),List)

    sorted()---自然排序返回List列表,可以接收多个参数,sorted(List,cmp,key)


    查看全部
  • 多种导入方式 1、import os     使用os.path.isdir...... 2、import os.path    使用os.path.isdir...... 3、from os import path      使用path.isdir...... 4、from os.path import isdir,isfile    使用isdir.....

    查看全部
  • #!/usr/bin/python相当于写死了python路径;
    #!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法

    查看全部

举报

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

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