python基础(四)------文件操作、自定义函数和匿名函数、类和对象

python基础(三)------常用的内置函数

1、文件操作
访问模式解释
r只读的方式打开文件,文件的指针放在开头,如果没有这个文件将会报错,这个是默认模式
w只写的方式打开文件,如果存在这个文件将会覆盖,不存在将创建新的文件
a追加的方式打开文件,如果存在这个文件将会在末尾追加,不存在将穿件新文件
r+读写的方式打开文件,如果文件不存在,将报错
w+读写方式打开,如果存在文件将会被覆盖,不存在将穿件新文件
a+读写方式打开,如果存在将在末尾追加,不存在将报错
rb二进制读的方式打开文件, 通常用在图片和视频保存和读取当中
wb二进制写的方式打开文件,通常用在图片和视频保存和读取当中
ab以二进制格式打开文件用于追加
rb+以二进制格式打开一个文件用于读写
wb+以二进制格式打开一个文件用于读写,如果存在该文件会覆盖,不存在将创建新文件
ab+以二进制格式打开一个文件用于追加
# with语句用于包装带有使用上下文管理器定义的方法的代码块的执行。
# read()会把文件的所有内容一次性读到内存
# readlines()一次读取全部内容,存放在列表里面
# readline()一次读取一行内容
# write()写入内容
# 读取文件时候尽量设置读取的编码格式,以防乱码;读取D盘下面的cs.txt文件
>>> with open('D:\cs.txt','r',encoding = 'utf-8') as f:
...     print(f.read())
...
测试数据111
测试数据222
测试数据333
测试数据444
>>> with open('D:\cs.txt','r',encoding = 'utf-8') as f:
...     print(f.readline())
...
测试数据111
>>> with open('D:\cs.txt','r',encoding = 'utf-8') as f:
...     list = f.readlines()
...     print(type(list))
...     print(list)
...
<class 'list'>
['测试数据111\n', '测试数据222\n', '测试数据333\n', '测试数据444']
2、自定义函数和匿名函数
# 在函数内部可以写许多执行语句,使用函数可以提高代码复用率,代码逻辑清晰
# 无参函数
>>> def func():
...     print("我是一个函数")
...
>>> func()
我是一个函数
# 有参函数
>>> def func(name,age):
...     print("我的名字是%s,我的年龄是%d"%(name,age))
...
>>> func("张三",25)
我的名字是张三,我的年龄是25
# 含有返回值的函数
>>> def func(i):
...     i = i + 20
...     return i
...
>>> func(10)
30
# 匿名函数主要是通过lambda来实现,只能执行简单的语句
>>> func = lambda x, y : x + y
>>> func(1, 2)
3
3、类和对象
>>> class Person:
...     def __init__(self,name,age):   # 初始化方法,会自动把传过来的参数进行赋值
...             self.name = name
...             self.age = age
...     def show_result(self):   # 输出语句,还可以定义更多的函数
...             print(f'我的名字是{self.name},年龄是{self.age}')  # 在字符串的前面加上f,会自动把{}中的值进行替换
...
>>> person = Person("zs",20)  # 创建对象
>>> person.show_result()   # 调用里面的方法
我的名字是zs,年龄是20
>>> class Student(Person):  # 继承Person类
...    def __init__(self, name, age, number):
...        super().__init__(name, age)  # super()表示父类,可以使用他调用父类的方法
...        self.number = number
...    def show_result(self):
...        super().show_result()
...        print(f"我的学号是{self.number}")
>>> stu = Student("张三", 18, 11111)  # 创建对象
>>> stu.show_result()	# 调用里面的方法
我的名字是张三,年龄是18
我的学号是11111
# @classmethod把一个方法封装成类方法,例如在Person类中的show_result()方法前面加上该标志,就会变成类方法,可以直接通过类名直接调用Person.show_result(),也可以通过对象调用
# staticmethod把一个方法封装成静态方法,例如在Person类中的show_result()方法前面加上该标志,就会变成静态方法,可以直接通过类名直接调用Person.show_result(),也可以通过对象调用

python基础(五)------正则表达式re中的match、search、sub、compile、findall方法及使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值