初学python,小记二
Posted shaonianlang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学python,小记二相关的知识,希望对你有一定的参考价值。
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,小记二的主要内容,如果未能解决你的问题,请参考以下文章