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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

    由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

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

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

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

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

    由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。


    查看全部
  • pass代表暂时不知道或者不想加入代码,留等以后可以根据需要加入或者修改代码,而在老师的课程内,则是代表不想写入代码,因为该函数或者类的代码对于这个课程是没有必要的,而如果不写入代码函数或者类会报错,但使用pass后便能顺利通过

    查看全部
  • class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender

        def whoAmI(self):

            return 'I am a Person, my name is %s'% self.name

    class Student(Person):

        def __init__(self, name, gender, score):

            super(Student,self).__init__(name,gender)

            self.score = score

        def whoAmI(self):

            return 'I am a Student, my name is %s'% self.name

    class Teacher(Person):

        def __init__(self, name, gender, course):

            super(Teacher, self).__init__(name, gender)

            self.course = course

        def whoAmI(self):

            return 'I am a Teacher, my name is %s' % self.name

    def who_am_i(x):

        print x.whoAmI()

    p = Person('Tim', 'Male')

    s = Student('Bob', 'Male', 88)

    t = Teacher('Alice', 'Female', 'English')

    who_am_i(p)

    who_am_i(s)

    who_am_i(t)



    import json


    class Students(object):

        def read(self):

            return r'["Tim", "Bob", "Alice"]'


    s = Students()


    print json.load(s)


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

    2018-09-28

  • class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender

    class Student(Person):

        def __init__(self, name, gender, score):

            super(Student,self).__init__(name,gender)

            self.score = score

    class Teacher(Person):

        def __init__(self, name, gender, course):

            super(Teacher,self).__init__(name,gender)

            self.course = course

    p = Person('Tim','Male')

    s = Student('Bob','Male',88)

    t = Teacher('Alice','Female','English')

    print isinstance(p,Person)

    print isinstance(s,Student)

    print isinstance(s,Teacher)

        

    class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender

    class Student(Person):

        def __init__(self, name, gender, score):

            super(Student,self).__init__(name,gender)

            self.score = score

    class Teacher(Person):

        def __init__(self, name, gender, course):

            super(Teacher,self).__init__(name,gender)

            self.course = course

    t = Teacher('Alice','Female','English')

    print isinstance(t,Person)

    print isinstance(t,Student)

    print isinstance(t,Teacher)

    print isinstance(t,object)


    查看全部
  • class Person(object):

        def __init__(self, name, gender):

            self.name = name

            self.gender = gender


    class Teacher(Person):


        def __init__(self, name, gender, course):

            super(Teacher,self).__init__(name,gender)

            self.course = course


    t = Teacher('Alice', 'Female', 'English')

    print t.name

    print t.course


    查看全部
  • //和/的区别为版本问题

    查看全部
  • class Person(object):

        count = 0

        @classmethod

        def how_many(cls):

            return cls.count

        def __init__(self, name):

            self.name = name

            Person.count = Person.count + 1


    print Person.how_many()

    p1 = Person('Bob')

    print Person.how_many()



    class Person(object):

        __count = 0

        @classmethod

        def how_many(cls):

            return cls.__count

        def __init__(self, name):

            self.name = name

            Person.__count = Person.__count + 1


    print Person.how_many()

    p1 = Person('Bob')

    print Person.how_many()


    查看全部
  • 乘法通分公式,self调用的肯定是第一个参数,r肯定调用的是第二个参数

    查看全部
  • 1.

    访问 p1.address 时,优先查找实例属性,返回'China'。

    访问 p2.address 时,p2没有实例属性address,但是有类属性address,因此返回'Earth'。


    查看全部
    1. 由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值,

    2. 实例的属性可以像普通变量一样

    查看全部
  • class Person(object):

        def __init__(self, name, score):

            self.name = name

            self.score = score

        def get_grade(self):

            return 'A'

    p1 = Person('Bob', 90)

    print p1.get_grade()


    import types

    def fn_get_grade(self):

        if self.score >= 80:

            return 'A'

        if self.score >= 60:

            return 'B'

        return 'C'

    class Person(object):

        def __init__(self, name, score):

            self.name = name

            self.score = score

    p1 = Person('Bob',90)

    p1.get_grade = types.MethodType(fn_get_grade,p1,Person)

    print p1.get_grade()

    p2 = Person('Alice',65)

    p2.get_grade = types.MethodType(fn_get_grade,p2,Person)

    print p2.get_grade()


    class Person(object):

        def __init__(self, name, score):

            self.name = name

            self.score = score

            self.get_grade = lambda:'A'

    p1 = Person('Bob',90)

    print p1.get_grade()


    查看全部
  • 类中定义的函数第一个参数永远是self;

    调用实例方法必须在实例上调用

    查看全部
  • __str__()用于显示给用户,而__repr__()用于显示给开发人员。

    如果在交互式命令行下 直接敲变量 s 就会返回<main.Person object at XXX> 这样的东西

    如果你配置了__repr__ = __str__

    你交互式命令行下打print s 和 直接敲变量 s 的返回值是一样的 都是(Student: Bob,male,88)


    查看全部
    1. 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。

    2. 实例属性和类属性冲突时,实例属性优先级高于类属性优先级

    查看全部

举报

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

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