is
is not
is和==的区别
is用于判断两个变量引用对象是否为同一个,比较对象的地址。
==用于判断变量引用的对象的值是否相等,默认调用对象的_eq_方法。
整数缓存 【-5,256】会被缓存起来,仅在命令行中执行,pycharm保存为文件【-5,无穷大】都会被缓存
is比==效率高 变量和None比较时使用is
is
is not
is和==的区别
is用于判断两个变量引用对象是否为同一个,比较对象的地址。
==用于判断变量引用的对象的值是否相等,默认调用对象的_eq_方法。
整数缓存 【-5,256】会被缓存起来,仅在命令行中执行,pycharm保存为文件【-5,无穷大】都会被缓存
is比==效率高 变量和None比较时使用is
比较运算符
逻辑运算符
同一运算符:用于比较两个对象的存储单元,实际比较的是对象的地址。
math.sqrt()
调用math模块
浮点数类型转换float()
round()可以实现四舍五入,但不会改变原有值
增强型赋值运算符:赋值符与赋值符号=结合
0b或0B 二进制
0o或0O 八进制
0x或0X 十六进制
使用int类型转换
浮点数舍去小数
布尔值真为1,否为0
字符串符合整数类型可以直接转化,否则不行
自动转型
python3可以存储任意大小整数
数据类型
整型
浮点型 小数、科学计数
布尔型
字符串型
数字运算符:+ - * /浮点数除法 //整除 %模 **幂
divmod()得到
链式赋值:同一个对象赋值给多个变量
系列解包赋值:a,b,c=1,2,3 a,b=b,a实现变量交换
常量:python不支持常量,只能在程序逻辑上不做修改
开发环境
IDE(intergrated development environment 集成开发环境)
当我们导入某个模块文件时, Python 解释器去哪里找这个文件呢?只有找到这个文 件才能读取、装载运行该模块文件。
它一般按照如下路径寻找模块文件(按照顺序寻找,找 到即停不继续往下寻找):
1. 内置模块
2. 当前目录
3. 程序的主目录
4. pythonpath 目录(如果已经设置了 pythonpath 环境变量)
5. 标准链接库目录
6. 第三方库目录(site-packages 目录)
7. .pth 文件的内容(如果存在的话)
8. sys.path.append()临时添加的目
导入包操作和本质 上一节中的包结构,
我们需要导入 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:从文件尾开始计算