链式赋值:同一个对象赋值给多个变量
系列解包赋值:a,b,c=1,2,3 a,b=b,a实现变量交换
常量:python不支持常量,只能在程序逻辑上不做修改
链式赋值:同一个对象赋值给多个变量
系列解包赋值:a,b,c=1,2,3 a,b=b,a实现变量交换
常量:python不支持常量,只能在程序逻辑上不做修改
消耗时间大小:
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
开发环境
IDE(intergrated development environment 集成开发环境)
数据结构与算法:
算法是一种独立的解决问题的方法和思想,语言并不重要,重要的是思想
算法的五大特性:
1.输入:算法具有0个或多个输入
2.输出:算法至少有1个或多个输出
3.有穷性:算法在有限的步骤之后就会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间范围内
4.确定性:算法中的每一步都有确定性的含义,不会出现二义性
5.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
当我们导入某个模块文件时, Python 解释器去哪里找这个文件呢?只有找到这个文 件才能读取、装载运行该模块文件。
它一般按照如下路径寻找模块文件(按照顺序寻找,找 到即停不继续往下寻找):
1. 内置模块
2. 当前目录
3. 程序的主目录
4. pythonpath 目录(如果已经设置了 pythonpath 环境变量)
5. 标准链接库目录
6. 第三方库目录(site-packages 目录)
7. .pth 文件的内容(如果存在的话)
8. sys.path.append()临时添加的目
fsfada
导入包操作和本质 上一节中的包结构,
我们需要导入 module_AA.py。
方式如下:
1. import a.aa.module_AA 在使用时,必须加完整名称来引用,比如:a.aa.module_AA.fun_AA()
2. from a.aa import module_AA 在使用时,直接可以使用模块名。 比如:module_AA.fun_AA()
3. from a.aa.module_AA import fun_AA 直接导入函数 在使用时,直接可以使用函数名。 比如:fun_AA(
模块:
递归算法:
shutil模块:
作为os模块的补充,主要用来文件的拷贝和压缩
walk()递归遍历所有文件和目录
os.walk()方法:
返回一个 3 个元素的元组,(dirpath, dirnames, filenames)
dirpath:要列出指定目录的路径
dirnames:目录下的所有文件夹
filenames:目录下的所有文件
round函数 可以做四舍五入操作 不过不会改变原有值,而是产生新的值
一个新的知识点:
三种进制的表示方法:
0b 或者 0B 二进制
0o 或者 0O 八进制
0x 或者 0X 十六进制
os:和os.path模块:
os.system 可以帮助我们直接调用系统的命令
使用pickle实现序列化和反序列化:
pickle.dump(obj,file) obj就是要被序列化的对象,file指的是存储的文件
pickle.load(file) 从file读取数据,反序列化成对象
seek(offset,[whence])
off为正往结束方向移动,为负往开始方向移动
whence:
0:从文件头开始计算(默认值)
1:从当前位置开始计算
2:从文件尾开始计算
enumerate()函数:
将序列进行枚举,使用元组包含起来并每一个元素前面加上索引符。
文本文件的读取:
1.read([size])
从文件中读取size个字符,并作为结果返回。如果没有size参数,则读取整个文件。
2.readline()
读取一行内容作为结果返回。读取到文件末尾,会返回字符串。
3.readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表。
中文乱码问题:
windows操作系统默认的编码是GBK,Linux操作系统默认的编码是UTF-8。当用open()时,调用的时操作系统打开的文件,默认编码是GBK