为了账号安全,请及时绑定邮箱和手机立即绑定
  • 通过实例方法不能修改类的属性

    查看全部
  • 为了操作类的私有属性,需要定义类的方法。

    class Animal(object):
        __localtion = 'Asia'
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        @classmethod
        def set_localtion(cls, localtion):
            cls.__localtion = localtion
    
        @classmethod
        def get_localtion(cls):
            return cls.__localtion
    
    print(Animal.get_localtion()) # ==> Asia
    Animal.set_localtion('Afica')
    print(Animal.get_localtion()) # ==> Africa

    > 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法

    > 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。

    查看全部
    • write向文件内写入若干字符,它接受一个字符串参数,表示需要写入的字符串。

      f = open('test.txt', 'w')
      f.write('Hello World\n')
      f.close()

    • writelines向文件内容写入多行数据,它接受一个列表,表示需要写入的字符串列表。

      lines = ['Hello World\n', 'Hello Python\n', 'Hello Imooc\n']
      f = open('test.txt', 'w')
      f.writelines(lines)
      f.close()

    查看全部
    • read读取若干字符

      s = f.read(5)
      print(s) # ==> Hello

      当read()之后,访问文件的游标就会移动到第六个字符前面,此时,继续read,将得到Hello后面的结果。

      s = f.read(6)
      print(s) # ==> ' World'

    • readline可以读取文件中的若干个字符,它也提供一个参数size,可以指定读取字符的数量,但是readline()方法遇到一行结束的时候,就会返回,即readline最多返回一行的所有字符。

      f.close()
      f = open('test.txt', 'r') # 重新打开文件
      s = f.readline(20)
      print(s)  # ==> 'Hello World.\n'

    • readlines读取多行,返回列表,它提供一个hint参数,表示指定读取的行数,没有指定则默认以列表的形式返回文件所有的字符串。

      f.close()
      f.open('test.txt', 'r')
      s = f.readlines()
      print(s) # ==> ['Hello World.\n', 'Hello Python.\n', 'Hello Imooc.\n']


    查看全部
  • 实例的方法指的就是在类中定义的函数.

    实例方法的第一个参数永远都是self,self是一个引用,指向调用该方法的实例对象本身.

    除此以外,其他参数和普通函数是完全一样的。

    在外部调用实例方法时,是不需要显式传递self参数的。

    查看全部
  • 不能被外部访问的属性称为私有属性。私有属性是以双下划线'__'开头的属性。


    在外部访问私有属性将会抛出异常,提示没有这个属性。

    虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。私有属性是为了保护类或实例属性不被外部污染而设计的。

    查看全部
  • 属性可以分为类属性和实例属性;

    类属性和实例属性的优先级的问题:

    实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。

    > 尽量不要通过实例来修改类属性,否则很容易引发意想不到的错误。

    查看全部
  • 定义类属性可以直接在 class 中定义。

    class Animal(object):
        localtion = 'Asia'
        def __init__(self, name, age):
            self.name = name
            self.age = age
    dog = Animal('wangwang', 1)
    cat = Animal('mimi', 3)
    print(dog.localtion) # ==> Asia
    # 类属性,也可以通过类名直接访问
    print(Animal.localtion) # ==> Asia

    类属性也是可以动态添加和修改的;

    当改变的时候,所有实例可以访问到的类属性都会变更。

    Animal.localtion = 'Africa'
    print(cat.localtion) # ==>Africa
    print(dog.localtion) # ==>Africa
    查看全部
    0 采集 收起 来源:Python类属性

    2021-06-15

  • 属性初始化,

    在定义类时,可以为类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用。

    > __init__() 方法的第一个参数必须是 self;后续参数则可以自由指定,和定义函数没有任何区别。

    在实例化的时候,需要提供除self以外的所有参数。

    查看全部
  • 类的定义:

    通过class关键字来定义,类名开头大写。

    创建实例使用类名+(),类似函数调用的形式创建。

    查看全部
  • 面向对象编程:

    • 程序设计的范式;

    • 抽象并建立对象模型;

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

    概念:

    类,抽象出来的每一个对象;

    实例,类的模型;

    实例化,从类到实例的过程;

    属性,属于某一个类的属性。

    查看全部
    • 大量的非文本文件,比如图片、压缩文件、视频文件、音乐文件等等,这种文件统称为二进制文件

    • f = open('test.jpg', 'rb')
      f.close()

    查看全部
    • Python 提供了open()函数可以打开一个文件,得到一个文件file对象,而file对象提供相关的方法对文件内容进行读写等操作。

    • open()函数有若干个参数,比较重要的是以下三个参数:

      文件路径:指定需要打开的文件的文件路径

      打开模式:针对不同文件(二进制文件、文本文件)以及不同操作(读操作、写操作),会有不同的打开模式

      编码:设定打开文件的默认编码

    • 为了安全操作文件,文件使用完毕后,需要使用close()函数正确关闭。

    • 在当前目录下新建一个test.txt文件,并新建一个main.py,

      f = open('test.txt', 'r') # 打开test.txt文件
      type(f) # 打印f的类型(<class '_io.TextIOWrapper'>)
      f.close() # 关闭文件

    查看全部

举报

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

微信扫码,参与3人拼团

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

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