为了账号安全,请及时绑定邮箱和手机立即绑定
  • 什么是面向对象编程

    • 程序设计的范式

    • 抽象并建立对象模型

    • 程序是不同对象相互调用的逻辑


    https://img1.sycdn.imooc.com//615ae9ec00016ccb06530090.jpg

    http://img1.sycdn.imooc.com//615aea330001343905590293.jpg

    查看全部
  • Python进阶课程学习内容:

    • 面向对象编程

    • 类的继承

    • 类的特殊方法

    • Python模块


    • Python文件编程

    • Python网络编程

    • 函数式编程


    查看全部
    0 采集 收起 来源:课程介绍

    2021-10-04

  • 在实际工程中,close()文件之前,为了正确关闭文件,需要考虑各种异常情况,这是非常麻烦的一件事,Python提供with关键字,可以免除这类后顾之忧。
    with关键字对资源进行访问的场合,会确保不管在使用过程中是否发生异常,都会执行必要的“清理”的操作,释放资源,比如文件使用后自动关闭等等。
    查看全部
  • 使用a的打开方式打开文件,文件游标默认是在文件的尾部,因此,可以便捷的往文件尾部添加内容,除此以外,文件对象还提供seek()方法,可以移动文件的游标位置,它接受一个参数,表示文件的位置,0:文件首部,1:当前位置,2:文件尾部,通过seek()可以把文件游标移动到文件首部但不删除文件的内容。
    查看全部
  • 因此,通过input()函数,则可以改变上面程序运行的范围,注意:输入的是字符串,需要转型为数字类型。
    查看全部
  • f = open('test.txt','r')
    lines = f.readlines()
    f1 = open('test1.txt','w')
    for line in lines:
        line = line[::-1]
        line = line[1:]
        f1.write(line+'\n')
        print(line)
    f1.close()
    f.close()

    Line6和Line7作用去除反转后开头的'\n'、在结尾追加\n

    查看全部
  • # Enter a code

    class Person(object):

        def __init__(self,name,gender):

            self.name = name

            self.gender = gender


    class SkillMixin(object):

        def __init__(self,skill):

            self.skill = skill


    class Student(Person):

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

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

            self.score = score

    class Tercher(Person):

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

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

            self.course = course


    class BasketballMixin(SkillMixin):

        def skill(self):

            return 'Skill is basketball'

    class FootballMixin(SkillMixin):

        def skill(self):

            return 'Skill is football'

    class BStudent(Student,BasketballMixin):

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

            super(BStudent,self).__init__(name,gender,score)

    class FTercher(Tercher,FootballMixin):

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

            super(FTercher,self).__init__(name,gender,course)

        

    s = BStudent('Bob','Male')

    print('Studen\'s name is {}, Gender is {}, Skill is {}.'.format(s.name, s.gender ,s.skill()))


    t = FTercher('Alice','Female')

    print('Tercher\'s name is {}, Gender is {}, Skill is {}.'.format(t.name, t.gender ,t.skill()))

    Line27、Line30 不知道super()能不能不从父类全部继承?
    查看全部
    0 采集 收起 来源:Python中的多态

    2021-09-29

  • 通过函数isinstance()可以判断一个变量的类型。

    在继承链上,一个父类的实例不能是子类类型,因为子类比父类多了一些属性和方法。
    一条继承链上,一个实例可以看成它本身的类型,也可以看成它父类的类型。
    查看全部
    0 采集 收起 来源:Python判断类型

    2021-09-28

  • 定义父类
    class Person:
        def __init__(self,name,age):
             self.name = name
             self.age = age
    定义子类
    class Student(Person):
         def __init__(self,name,age,score):
              Person.__init__(self,name,age)  必须显示调用父类构造方法
              self.score = score
    查看全部
    0 采集 收起 来源:Python继承类

    2021-09-28

  • 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
    类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
           因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
    查看全部
  • 私有属性没有办法从外部访问,只能在类的内部操作;那如果外部需要操作私有属性怎么办?这个时候可以通过定义类或者实例的方法来操作私有属性
    实例的方法指的就是在类中定义的函数,实例方法的第一个参数永远都是self,self是一个引用,指向调用该方法的实例对象本身,除此以外,其他参数和普通函数是完全一样的。
    查看全部
  • 类属性和实例属性同时存在的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。
    当实例没有和类同名的时候,通过实例对象,依然可以访问到类属性。
    通过实例是无法修改类的属性的,事实上,通过实例方法修改类属性,只是给实例绑定了一个对应的实例属性
    查看全部
  • 通过实例是无法修改类的属性的,事实上,通过实例方法修改类属性,只是给实例绑定了一个对应的实例属性:

    因此,需要特别注意,尽量不要通过实例来修改类属性,否则很容易引发意想不到的错误。
    查看全部
  • 在类属性和实例属性同时存在的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。
    另外,当实例没有和类同名的时候,通过实例对象,依然可以访问到类属性。
    查看全部
  • 私有属性是以双下划线'__'开头的属性。

    # 类私有属性
    class Animal(object):
       __localtion = 'Asia'

    print(Animal.__localtion)

    Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
    AttributeError: type object 'Animal' has no attribute '__localtion'

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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