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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • sorted()函数可以对可迭代容器进行排序,不修改原列表,

    sorted(iterable,key=None,reverse=False)可以通过将reverse赋值为True的方法实现列表从大到小排序

    sorted([1,4,3,2,7],reverse=True)


    查看全部
  • filter()是一种过滤器,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    可以利用filter()函数对列表中元素进行筛选,非常方便

    查看全部
  • reduce(f,list[],start_value),start_value为初始值,默认为0,f函数必须有两个参数,reduce()将对list中元素反复调用f并返回结果值。值得注意的是,python3把reduce放置在了functools中,可以先使用from functools import reduce调用

    #求积
    def pro(a,b):
        return a*b
    reduce(pro,[1,2,3,4,5])


    查看全部
  • map(f,[])可以返回一个将列表中每个元素进行f操作后得到的列表,实际上不改变原有的列表,f可以使用lambda函数的方法使得整个代码变得非常简洁

    print (list(map(lambda x: x*x ,[1,2,3,4,5])))


    查看全部
  • 与5.6内容一致。

    查看全部
  • 与4.4内容一致。

    查看全部
  • 通过实例来调用的叫方法,通过类来调用的叫函数。

    from types import FunctionType,MethodType
    obj = Foo()
    print(isinstance(obj.func,FunctionType))  #False
    print(isinstance(obj.func,MethodType))   #True   #说明这是一个方法
    print(isinstance(Foo.func,FunctionType))  #True  #说明这是一个函数。
    print(isinstance(Foo.func,MethodType))  #False


    查看全部
  • class Student(object):
    
        def __init__(self, name, score):
            self.name = name
            self.__score = score
    
        @property
        def score(self):
            return self.__score
    
        @score.setter
        def score(self, score):
            if score < 0 or score > 100:
                raise ValueError('invalid score')
            self.__score = score
    
        @property
        def grade(self):
            if(self.score>=80):
                return 'A'
            elif self.score < 80 and self.score >= 60:
                return 'B'
            elif self.score <60:
                return 'C'
    
    s = Student('Bob', 59)
    print (s.grade)
    
    s.score = 60
    print (s.grade)
    
    s.score = 99
    print (s.grade)


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

    2019-03-01

  • class Person(object):
    
        __slots__ = ('name', 'gender')
    
        def __init__(self, name, gender):
            self.name = name
            self.gender = gender
    
    class Student(Person):
    
        __slots__ = ('score')
        def __init__(self,name,gender,score):
            super().__init__(name,gender)
            self.score = score
    
    s = Student('Bob', 'male', 59)
    s.name = 'Tim'
    s.score = 99
    print (s.score)


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

    2019-03-01

  • class Fib(object):
        def __call__(self,num):
            self.f = [0,1]
            for i in range(2,num):
                self.f.append(self.f[i-1] + self.f[i-2])
            return self.f
    f = Fib()
    print(f(10))


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

    2019-03-01

  • 所有的函数都是可调用对象

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

    2019-03-01

  • @property  
       把属性装饰成get方法   
       给属性赋值时,会自动调用@property装饰的方法   
       只设置属性的@property 时,属性为只读
    @score.setter 
       把属性装饰成set方法  
       给属性赋值时,会自动调用@score.setter装饰的方法


    查看全部
    1 采集 收起 来源:python中 @property

    2019-03-01

  • 装饰器,接受函数,返回新函数  @decorator

    打印日志:@log

    检测性能:@performace

    数据库事务:@transaciton    

    url路由:@post('/register')

    查看全部
  • 方法调用与函数调用的区别,输出0X00F...和Ahttps://img1.sycdn.imooc.com//5c78a92000015ddc03450320.jpg

    查看全部
  • 在函数内部定义的函数和外部定义的函数是一样的,只是他们无法被外部访问;将 g 的定义移入函数 f 内部,防止其他代码调用 g

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

    2019-03-01

举报

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

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