Python基础之面向对象与文件

面向对象

class:

定义类

_ _init__():

 初始化对象  实例方法    _ _init__()是在创建对象后,就立刻被默认调用

_ _del__():

删除一个对象,每次调用减1

_ _str__():

转为字符串格式,需要print输出

_ _new__():

创建对象    静态方法     _ _new__(cls, *args, **kwargs):

_ _mro__:

可以查看子类c的对象搜索方法时的先后顺序    C._ _mro__

_ _slots__():

限制目的,对子类不起作用

_ _name__:

如果放在Modules模块中,表示是模块的名字
​
如果放在Classs类中,表示类的名字

_ _name__:表示模块,类等的名字;

_ _main__:模块,xxx.py文件本身:

  • 被直接执行时,对应的模块名就是_ _main__了

    • 可以在

    • if _ _ name__ == “ _ _main__”:

    • 中添加你自己想要的,用于测试模块,演示模块用法等代码。

  • 作为模块,被别的Python程序导入(import)时,模块名就是本身文件名xxx了

_ _XXX__():

魔方方法

str():

将用于将值转换为字符串适合人的阅读形式

repr():

供解释器来阅读 eval()逆转

@classmethod:

类方法 cls

@staticmethod:

静态方法    不需要传递参数

hasattr():

检测某一个属性是否存在,true  false

type(name,bases,dict):

name:类名
bases:由父类名称所组成的元祖(继承)
dict:包含属性和方法(名称和值)  
​
属性为类属性

type 和 object 的关系:相互依存

types:

为对象添加实例方法
​
实例对象.实例方法=types.MethodType(实例方法,实例对象)

_ _xxx:

定义私有属性

 

文件

open(file,mode):

file--->文件名
mode--->访问模式
​
r   以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
​
w   打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a   打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb  以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+  打开一个文件用于读写。文件指针将会放在文件的开头。
w+  打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+  打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+     以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+     以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+     以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

close():

文件的关闭

write():

向文件中写入数据

writerow:

 

read(num) num---->数值,表示要从文件中读取数据的长度(单位字节),如果不传参数表明读取文件中所有的数据,如果多次执行读操作,那么后面读取的数据是从上一次读完后的位置开始

readline():

每一次读取一行数据,返回字符串格式

readlines():

读取所有数据,返回列表格式

tell():

获取当前读写的位置

seek():

定义位置
​
seek(offset,whence)
offset:偏移量
whence:方向

0:文件的开头位置 1:表示当前的位置 2:表示文件的末尾

rename():

文件重命名   rename(需要修改的文件名,新的文件名)

remove():

文件删除     remove(待删除的文件名)     
​
remove()删除首个符合条件的元素
​
del  根据索引删除
​
pop()移除列表的一个元素,默认最后一个

mkdir(path):

创建文件夹   path文件名

getcwd():

获取当前的目录     os.getcwd()

listdir():

获取当前目录中的文件列表

rmdir(str):

删除文件夹   str---->需要删除文件夹的名称
​
删除目录(要求必须是空目录)

StringIO(str):(内存中)

str:写入内容 	getvalue()方法用于获得写入后的str  f.getvalue()

BytesIO():(内存中)

 f = BytesIO()

f.write('中文'.encode('utf-8'))	(写入的不是str,而是经过UTF-8编码的bytes)

print(f.getvalue())

try...except:

捕获异常

把可能出现问题的代码,放在try中
把异常处理的代码放入except中	(元祖方式储存)

as:

获取异常信息 	except 错误的类型 as 错误描述

else:

try:
   		可能出现问题的代码

except: 异常捕获 else: 没有异常:

try...finally:

finally后放入必须执行的操作

自定义异常:

Exception/error(必须继承,父类)
raise+需要引发的异常

闭包

内部函数中对外部函数作用域中的变量的引用(非全局变量),称内部函数为闭包

def w1(func): def inner():

验证1

验证2

func()
return inner
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值