1.读取文件,数据序列化
1024字节 = 1K 1024K = 1M
f = open('text.txt', 'r') // 读取本地文件
f.read() // 读取文件内容以字符串返回
f.readline() // 读一行
f.readlines() // 全部读取,一行为一个元素,数组返回全部
f.seek(3) // 修改当前读取位置,从第三个字符开始(3个字符为1个汉字)
f.close() // 关闭文件
with open('text.txt') as f: // with ... as XX 语句会在结束后自动关闭文件
with open('text.txt', 'w', encoding= 'utf-8') as fileObj:
a = fileObj.write('我是写入的文案') // 文件写入,返回写入的长度
json.dumps(f.read()) json转字符串
json.loads(f.read()) 字符串转json
2.判断变量类型
a = 'haha'
type(a) == type('str') 判断是字符串
3.导入包
import package_test(包名/文件夹名) // 相当于执行package_test 下的 _init_.py文件
// 可以在_init_py 文件内from . import xx (在当前路径导入xx模块)就可以通过1步骤的导入包后直接使用了
// from XX import aa 在XX文件下引用aa包
4.函数参数的解包
def fn(a, b, c):
print(a, b, c)
t = (10, 20, 30) // 元组
d = {'a': 100, 'b': 200, 'c': 300} // 字典
fn(*t) // 元组参数解包*号 10, 20, 30
fn(**d) // 字典**号 100, 200, 300
5.匿名函数 lambda表达式
fn = lambda a,b : a + b // lambda 参数列表 : 返回值
fn(10, 20) // 30
装饰器作用与特性 (原理-高阶函数)
- 扩展函数功能
- 方便后期维护
- 一个函数使用多个装饰器的情况下,执行顺序是就近先执行
6 类的 特殊方法
class Person(object):
def __init__(self): // 初始化时调用
pass
def __str__(self): // 尝试将对象转换为字符串的时候调用
pass
def __repr__(self): // 对当前对象使用repr()函数时调用
pass
def __del__(self): //垃圾回收机制时调用
pass
7 标准库 (使用前需要引用该依赖)
- sys.argv (获取执行命令所有参数, 返回值是列表类型)
- sys.modules (获取当前程序中引用的所有模块, 返回值是字典类型)
- pprint.pprint(sys.modules) (格式化打印输出)
- sys.platform (获取当前python的运行平台是什么)
- sys.exit() (退出程序)
- os.system('notepad') (执行系统命令,打开记事本)
- os.mkdir('aa') (创建目录)
- os.rmdir('aa') (删除目录)
- os.rmmove('aa.txt') (删除文件)
- os.rename('aa.txt', 'bb.txt') (aa文件重命名bb文件)
8处理异常
try:
print(10/0) // 可能出错语句
except: (except NameError:)
// 如果加上异常类型,只会检测该类型异常执行
// 也可以写多个except来检测兼容多个特殊异常
// 不加类型,检测所有错误
print('错误了') // 出错误执行
else:
print('未出错误执行')
finally:
print('总会执行')
手动抛出异常
raise Exception('自定义异常内容')
学习中,会慢慢更新