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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。

    返回函数不要引用任何循环变量,或者后续会发生变化的变量。

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

    2019-05-16

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

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

    2019-05-16

  • '''

    lower()、upper()、capitalize()、title()、swapcase()

    这几个方法分别用来将字符串转换为小写、大写字符串、将字符串首字母变为大写、将每个首字母变为大写以及大小写互换,

    这几个方法都是生成新字符串,并不对原字符串做任何修改

    '''

    s='What is Your Name?'

    s2=s.lower()

    print(s2) #返回小写字符串

    # what iss your name?

    print(s.upper())    #返回大写字符串

    # WHAT IS YOUR NAME?

    print(s.capitalize())   #字符串首字符大写

    # What is your name?

    print(s.title())    #每个单词的首字母大写

    # What Is Your Name?

    print(s.swapcase()) #大小写互换

    # wHAT IS yOUR nAME?


    '''

    replace()

    用来替换字符串中指定字符或子字符串的所有重复出现,每次只能替换一个字符或字符串,类似于Word、WPS、记事本等文本

    编辑器的查找与替换功能。该方法并不修改原字符串,而是返回一个新字符串。

    '''

    s1='中国,中国'

    print(s1)

    # 中国,中国

    print(s1.replace('中国','泰国曼谷'))

    # 泰国曼谷,泰国曼谷

    print('abcdabc'.replace('abc','ABC'))

    # ABCdABC


    查看全部
  • sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0

    查看全部
  • 任务

    请编写一个函数calc_prod(lst),它接收一个list,返回一个函数,返回函数可以计算参数的乘积。

    • ?不会了怎么办

    • 先定义能计算乘积的函数,再将此函数返回。

      参考代码:

      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()


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

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

    2019-05-16

  • def is_sqr(x):
        r = int(math.sqrt(x))
        return r*r==x

    平方根是整数的数

    查看全部
  • print("Captial".lower())


    查看全部
  • def is_sqr(x)
      r = int(math.sqrt(x))
      return r*r == x
    这种方式是正确的
    判断是否是int可以是isinstance(x,int)
    但math.sqrt返回值都是float 比如:4 返回2.0


    查看全部
  • import math
    def add(x,y,f)
       return f(x) + f(y)
    print(add(2,5,math.sqrt))

    这里需要注意的是已用到完整的math.sqrt 而不是单单sqrt

    查看全部
  • 高阶学习Python可以接轨

    https://img1.sycdn.imooc.com//5cdc3cbf0001a50906790337.jpg

    查看全部
    0 采集 收起 来源:课程总结

    2019-05-16

  • Python 定义的特殊方法(部分)

    https://img1.sycdn.imooc.com//5cdc3bdc0001767906920373.jpg

    查看全部
  • 这是什么意思?

    https://img1.sycdn.imooc.com//5cdc38d700010dd406550254.jpghttps://img1.sycdn.imooc.com//5cdc39290001d16a05990342.jpg

    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高

    查看全部
  • 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

    声明:s为字符串,rm为要删除的字符序列

    s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

    s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

    s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符


    查看全部

举报

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

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