字符串,列表,编码转换,逻辑运算,成员运算,身份运算,三元运算符
- 逻辑运算
- and 两真为真,一假则假
- or一真为真,两假则假
- not
- and 两真为真,一假则假
- 身份运算
- id()函数
- id()函数
- 二进制 八进制 十六进制
- ASCII码
- chr()十进制转为ASCII码
- ord()ASCII码转十进制
- chr()十进制转为ASCII码
- Unicode万国码
- utf-8 中文3字节,欧洲国家2字节,英文1字节
- utf-8 中文3字节,欧洲国家2字节,英文1字节
- 1Byte = 8bit
- a = '1' 占1个字节
- b = '中' 占3个字节
- a = '1' 占1个字节
- bit 位,计算机中最小的表示单位
- 8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B
- 1KB=1024B
- 1MB=1024KB
- 1GB=1024MB
- 1TB=1024GB
- 1PB=1024TB
- 1EB=1024PB
- 1ZB=1024EB
- 1YB=1024ZB
- 1BB=1024YB
- 8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B
- 编码转换
- .encode()
- a.encode('utf-8')
- a.encode('utf-8')
- .decode()
- .encode()
- is 判断内存地址是否相等
- not is
- not is
- 字符串
- 常用方法
- 大小写转换
- 替换
- 判断以xx开头 以xx结尾
- 判断纯数字,判断纯字母
- .join()合并,列表转换成逗号连接形式字符串想join,如csv行
- .split()切割,返回列表
- split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
- split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
- 大小写转换
- 索引取值
- 切片取左不取右
- print(s1[-1]) -1表示倒数
- print(s1[-2]) 倒数第二个
- print(s1[0:3]) 从0获取到 3 ,不包含3
- print(s1[1:3]) 从1获取到 3,不包含3
- print(s1[6:9]) 从6取到9,不包含9
- print(s1[1:]) 从第二个元素切到最后
- print(s1[-1:-5]) 从-1 获取到- 5 这样获取不到任何结果的,-1是向左数
- print(s1[-5:])
- print(s1[:-1]) 从头切到尾部-1
- print(s1[:3:1])
- print(s1[0])
- print(s1[0:5:2]) start(起始位置) end(结束位置) # step (步长)
- print(s1[-1:-5:-1]) # 步长是-1,这时就是从右往左取值,切片就要从右往左写
- print(s1[-5::-3]) # 从倒数第5个开始,每3个取一个
- print(s1[-1]) -1表示倒数
- 常用方法
- 列表
- .extend()迭代添加
- .append()
- .pop()使用索引删除
- .remove()删除元素,若元素不存在会报错
- .clear()清空元素
- del切片删除
- 修改,索引修改
- 切片修改元素值,有坑,切片的步长
- .sort()默认升序排列
- 列表翻转
- lst[:]列表的拷贝
- lst[::-1]倒着拷贝
- .extend()迭代添加
- 运算符
- 1.赋值运算
- a += 1 # a = a+1
- a -= 1 # a =a -1
- a %= 1 # a = a% 1
- a *=1 # a= a * 1
- a **= 1 # a = a ** 1
- a //= 1 # a = a // 1
- a += 1 # a = a+1
- 2 逻辑运算
- and not or ()
- ()>not>and>or
- not 非
- not False == True
- not True == False
- and 两个条件都满足 就为真 否则就为假
- python中的与运算是短路的与,如果第一个值为false,则不再看第二个值;第一个值是true,则会看第二个 值
- python中的与运算是短路的与,如果第一个值为false,则不再看第二个值;第一个值是true,则会看第二个 值
- or 一个条件true就 为真
- python中的或是短路的或,第一个值为true,则不再看第二个值
- python中的或是短路的或,第一个值为true,则不再看第二个值
- 对非布尔值进行与或运算,python 会当作布尔值运算,最终返回原值
- result = 1 and 2
- 与运算找false,第一个值是false则返回第一个,否则返回第二个
- 或运算找true,第一个值是true则返回第一个,否则返回第二个
- result = 1 and 2
- 逻辑运算符可以连着使用
- result = 1<2<3 相当于1<2 and 2<3 与中间的数比较 实际写代码别这样写,其他语言里没有连用
- result = 1<2<3 相当于1<2 and 2<3 与中间的数比较 实际写代码别这样写,其他语言里没有连用
- and not or ()
- 3.身份运算
- is 判断值得内存地址是否相等
- not is
- is 判断值得内存地址是否相等
- 成员运算
- in / not in
- "name" in {"name":"jam"} 成员运算符在字典判断key,返回布尔值
- in / not in
- 三元运算符
- 语法: 语句1 if 条件表达式 else 语句2
- 执行流程
- 条件运算符执行时,先对条件表达式进行求值判断
- 如果判断结果为true ,则执行语句1,并返回结果
- 如果判断为false,则执行语句2 .并返回结果
- 条件运算符执行时,先对条件表达式进行求值判断
- 语法: 语句1 if 条件表达式 else 语句2
- 运算符的优先级
- 查看官方文档运算优先级表格,靠下的优先级高
- 先乘除后加减
- 先and后or
- 优先级相同从左往右算
- 开发中优先级不清楚的通过括号改变运算顺序
- 查看官方文档运算优先级表格,靠下的优先级高
- 1.赋值运算
- ASCII码 (0-255)
- 只支持英文,数字,符号
- 只支持英文,数字,符号
- GBK
- 只支持英文,中文,数字,符号
- 英文 占 2字节
- 中文 占 2字节
- 只支持英文,中文,数字,符号
- 万国码 Unicode
- 支持 中文,英文,数字,符号
- 英文 32 位 四个字节
- 中文 32位 四个字节
- 支持 中文,英文,数字,符号
- utf-8 可变长的编码 -- 节省空间
- 如果是英文字母 8位 1字节
- 如果是欧洲文字 16位 2字节
- 中国文字 24位 3字节
- 如果是英文字母 8位 1字节
- 编码转换
- s = '你好'
- s1 = s.encode('utf-8') # 编码 字节 b'\xe4\xbd\xa0\xe5\xa5\xbd'
- print(s1)
- s2 = b'\xe4\xbd\xa0\xe5\xa5\xbd'
- s3 = s2.decode('utf-8') # 解码
- print(s3)
- s1 = s.encode('gbk') # b'\xc4\xe3\xba\xc3'
- print(s1)
- s2 = b'\xc4\xe3\xba\xc3'
- s3 = s2.decode('gbk')
- print(s3)
- s = '你好'
- for 变量 in 可迭代对象
- s = 'abcd'
- for i in s: # -- 迭代得过程 'int' object is not iterable
- print(i)
- pass
- break
- continue
- print(i)
- range(10)
- for i in range(1,10,2): # start end step
- range() 函数 返回得是一个整数得列表
- s = 'abcd'
- 字符串
- 字符串大小写转来转去
- s2 = s.upper() # 全部转为大写 *****
- s3 = s.lower() # 全部转为小写 ******
- s7 = s4.strip() # 去掉两端空格 *****
- s8 = s4.replace(' ', '') # 替换 把空格替换为‘’字符串 *******
- s5 = s4.startswith('wind') 判断以什么开头 *******
- s5 = s4.endswith('i') # 判断以什么结尾 ******
- stn = st.isdigit() # 判断是否是纯数字的字符串
- ret = st.isalpha() # 判断是否是纯英文字母
- join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串 *******,列表转字符串使用
- str = "_"
- seq = ("a", "b", "c") # 字符串序列
- print(str.join(seq))
- lst = ['张三', '李四', '王五']
- ret = '_'.join(lst)
- print(ret)
- str = "_"
- eval()字符串转字典
- 字符串大小写转来转去
- 列表 [] list()
- append 添加 ********
- extend 迭代添加
- insert 根据索引插入数据
- lst.pop(0) 根据索引删除 *****
- lst.pop() 默认删除最后一个元素
- 修改
- lst[2] = '喜剧之王' # 根据索引修改元素的值
- lst[2] = '喜剧之王' # 根据索引修改元素的值
- lst1 = [1,22,55,66,44,88]
- lst1.sort() 默认是升序
- lst1.sort(reverse=True) 降序
- lst1.sort() 默认是升序
- lst.reverse() 反转
- 列表的切片
- lst = ['张三', '李四', '王五', '小沈阳','马化腾']
- 顾头不顾尾
- print(lst[0])
- print(lst[1])
- print(lst[2])
- print(lst[1:3])
- print(lst[2:])
- print(lst[0:4:2])
- lst = ['张三', '李四', '王五', '小沈阳','马化腾']
- lst = st.split(',') 切割 列表 java 数组 *****
- print(lst[:]) # 列表的copy
- print(lst[-1:-3 :-1])
- print(lst[::-1])翻转
- append 添加 ********
- 应用层 http https
- 传输层 TCP bytes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?