第三周 基本数据类型

数字类型及操作

整数类型

与数学中整数的概念一致

  • 可正可负,没有取值范围限制
  • pow(x,y)函数 :计算x的y次方有多大,像算多大就算多大

四种进制表现形式

进制名称

进制表示特点举例
二进制以0b或者0B开头0b010,-0B101
八进制以0o或者0O开头0o123,-0O321
十进制15,20
十六进制以0x或者0X开头0x9a,-0X89

浮点数类型

与数学中实数的概念一致

  • 带有小数点及小数的数字
  • 浮点数取值范围和和小数精度都存在限制,但常规计算可以忽略
  • 取值范围数量级约为-10^308到10^308,精度数量级为10^-16

浮点数运算会产生不确定位数,这不是bug

  • round(x,y):对x四舍五入,y是小数截取位数
  • 浮点数间运算及比较用round函数辅助
  • 不确定位数一般存在在10^-16,round()十分有效

浮点数可以采用科学计数法来表示

  • 使用字母e或者E作为幂的符号,以10为基数,格式如下:<3>e<6>表示3*10^6

复数类型

与数学中的复数概念一致

  • 定义j=根号(-1),以此为基础,构建数学体系
  • a+bj被称为复数,其中a是实部,b是虚部

复数实例  z = 1.23e-4+5.6e+89j

  • 实部是什么 z.real 获取实部
  • 虚部是什么 z.imag 获取虚部

数值运算操作符

操作符是完成运算的一种符号体系

二元操作符有对应的赋值增强操作符

数值运算函数 

一些以函数形式提供的数值运算功能

字符串类型及操作

字符串

由0个或多个字符组成的有序字符序列

  • 字符串有单引号或双引号来表示

例:   "请输入带有符号的温度值"  或者  '请输入带有符号的温度值'

  • 字符串是一段有序序列,可以对其中的字符进行索引

例:"请"是"请输入带有符号的温度值"的第零个字符

字符串共两类四种表示方法

  • 由一对单引号或一对双引号表示,仅表示单行字符串
  • 由一对三单引号或一对三双引号表示,可以表示多行字符串
  • 如果希望在字符串中出现单引号或双引号呢

例如 "这里有一个'单引号'啊"     或者    '这里又个"双引号"啊'

  • 如果希望在字符串中既包括单引号又包括双引号呢

例如'''这里既有"双引号"又有'单引号'啊'''

字符串的序号

正向递增序号和反向递减序号

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

  • 索引:返回字符串中单个字符------<字符串>[M]
  • 切片:返回字符串中的一段字符子串------<字符串>[M:N]

字符串切片的高级用法

使用[M:N:K]根据步长对字符串进行切片

  • <字符串>[M:N] M缺失表示至开头,N缺失表示至结尾
  • <字符串>[M:N:K]  K表示步长,根据步长对字符串进行切片
  • 特殊用法:  [::-1]表示对字符串逆序输出

字符串的特殊用法

转义符\

  • 转义符表达特定字符的本意

例: "这里有个双引号(\")"   输出结果为  这里有个双引号(")

  • 转义符形成一些组合,表达一些不可打印的含义

例:\b后退   \n换行(光标移至下行首)   \r回车(光标移至本行首)

字符串操作符

由0个或多个字符组成的有序字符序列

  • x+n:  表示连接两个字符串x和n
  • x*n或n*x:表示复制n此字符串x
  • x in n :判断x是否为n的字串,返回True或者False

例:eval 函数将字符串类型变为一个数字

字符串处理函数

一些以函数形式提供的字符串处理功能

  • len(x):长度函数,返回字符串x的长度;
  • str(x):返回任意形式x对应的字符串类型;
  • eval(x):将字符串x去掉引号变为Python可运行的语句;
  • hex(x)或oct(x):返回整数形式x的十六进制或八进制小写形式的字符串
  • chr(u):u为Unicode编码,返回其对应的字符形式;
  • ord(x):x为字符,返回其对应的Unicode编码形式;

Unicode编码

Python字符串的编码方式

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

有趣的小例子

for i in range(12):
    print(chr(9800+i),end = "" )

依次输出的是十二星座对应的图标字符

字符类型及操作

一些以方法形式提供的字符串处理功能

  • str.lower():返回字符串的副本,返回的副本中全部字符小写;
  • str.upper():返回字符串的副本,返回的副本中全部字符大写;
  • str.split(sep=None):返回一个列表由str被sep分割成的部分组成, "A,B,C".split(",")结果为['A','B','C']
  • str.count(sub):返回子串sub在字符串str中出现的次数;
  • str.replace(old,new):返回字符串str副本,所有的old子串都被new所替换;
  • str.center(width,”fillchar“):字符串str根据width宽度居中,如果字符串str长度不够,则使用"fillchar"字符在两侧填充;
  • str.strip(chars):从str中去除其左右chars 中所列出的字符,”+  python+  ".strip("+ pn")返回结果为"ytho";
  • str.join(iter):在iter变量除最后一个元素外都添加一个字符str,",".join(12345)返回结果为"1,2,3,4,5,"

字符串类型的格式化

默认顺序
指定顺序

 槽内部对格式化的配置方式

例:

  • "{0:+^10}".format("love")   输出结果为"+++love+++"
  • "{0:,.2f}".format("12345.6789") 输出结果为"123,45.68"

time库的使用

time库基本介绍

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

  • 计算机时间的表达
  • 提取获取系统时间并格式化输出功能
  • 提取系统精准计时功能,用于程序性能分析

time 包括三类函数

时间获取

  • time()   获取当时 时间戳,即计算机内部时间值,浮点数;表示从1970年1月1日0时0分开始到现在的一个以秒为单位的数值
  • ctime()  获取当前时间并以易读方式表示,返回字符串 "星期 月 日 时 分 秒 年份" 
  • gmtime() 获取当时时间,表示为计算机可处理的时间格式

时间格式化

将时间以合理的方式展示出来

  • strftime(tpl,ts):tpl是格式化模板字符串,用来定义输出结果,ts是计算机内部时间类型变量
  • strptime(str,tpl):将字符串转化为一个计算机内部可操作的一个时间.str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输出结果

时间控制符 

程序计时应用:

  • 程序计时指起止动作所经历时间的过程
  • 产生时间:sleep()
  • 测量时间 :perf_counter()

 实例4:文本进度条

文本进度条

  • 使用字符串方式打印可以动态变化的文本进度条
  • 进度条需要能在一行中根据程序的运行逐渐变化

如何获得文本进度条的变化时间

  • 采用sleep()模拟一个持续的进度
  • 似乎不呢么难
​
import time
print("执行开始".center(10,"-"))
time.sleep(1)
scale = 50
start = time.perf_counter()
for i in range(scale + 1):
    a = "~"*i
    b = "-"*(50 - i)
    c = (i / scale)*100
    dur = time.perf_counter() - start
    print("\r{:3}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = " ")
    time.sleep(0.1)
time.sleep(1)
print("执行结束".center(10,"-"))

​

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trouvaille%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值