字符串,列表,编码转换,逻辑运算,成员运算,身份运算,三元运算符

  • 逻辑运算
    • and 两真为真,一假则假
    • or一真为真,两假则假
    • not
  • 身份运算
    • id()函数
  • 二进制 八进制 十六进制
  • ASCII码
    • chr()十进制转为ASCII码
    • ord()ASCII码转十进制
  • Unicode万国码
    • utf-8 中文3字节,欧洲国家2字节,英文1字节
  • 1Byte = 8bit
    • a = '1' 占1个字节
    • b = '中' 占3个字节
  • bit 位,计算机中最小的表示单位
    • 8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B
    • 1KB=1024B
    • 1MB=1024KB
    • 1GB=1024MB
    • 1TB=1024GB
    • 1PB=1024TB
    • 1EB=1024PB
    • 1ZB=1024EB
    • 1YB=1024ZB
    • 1BB=1024YB
  • 编码转换
    • .encode()
      • a.encode('utf-8')
    • .decode()
  • is 判断内存地址是否相等
    • not is
  • 字符串
    • 常用方法
      • 大小写转换
      • 替换
      • 判断以xx开头 以xx结尾
      • 判断纯数字,判断纯字母
      • .join()合并,列表转换成逗号连接形式字符串想join,如csv行
      • .split()切割,返回列表
        • 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个取一个
  • 列表
    • .extend()迭代添加
    • .append()
    • .pop()使用索引删除
    • .remove()删除元素,若元素不存在会报错
    • .clear()清空元素
    • del切片删除
    • 修改,索引修改
    • 切片修改元素值,有坑,切片的步长
    • .sort()默认升序排列
    • 列表翻转
    • lst[:]列表的拷贝
    • lst[::-1]倒着拷贝
  • 运算符
    • 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,则会看第二个 值
      • or 一个条件true就 为真
        • python中的或是短路的或,第一个值为true,则不再看第二个值
      • 对非布尔值进行与或运算,python 会当作布尔值运算,最终返回原值
        • result = 1 and 2
        • 与运算找false,第一个值是false则返回第一个,否则返回第二个
        • 或运算找true,第一个值是true则返回第一个,否则返回第二个
      • 逻辑运算符可以连着使用
        • result = 1<2<3 相当于1<2 and 2<3 与中间的数比较 实际写代码别这样写,其他语言里没有连用
    • 3.身份运算
      • is 判断值得内存地址是否相等
      • not is
    • 成员运算
      • in / not in
      • "name" in {"name":"jam"} 成员运算符在字典判断key,返回布尔值
    • 三元运算符
      • 语法: 语句1 if 条件表达式 else 语句2
      • 执行流程
        • 条件运算符执行时,先对条件表达式进行求值判断
        • 如果判断结果为true ,则执行语句1,并返回结果
        • 如果判断为false,则执行语句2 .并返回结果
    • 运算符的优先级
      • 查看官方文档运算优先级表格,靠下的优先级高
      • 先乘除后加减
      • 先and后or
      • 优先级相同从左往右算
      • 开发中优先级不清楚的通过括号改变运算顺序
  • ASCII码 (0-255)
    • 只支持英文,数字,符号
  • GBK
    • 只支持英文,中文,数字,符号
    • 英文 占 2字节
    • 中文 占 2字节
  • 万国码 Unicode
    • 支持 中文,英文,数字,符号
    • 英文 32 位 四个字节
    • 中文 32位 四个字节
  • utf-8 可变长的编码 -- 节省空间
    • 如果是英文字母 8位 1字节
    • 如果是欧洲文字 16位 2字节
    • 中国文字 24位 3字节
  • 编码转换
    • 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)
  • for 变量 in 可迭代对象
    • s = 'abcd'
    • for i in s: # -- 迭代得过程 'int' object is not iterable
      • print(i)
      • pass
      • break
      • continue
    • range(10)
    • for i in range(1,10,2): # start end step
    • range() 函数 返回得是一个整数得列表
  • 字符串
    • 字符串大小写转来转去
    • 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)
    • eval()字符串转字典
  • 列表 [] list()
    • append 添加 ********
    • extend 迭代添加
    • insert 根据索引插入数据
    • lst.pop(0) 根据索引删除 *****
    • lst.pop() 默认删除最后一个元素
    • 修改
      • lst[2] = '喜剧之王' # 根据索引修改元素的值
    • lst1 = [1,22,55,66,44,88]
      • lst1.sort() 默认是升序
      • lst1.sort(reverse=True) 降序
    • 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 = st.split(',') 切割 列表 java 数组 *****
    • print(lst[:]) # 列表的copy
    • print(lst[-1:-3 :-1])
    • print(lst[::-1])翻转
  • 应用层 http https
  • 传输层 TCP bytes
  •  
posted @   3notblv  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示