【Python基础学习笔记】week03

Python基础学习笔记 week03

3.1数字类型及操作

整数

  • pow(x, y) 计算x的y次幂

4种进制表示

  • 十进制
  • 二进制,以0b(B)开头:0b010, -0B101
  • 八进制,以0o(O)开头:0o123, -0O456
  • 十六进制,以0x(X)开头:0x9a, -0X89

浮点数
取值范围-10^308 到10^308, 精度数量级10^(-16)
浮点数间运算存在不确定尾数,不是bug
round(x, d):对x四舍五入,d小数截取位数
浮点数间运算及比较用round()函数

科学计数法

<a>e<b> 表示a*10^b
【eg】 4.3e-3 表示4.3*10^-3

复数
z=3.33+5j
z.real() 获得实部
z.img() 获得虚部

数值运算操作符

+ - * /(与数学运算一致) //(整除)
+x 表示x本身
-y 表示y的复制
X % y 表示余数,模运算,10%3结果为1
X ** Y 幂运算,x的y次幂,x^y; 当y是小数时,开方运算 10**0.5结果是根号10

类型间可以进行混合运算,生成结果为“最宽”类型
整数->浮点数->复数

数值运算函数
abs(x) 绝对值,x的绝对值
divmod(x, y) 商余,(x//y, x%y),同时输出商和余数;divmod(10, 3)结果为(3, 1)
pow(x, y[, z]) 幂余,(x**y%z),[…]表示参数z可以省略;pow(3, pow(3, 99), 10000)结果为4587
round(x[, d]) 四舍五入,d是保留小数位数,默认值为0
max(x1, x2,…, xn) 最大值,返回n个数中的最大值,n不限
min(x1, x2,…, xn) 最小值,返回n个数中的最小值,n不限

  • 类型转换函数
    int(x) 将x变成整数,舍弃小数部分
    float(x) 将x变成浮点数,增加小数部分
    complex(x) 将x变成复数,增加虚部部分
天天向上的力量
  • 每天进步1%
    (1.01)^365
  • 每天退步1%
    (0.99)^365
  1. 1%。的力量
  • 进步 1.001^365
  • 退步 0.999^365
    dayup = pow(1.001, 365)
    daydown = pow(0.999, 365)
    print(“向上:{:.2f}, 向下:{:.2f}”.format(dayup, daydown))
  1. 5%。 or 1%
  • 进步 1.005^365 1.01^365
  • 退步 0.995^365 0.99^365
  1. 工作日的力量
    一年365天,一周5个工作日,每天进步1%;2个休息日,每天退步1%

  2. 工作日的努力
    工作日模式要努力到什么水平,才能与每天努力1%一样?
    A君:一年365天,每天进步1%,不停歇
    B君:一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢?

3.3字符串类型及操作

  • 字符串类型的表示
    字符串由一对单引号或一对双引号表示
    字符串是字符的有序序列,可以对其中的字符进行索引,索引从0开始

  • 字符串有2类四种表示方式
    由一对单引号或双引号表示,仅表示单行字符串
    由一对三单引号或三双引号表示,可表示多行字符串
    真相:Python并没有真正的多行注释,在三单(双)引号内的内容即为多行文本,如果没有将他复制给某个变量,可以用作注释

字符串中出现双引号,则整个字符串外围使用单引号,中间出现的双引号会被当做字符来处理;反之也成立
如果字符串中既有单引号又有双引号,那么字符串外围使用三个单引号,中间的单双引号被视作字符

字符串的序号
正向递增序号
反向递减序号

字符串的使用
使用[]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 <字符串>[M]
  • 切片:返回字符串中一段字符子串 <字符串>[M:N]
    M,N为 正向递增序号 or 反向递减序号

字符串切片的高级用法

  • <字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
  • <字符串>[M:N:K],根据步长K对字符串切片
    eg “0一二三四五六七八九十” [1:8:2] 结果是 “一三五七”
    技巧,字符串取反 [::-1]

字符串的特殊字符
转义符 \

  • 转义符表达特定字符的本意
    eg “这里有个双引号(”)" 结果为 这里有个双引号(")
  • 转义符形成一些组合,表达一些不可打印的含义
    "\b"回退 "\n"换行(光标移动到下行首) "\r"回车(光标移动到本行首)

字符串操作符
x + y 连接两个字符串x和y
n * x 或 x * n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False

eg.星期字符串 1-星期一 …… 3-星期三

字符串处理函数
len(x) 长度,返回字符串x的长度
str(x) 任意类型x所对应的字符串形式
hex(x) 或 oct(x) 整数x的十六进制或八进制小写形式字符串
chr(u) u为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码

Unicode

  • 统一字符编码,即覆盖几乎所有字符的编码方式
  • 从0到1114111(0x10FFFF)空间,每个编码对应一个字符
  • Python字符串中每个字符都是Unicode编码字符

字符串处理方法

- "方法"特指<a>.<b>()风格中的函数<b>()
- 方法本身也是函数,但与<a>有关,<a>.<b>()风格使用
- 字符串及变量也是<a>,存在一些方法

常用的8个字符串处理方法

常用的8个字符串处理方法
str.lower() 或 str.upper()返回字符串的副本,全部字符的小写/大写
str.split(sep=None)返回一个列表,由str根据sep被分割的部分组成
str.count(sub)返回子串sub在str中出现的次数
str.replace(old, new)返回字符串str副本,所有old子串被替换为new
str.center(width[, fillchar])字符串str根据宽度width居中,fillchar可选
str.strip(chars)从str中去掉在其左侧或右侧chars中列出的字符,"= python= “.strip(” =np") 结果为 “ytho”
str.join(iter)在iter变量除最后元素外每个元素后增加一个str
“,”.join(“12345”) 结果为 “1,2,3,4,5” #主要用于字符串分隔等,格式化输出

字符串类型格式化
格式化是对字符串进行格式表达的方式

  • 字符串格式化使用.format()方法
    “{}” 槽,占位信息符,只在字符串中有用
    槽 + format = 格式化
    槽内部格式化的配置方式
    {<参数序号>:<格式控制标记>}
    : 引导符号
    前三位:填充 对齐 宽度 =》 给出宽度,对齐方式,空余填充
    : <填充> <对齐> <宽度>
    引导符号 用于填充的单个字符 < 左对齐 槽设定的输出宽度
    > 右对齐
    ^ 居中对齐
>>> "{0:=^20}".format("PYTHON")
'=======PYTHON======='

>>> "{0:*>20}".format("BIT")
'*****************BIT'

>>> "{:10}".format("BIT")
'BIT    '
后三位:与数字有关
  		 <,>			 <.精度>				<类型>

引导符号 数字的千分位分隔符 浮点数小数精度 整数类型 b, c, d, o, x, X
或字符串最大输出长度 浮点数类型 e, E, f, %

>>> "{0:,.2f}".format(12345.6789)
'12,345.68

>>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,(表示不来),425, 651, 1a9, 1A9'

:.e 表示科学计数法
:.E 表示科学计数法
:.% 表示以百分号表示

3.4 模块2 time库的使用

时间获取 时间格式化 计时应用

import time()

time库是Python中处理时间的标准库

time库包括三类函数

  • 时间获取: time() ctime() gmtime()
  • 时间格式化: strftime() strptime()
  • 程序计时: sleep() perf_counter()

time() 获取当前时间戳,即计算机内部时间值,浮点数
ctime() 获取当前时间并以易读方式表示,返回字符串
gmtime() 获取当前时间,表示为计算机可处理的时间格式

时间格式化:将时间以合理的方式展示出来
strftime(tpl, ts) tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量

>>> t=time.gmtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S", t)  #6个控制符
'2018-01-26 12:55:20'

%Y 年份
%m 月份
%B 月份名称
%b 月份名称缩写
%a 星期缩写
%H 小时24
%h 小时12
……
strptime将字符串转换为时间

程序计时
测量时间:perf_counter()
perf_counter()返回一个CPU级别的精确时间计数值,单位为秒
由于这个计数值起点不确定,连续调用差值才有意义
产生时间:sleep()
s拟休眠时间,单位是秒,可以是浮点数

>>> def wait():
		time.sleep(3.3)
>>> wait()
#程序将等待3.3秒后退出
“文本进度条”

问题分析:

  • 采用sleep()模拟一个持续的进度

单行动态刷新
刷新的本质:用后打印的字符覆盖之前的字符
不能换行:print()需要被控制
要能回退:打印后光标退回到之前的位置 \r 打印输出字符串前光标退回行首

文本进度条完整版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值