python 1.10 第一阶段的总结
总结
python介绍
-
操作系统的分类
windows linux mac -
CPU架构和状态
ARM架构 mac 安卓 x86架构 x64 i386 CPU的两种状态 内核态 控制计算机硬件 用户态 运行计算机指令 -
硬件和软件的关系
计算机系统三大件 CPU 内存 硬盘 内存 临时存储 存储IO快,断电丢失数据 硬盘 永久存储 存储IO慢 -
程序优化的方向
性能优化 读数据 能从内存中读数据,就不去硬盘内读数据,经常用的数据,提前从硬盘内取出来,缓存在内存中。 写数据 数据量不大的情况下(当前机器内存的2分之一),攒一波集中写到硬盘。如果文件体积过大,应该分片 ,一块块的写入硬盘。 -
编程语言的的分类
软件是什么 是由程序员使用 编程语言 开发出来的一大堆代码的集合 语言类型 机器语言 汇编语言 高级语言 解释型语言 分别有 shell python 解释型语言有专用的 解释器 编译型语言 c c++ java 编译型语言有专门的编译器 执行效率对比 机器语言>汇编语言>高级语言(编译型>解释型) 开发效率对比 机器语言<汇编语言<高级语言 -
python语言解释
python解释器的版本 python2 python3 python语言为了和其他语言做集成,分别做了不同语言的解释器 默认是Cpython jpython java ruby python ruby ironpython C# 启动方式 1、交互式启动 主要是单功能调试和debug代码使用 立马能够看到结果 缺点是不能保存文件 2、脚本启动 主要功能是启动程序,永久保存文件 启动过程 1、启动解释器,加载环境变量 2、解释器程序从硬盘加载到内存 3、开始识别内存数据的python语法 总结:python 是一个 解释型 强数据类型的语言 -
面试题总结
-
Python和Java、PHP、C、C#、C++等其他语言的对比?
python 是一个 解释型 强数据类型的语言, 可以被不同平台的解释器执行 语法简单,库类强大 开发效率高 对比编译型语言执行效率较低 -
简述解释型和编译型编程语言?
编译器和解释器的作用是把编程语言的代码翻译成计算机能够识别的指令 解释器在程序运行时 实时翻译代码,运行效率慢 编译器是编译一次得出可执行的结果,下次使用的时候直接运行结果就可以,不需要再次编译,运行效率高 -
Python解释器种类以及特点?
默认是Cpython Jpython icorpython rubypytho pypy 特点是为了把python代码和自己语言的代码进行集成
-
函数总结
-
print函数
print 的功能是打印输出的结果。 # \n 换行符 # \r 回车 print("哈哈哈哈") 正常print的默认输出结果是带有换行符的 也就是 \n print("哈哈哈哈",end="") 输出的结果,排成一行 print("\n") 输出空行 print("\n"*4) 输出4个空行 print("bbbbb\n") 输出空一行,输出一行 -
input函数
接收用户输入的内容 -
len函数
查看变量的长度 -
range函数
range(10) # [0,1,2,3,4,5,6,7,8,9] range(1,10) # [1,2,3,4,5,6,7,8,9] range(1,10,2) # [1,3,5,7,9] range(10,1,-1) # [10,9,8,7,6,5,4,3,2] -
type函数
查看 数据类型 -
divmod函数
整型除法计算 商和余数 -
注释
# 单行注释 注意留空格 设置配置项的时候不需要留空格比如 #IP:192.168.10.1 ''' 多行注释 ''' -
None
这个值啥都不是 或 表示空。 相当于其他语言中 `null`作用一样。 在一定程度上可以帮助我们去节省内存 提前定义一个变量名 可以在逻辑代码中使用 -
pass
保持代码完整性的填充关键字 -
is ==
is 比较内存地址id 是否一致 == 对比 变量值是否一致
字符串
-
特性
必须用双引号 或者单引号 括起来 变量名 1、见面知意 2、不能使用关键字 不能以数字 特殊字符开头 3、以小写字符加下划线命令 或者驼峰体 -
独有方法
isdecimal 判断字符串是否数字类型 strip lstrip rstrip 去除空格 左边去空格 右边去空格 字符串 大小写 upper lower 字符串 开头startswit endswith 结尾 center 字符居中输出 居左ljust 居右rjust等 字符串切割 split(“”) replace 字符替换 字符串索引 index join 链接 encode 以编码格式存储在硬盘 decode 以编码格式 解码到内存 zfill 填充二进制数为多少位 -
公共方法
字符串 运算 字符串相乘 a*4 字符串相加 a+b len 长度 索引 字符串索引拆分单个字符 字符串的索引可以取到每一个元素,但是不可以更改 切片 a="1234" a[0:2] 字符串的步长 也可以取到每个元素 不可以更改 [0:-1:-1] 0 从头 -1 到最后 - 翻转 1 步长1 -
类型转换
字符串 转字节 必须指定 字符编码 .encode() 字节数据转字符串,必须解码 .decode() 字符串以数字的形式可以转成整形 -
其他属性
格式化输出
% 输出
%s 表示字符串 %d 数字
print("%s "%(name))
format 输出
aa = " {name} ".format(name)
f 输出
3.6以后的版本 可以在{执行函数}
f"{name}"
数字
long长整形不讨论
整形
-
特性
作用: 记录个数 ,数值,年龄 月份 高 宽 游戏等级 -
独有方法 无
-
公共方法
-
运算
加 print(123 + 456) 减 print(123 - 111) 乘 print(55 * 2) # 乘法 除 print(122 % 2) # 除法 取余数 print(122 / 2) # 除法 有小数 print(10//3) # 只取整数 divmod(10/3) # 返回 余数 和 小数 平方计算 ** 求幂运算 -
统计计算
min 最小数 max 求 列表内最大数 求 字典value的最大数 abs 求负数的绝对值 sorted排序 数字的排序 -
位运算
all all('迭代器')与的运算 Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. 传入的元素全都为真才是真,但是可迭代对象是一个空的列表 也为真 any any('迭代器') 或的运算 元素中一个为真,则是真 &与运算 |或 ^ 异或 ~ 取反 `<<`,左移动 `>>`,右移动 一般在 网络协议 算法 底层使用 -
类型转换
整数的转换经常发生在 字符串(整数形式的)和数字之间 整数除了0 是False 其他都是True 数字之间的进制转换 bin 十进制转二进制 oct 十进制转八进制 hex 十进制转 十六进制 其他进制转十进制 int("0b11111",base=2) int("0o11111",base=8) int("0x11111",base=16) -
其他属性
浮点型
-
独有方法
小数点 运算使用 round函数 指定小数点位数 想要保留小数点后N位 v1 = 3.1415926 result = round(v1,3) print(result) # 3.142 在项目中如果遇到精确的小数计算应该怎么办? import decimal v1 = decimal.Decimal("0.1") v2 = decimal.Decimal("0.2") v3 = v1 + v2 print(v3) # 0.3
运算符优先级
-
符号大全
加 + 减 - 乘 * 除 / // % == 等于 > 大于 < 小于 >= 大于等于 <= 小于等于 != 不等于 大于 小于 只能用于数字类型之间进行比较 加减乘除 > 大于小于 > not > and >or 运算优先级 可以使用()进行包裹 -
赋值运算
+= -= *= /= %= **= //= -
成员运算
not in 不在 in 在 -
逻辑运算
and 与 真1 真2 = 真2
or 或 真1 真2 = 真1
not 非
3个优先级从高到低总结:加减乘除 > 比较 > not and or 。绝招:加括号。
布尔
-
特性 真假的状态
整数0、空字符串、空列表、空元组、空字典转换为布尔值时均为False 其他均为True -
类型转换
- 其他所有类型转换为布尔类型时,除了 空字符串、0以为其他都是True。 - 字符串转整形时,只有那种 "988" 格式的字符串才可以转换为整形,其他都报错。 - 想要转换为那种类型,就用这类型的英文包裹一下就行。
列表
-
特性
列表的特性 有序可变 数据类型 有序 就可以使用 索引 可变 就可以修改 -
独有方法
append 添加元素 extend 批量添加元素 insert 插入元素 remove 删除元素 没有报错 pop 删除元素 返回元素值 索引删除 clear 清空元素 sort 排序根据 字符编码表 reverse 反序列表 index 根据值获取索引 没有报错 count 查重元素 copy 复制列表 -
公共方法
运算 list + list list * 4 in not in 判断元素在不在 len 获取长度 索引 根据索引 取值 根据索引 赋值 根据索引 删值 切片 步长取值 翻转 数据排序 -
类型转换
字符串 转列表 每个元素是一个字符 元组 转列表 集合 转列表 -
嵌套
列表是可变数据类型 可以嵌套使用 [a:[aa[aaa[aaaa]]]
元组
-
特性
有序 不可变的容器 我儿子永远不能换成是别人,但我儿子可以长大 有序可以使用 索引 步长 不可变 不能改变元素数据 tuple=() 元组定义一定加, 不然识别成整型 元组 只能定义使用 没有内置方法 增删改查 -
独有方法
-
公共方法
相加 相乘 len获取长度 索引 切片 步长 只能查看元组的数据值 -
类型转换
只有字符串和列表可以转换为元组 元组 使用场景是 用户名 和 密码 不可变的值 tuple = (name,passwd) list.append(tuple) -
其他属性
集合
-
特性
集合的特性 可变无序,不允许重复的容器 可变 改变值 无序 就是没有索引 空集合 使用 code=set{} 常用场景 就是 列表转集合,去重功能,判断元素是否存在 效率高 -
独有方法
集合set add添加 集合set.discard 删除 集合的交集 取两个集合相同的元素intersection s3 = s1 & s2 集合的并集 取两个集合不同的元素 union s3 = s1 | s2 也可以是 | 集合的差集 s1.difference(s2) s3 = s1 - s2 取s1 里有的,s2 中没有的 -
公共方法
-
运算
-
类型转换
数字 字符串 列表 元组 字典 都可以转集合 集合的元素必须是可hash的 列表 和 集合是不可以作为元素的 在集合中 整型 0 1 布尔 False True 出现在集合中 前面的自动覆盖后面的 1 True -> True v = [11,22,11,22,44455] data = set(v) # {11,22,44455} -
嵌套
字典
-
特性
字典的特性 可变 ,元素必须是键值对的容器 键不能重复 有序是在3.6以后的版本 键必须是可以hash的 值可以是任意值 可哈希的类型:int/bool/str/tuple;不可哈希的类型:list/set/dict。 -
独有方法
字典的功能 get 获取值 键不存在,默认返回 None keys 取值所有的键 value 取所有的value items 取所有的键和值 setdefault 添加新值 update 更新值 pop 删除键 返回值 popitem 后进先删 in 判断是否存在 -
公共方法
python3.6以后 字典可以进行两个字典的并集操作去掉相同键 len 长度 in 判断key 是否在列表 索引 步长 取值 赋值 删除 字典中 判断 所有键的值进行大小比较 max min 字典中的排序 所有的键记性比较 sorted() -
类型转换
列表转换成字典时,必须以字典的形式转换 v4 = list(info.items()) # [ ("age",12), ("status",True), ("name","武沛齐") ] 字典转列表后,是以元组作为列表的元素出现 -
索引
dict[0]=123 添加 dict[0]=123 更新 删除del dict[0]=123 -
其他属性
字符编码
-
单位换算
bit 位 8位= 1字节 1024B =1KB 1024kb = 1mb 1034mb =1G 1024G = 1T 等等 -
面试题 b、B、KB、MB、GB 的关系?
-
字符编码
人类的文字和计算机的二进制之间的关系对照表 修改pycharm 默认字符编码 # -*- coding:gbk -*- 计算机所有的数据都是以二进制的形式存放 ascii 码 通用编码 以一个字节存放 8位 unicode编码 万国码 以4个字节存放 32位 有两种分类 ucs2 2个字节 ucs4 4个字节 使用用utf-8 编码 根据文件的编码位数,进行动态调整的 , 一个在8位之下那么就使用1一个字节 一个在16位之内那么就使用2一个字节 为了节省空间 ,使用固定的模板转换 -
编码 和解码
内存的数据进行encode编码成字节,以utf-8 的形式存放,或者发送。 数据再次加载到内存时,要从字节转成字符,以utf-8编码 还原 。 -
面试题 乱码出现的原因
保存数据到文件的使用的字符编码 和打开的文件使用的字符编码不统一 -
位和字节的关系?
8位等于一个字节
语法
if 语法
if语法
分支判断 if else 缩进4个空格
多条件判断 if elif
while
一般在做无限制(未知)循环此处时使用。
死循环
break
结束当前循环
continue
结束本次循环
for 循环
一般应用在已知的循环数量的场景。
条件循环
搭配 range 使用步长 列表 字典 元组 字符串 整形
浙公网安备 33010602011771号