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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 闭包:一个函数,内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称称为闭包(Closure)

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

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

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

    2018-10-20

    1. python中的函数也可以返回函数

    2. 返回一个函数较返回一个数值,可以延迟某些计算

    查看全部
  • sorted()函数:

    1. sorted()函数也是一个高阶函数,它默认接受一个“正常的”比较函数,即x>y时返回1,x==y时返回0,小于时返回-1

    2. sorted()函数也可以对字符串进行排序,默认按照ASCII大小来比较字符串(首字母的ASCII序号,如果首字母相同就比较第二个,这样的规则)

    查看全部
  • 过滤函数fliter():

    fliter()函数也接收一个函数f和一个list,函数f的作用是对每个元素进行判断,返回True或False。而fliter()会自动过滤掉False的元素,返回又符合条件(True)元素组成的list

    查看全部
  • reduce()函数:

    1. reduce()函数的接受参数和map()类似,但是有所不同的是reduce()函数的”函数变量“必须是一个能够接受两个参数的函数

    2. 用一个具体的例子说明reduce()的作用:

      def f(x,y):

           return x+y

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

      这段代码会首先将list的前两个元素相加,再把所得结果与第三个元素相加,以此类推

    3. reduce()函数还可以接受第三个可选参数,这个参数将会作为f函数第一次调用的第一个参数

    查看全部
  • map()函数:

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

    2. map函数不改变原有的list,而是返回一个新的list

    查看全部
  • 需要进一步理解闭包
    查看全部
    0 采集 收起 来源:python中闭包

    2018-10-20

  • p指的是分子,q指的是分母

    查看全部
  • 在这里p是分子,q是分母 
    (self.p * r.q + self.q * r.p)这是有理化计算后的分子

    (self.q * r.q)这是有理化计算后的分母

    r.q是令一个加数的分子,r.p是另一个加数的分母

    例如:1/3+3/2 第一个分数的分子乘第二个分数的分母+第一个分数的分母乘第二个分数的分子(也就是交叉相乘再相加)最后得11(这是经过计算后得到的结果的分子)
    第一个分数的分母乘第二个分数的分母( self.q * r.q)得到结果是6

    查看全部
  • def gcd(a, b):
        if b == 0:
            return a
        return gcd(b, a % b)
    
    class Rational(object):
        def __init__(self, p, q):
            self.p = p
            self.q = q
        def __add__(self, r):
            return Rational(self.p * r.q + self.q * r.p, self.q * r.q)
        def __sub__(self, r):
            return Rational(self.p * r.q - self.q * r.p, self.q * r.q)
        def __mul__(self, r):
            return Rational(self.p * r.p, self.q * r.q)
        def __div__(self, r):
            return Rational(self.p * r.q, self.q * r.p)
        def __str__(self):
            g = gcd(self.p, self.q)
            return '%s/%s' % (self.p / g, self.q / g)
        __repr__ = __str__
    
    r1 = Rational(1, 2)
    r2 = Rational(1, 4)
    print r1 + r2
    print r1 - r2
    print r1 * r2
    print r1 / r2


    查看全部
  • return x*y
    查看全部
  • 2.4 s.upper(s[0])
    查看全部
  • 2.3 sqrt
    查看全部
  • sorted()对list进行排序并返回一个新的list

    sorted(interablel, cmp[, key[, reverse]]])

    interable 可迭代对象

    cmp比较函数

    reverse True降序 False升序(默认)

    sort()直接在原list中进行排序

    查看全部

  • class Person(object):


        def __init__(self, name, score):

            self.name=name

            self.score=score


        def get_grade(self):

            if self.score>80:

                return 'A'

            if self.score>60:

                return 'B'

           

            return 'C'

            


    p1 = Person('Bob', 90)

    p2 = Person('Alice', 65)

    p3 = Person('Tim', 48)


    print p1.get_grade()

    print p2.get_grade()

    print p3.get_grade()


    查看全部

举报

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

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