字符串操作
转义字符 字符串拼接 字符串复制 不换行打印
input()从控制台读取键盘输入的内容
字符串操作
转义字符 字符串拼接 字符串复制 不换行打印
input()从控制台读取键盘输入的内容
字符串
字符串使用的比数字更多,逻辑思维能力。
python中字符串不可变
不支持单字符
支持Unicode,可以表示任何书面语言的字符
ord()把字符转换成对应的Unicode码
chr()把十进制数字转换成对应的字符
空字符串 c = ""
len()函数查看字符串长度
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不支持常量,只能在程序逻辑上不做修改
消耗时间大小:
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()临时添加的目
导入包操作和本质 上一节中的包结构,
我们需要导入 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 十六进制