split()分割 join()合并
li.append()给列表添加元素
split()分割 join()合并
li.append()给列表添加元素
字符串切片slice操作
【起始:终止:步长】
【::-1】反向提取 倒序输出
str()实现数字转型字符串 print()函数会自动调用
使用[]提取字符
a[0],a[1],...a[n-1]
a[-1],a[-1]....a[-n]
replace()实现字符串替换,实际上是创建了一个新的字符串,并且指向了变量a
字符串操作
转义字符 字符串拼接 字符串复制 不换行打印
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不支持常量,只能在程序逻辑上不做修改
开发环境
IDE(intergrated development environment 集成开发环境)
数组的形状
shape即可查看数组的各个维度长度(输出按三维二维依次降低,块、行、个)
reshape方法可以重新设置行列,是有返回值的,而不改变本身
有返回值才会输出
结合shape和reshape可以做到在不清楚维度长度的情况下降维
flatten可以将数组展开变成一维
数组的计算
numpy数组对数字进行+*-/计算,是对全部单元进行计算
nan>>not a number 0/0
inf>>infinite x/0
数组对数组进行计算:
不同维度的数组进行计算至少有一个维度的长度相同
广播会在缺失或者长度为1的维度上进行(不同维度的计算本质上是广播)
广播原则:如果两个数组的后缘维度,即从末尾开始算起的维度轴长相符,或者某一方的长度为1,即广播jian'r
一维数组只有0轴,二维有0、1轴,三维有0、1、2轴
reshape(0,1,2),shape输出(2,1,0)
CSV逗号分隔值文件
numpy的读取文件方法
unpack参数实现行列转置
transpose,T,swapaxes(1,0)方法实现行列转置
当我们导入某个模块文件时, 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(
模块:
递归算法: