初学python,小记二

2021-04-22 12:29

阅读:470

标签:初学   文件   method   学python   通过   选择性   多重继承   file   析构   

1、文件读写模式

r: 读取模式(默认值)

w: 写入模式

x: 独占写入模式

a: 附加模式

b: 二进制模式(与其他模式结合使用)

t: 文本模式(默认值,与其他模式结合使用)

+: 读写模式(与其他模式结合使用)

---->>>>使用open函数打开文件  f = open("test.txt");

---->>>>使用close函数关闭文件 f.close()   # tips此处要做异常处理

---->>>>使用with语法,当文件打开后,到达语句末尾,将自动关闭文件,即便出现异常亦是如此

with open("somefile.txt") as f :

  do_something(f)

文件的读取

read():读取文件,可以指定参数,表示读几个字符(字节)

readline():读取一行数据,可以指定参数,表示读取前几个字符(字节)

readlines():读取所有行,并返回列表

---->>>seek():方法用于移动文件读取指针到指定位置

file.seek(offset,whence)

offset:开始的偏移量,也代表需要移动偏移的字节数

whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头,1代表从当前位置算起,2代表从文件末尾算起。whence值为空默认为0

文件的写入

使用write函数向打开的文件对象写入内容

使用writelines函数向打开的文件对象写入多行内容

 

2、面向对象及内存管理

- 类是模子,确定对象将会拥有的特征(属性)和行为(方法)

- 对象是类的实例表现

- 类是对象的类型

- 对象是特定类型的数据

面向对象的三大特征:

- 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问; 通过该类提供的方法来实现对隐藏信息的操作和访问; 隐藏对象的信息; 留出访问接口

特点:1、只能通过规定的方法访问数据    2、隐藏类的实例细节,方便修改和实现

- 继承:一种类与类之间的关系;使用已存在的类的定义作为基础建立新类;新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类

关系:满足“A is a B" 的关系就可以形成继承关系

- 多态:意味着允许不同类的对象对同一消息作出不同的响应

必要条件:1、满足继承的关系   2、父类引用指向子类对象

 

3、类的特性

-类的特殊方法--构造函数

# 类的属性

tag = "cat base"

def __init__ (self, name, *age):

  # 实例化后的属性

  self.name = name

  pass

 - 析构函数 等

def __del__(self):

  pass

- 类的实现

技术图片

 

- 类的实例鉴定

>>>isinstance(cat, Cat)

True

- 类的继承

判断是否为其子类

>>>issubclass(GoldDog,Animal)

True

调用父类的方法

def eat(self):

  super(Cat,self).eat

  print("猫喜欢吃鱼")

示例:

 技术图片

 

  类的多重继承

示例:

技术图片

 

 多重继承规则:

调用多个父类中方法(属性)重名,只调用成功第一个方法,后边的父类中方法不在调用

多态

- 同一个方法,在不同的类中最终呈现不同的结果

类的高级特性

- @property:将类的方法当作属性来使用

- @__slots__: 1、为指定的类设置一个静态属性列表  2、为属性很少的类节约内存空间  

使用@__slots__后不允许给实例增加新的属性,也不能给实例增加新的方法(函数)

类的静态方法和实例方法

- @staticmeethod: 表示静态方法   不需要实例化对象,直接调用方法

- @classmethod: 表示类方法

 

建议 :

1、命名要尽可能的语义化

2、慎用继承,尤其是多重继承

3、注释一定不可缺少

4、一个函数操作一个全局变量,最好将它们作为一个类的属性和方法

4、方法应只关心其所属性实例的属性,对于其他实例的状态,让他们自己去管理

初学python,小记二

标签:初学   文件   method   学python   通过   选择性   多重继承   file   析构   

原文地址:https://www.cnblogs.com/shaonianlang/p/13232902.html


评论


亲,登录后才可以留言!