2022-11-10 学习总结

本文介绍了Python中的时间表示,包括时间原点、单位及time模块的使用。此外,讲解了多点坐标的计算、布尔值的逻辑运算以及比较运算。重点探讨了字符串的创建、编码、操作方法如replace()、split()、join()等,并详细阐述了字符串的切片、成员操作符以及常用查找方法。最后,提到了数字格式化和字符串的格式排版。
摘要由CSDN通过智能技术生成
  • 时间表示
    • 计算机中的时间原点是1970年1月1日零点
    • 最小单位是千分之一秒,即毫秒
    • time()模块,使用前要import time
    • 表示现在的时间:time.time()
      • 时间单位是秒,小数点后精度是微秒,表示的是1970年1月1号0点到现在过了多少秒
  • 多点坐标
    • 用到了系列解包赋值,来定义几个坐标点
      • x1,y1 = 100, 0
    • 求距离用了勾股定理,a=√(b^2+c^2)
      • 需要用到 math()模块中的sqrt开方功能
      • 开方:math.sqrt((x1-x4)**2)+(y1-y4)**2))
  • 布尔值
    • 逻辑运算:与and 或or 非not
      • x and y, x true, y
      • x and y, y false, false
      • x or y, x true, true
      • x or y, x false, y
      • not x, x true, false
      • not x, x false, true
    • 比较运算:等于、不等于、大于小于、大于等于、小于等于
      • 比较的是值,主要区别等于==和is
      • is比较的是对象的ip即内存地址
      • 等于比较的是对象的值
  • 同一运算符 is
    • 上面讲了
    • is not 同理
    • is 的运算效率比较高,因为 == 是通过调用方法实现比较,会笔记奥慢
  • 整数缓存问题
    • 使用pycharm或保存了的文件时,[-5,+∞]正整数都是会被缓存的,也就是如果值相同的两个变量,引用的其实是同一个对象
    • 但在idle使用中,只能缓存到[-5,256]
  • 字符串的三种创建方式
    • 单引号
    • 双引号
      • 可以包含单引号
    • 连续三个单引号或连续三个双引号
      • 多行字符串
  • 字符串的编码
    • Python采用的是Unicode
      • 16位编码一个字符,也就是2的16次方
      • ASCII是Unicode的子集
  • ord():将字符串转换成对应的Unicode编码
  • chr():将十进制的数字编码转换成字符串
  • Python中没有单字符这个类型,一个字符也是一个字符串
  • 转义字符
    • 换行 \n
    • 回车 \r
    • 续行符 \
    • 制表符 \t
    • 退格符 \b
    • 单引号、双引号、反斜杠都是在前面加\
  • 字符串拼接
    • 加号 +
    • 还可以用 join()
    • 两边都是数字也可以相加,就是进行数学运算
    • 两边都是字符串才可以拼接,形成一个新的字符串
    • 两边数据类型不同,抛异常
  • 字符串复制
    • 乘号 *
    • 格式:字符串 * 复制次数
  • 不换行打印
    • print()方法默认在最后打印一个换行符\n,如果不要这个换行符,print("aaa", end=''),end也可以等于任意其它字符
  • input():从控制台读取字符串
  • str():将其他类型的数据转换成字符串
    • 数字型、布尔型都可以
    • 布尔型不是转换成1或0,而是True或False
  • 切片[]提取字符
    • [起始位置:终止位置:步长]
    • 包头不包尾
      • a = "abcde"
      • a[0:2:2]
      • a
    • 反向搜索:用负数,最后一个字符是-1
    • 将整个字符串倒序:a[::-1]
    • 提取整个字符串:a[:]
    • 步长可以没有,就会默认为1
    • 起始没有,默认为从0开始
    • 终止没有,默认到最后
    • 注意第一个字符位置是0,而不是1
  • replace():字符串替换
    • a="abcde"
    • b=a.replace('c','222')
    • b # ab222de
  • split():分割字符串
    • a.split("to"),用“to”作为分割符号来分割字符串a
    • 不指定分隔符并不会报错,而是默认使用空白字符(换行、空格、制表符)
  • join():拼接字符串
    • 连接符.join(待拼接的子字符串1,子字符串2...)
    • 相比加号拼接,性能更好,因为加号每用一次,就会形成一个新的对象,而join是先计算所有字符串的长度,然后注意拷贝,仅仅建立一次新对象
    • 必须要有连接符,否则会报错
  • 驻留机制
    • 我的理解是,有点类似于整数的缓存
    • 对于符合标识符规则的字符串,都会存放在驻留池中,方便重复使用——不同变量都会引用同一个字符串
      • 也就是仅有下划线、数字、字母三种字符组成的字符串
      • 一旦包括了其它字符,包括汉字,都不会启用这个机制
  • 成员操作符
    • in
    • not in
    • 判断某个字符是否存在于一个字符串中
  • 常用查找方法
    • len(a):字符串长度
    • a.startswith('xxx'):字符串a是否以指定字符xxx开头
    • a.endswith('xxx'):字符串a是否以指定字符xxx结尾
    • a.find('xxx'):字符串a中第一次出现123的位置(1的位置),若没有,返回-1
    • a.rfind('xxx'):字符串a中最后一次出现123的位置(1的位置)
  • 去除首尾信息,会产生新的字符串,且结果相同的字符串也不会启用驻留机制
    • a.strip('xxx'):去除字符串a中首尾两端(不包括中间)的xxx
    • a.lstrip('xxx'):去除字符串a中首端(不包括中间)的xxx
    • a.rstrip('xxx'):去除字符串a中尾端(不包括中间)的xxx
  • 大小写转换,全部都会产生新的字符串
    • a.capitalize():字符串首字母大写
    • a.title():字符串a中每个单词的首字母大写
    • a.upper():字符串a中所有字母大写
    • a.lower():字符串a中所有字母小写
    • a.swapcase():字符串中大小写调换
  • 格式排版
    • a.center(19,"-"):字符串a在19个字符中居中,其它位置用“-”填充
    • a.ljust(19,"-"):字符串a在19个字符中左对齐,右边用“-”填充
    • a.rjust(19,"-"):字符串a在19个字符中右对齐,左边用“-”填充
  • 其它的一些对字符串的判断
    • a.isalnum():字符串a是否完全由字母或数字组成
    • a.isdigit():字符串a是否完全由数字组成
    • a.isalpha():字符串a是否完全由字母组成
    • a.isupper():字符串a中的字母是否完全是大写字母(有字母就判断True or False,没有一律false)
    • a.islower():字符串a中的字母是否完全是小写字母(有字母就判断True or False,没有一律false)
  • format格式化
    • a = '{name:★<8}是一只{age:-^8 .2f}岁的猫'
    • a.format(name='kitty',age=2)
      • 'kitty★★★是一只---2----岁的猫'
  • 数字格式化
    • 2位小数:.2f
    • 2位百分数:.2%
    • 必须是整数:d
    • 以逗号分隔的数字:,
    • 4位整数用0在左侧补位:0>4d
  • 所有格式化的需求都直接跟在冒号后,以空格隔开,比如居中8个字符长度的2位小数以-号填充:{:-^8 .2f}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值