Python笔记3.0基本数据类型

基本数据类型

整数类型

1.可正可负,没有取值范围限制
2.pow(x,y)计算x的y次方
3.四种进制表示形式
十进制、 二进制(以0b或0B开头:0b010、0B101)、八进制(以0o或0O开头:0o123、-0O456)、十六进制(以0x或0X开头:0x123、-0X456)

浮点类型

1.与数学中实数的概念一致
2.带有小数点以及小数的数字
3.浮点数取值范围和小数精度都存在限制,但常规计算可忽略(基本算无限制)
4.浮点数间运算存在不确定位数(由二进制转换为十进制造成的)
5.round(x,d):对x四舍五入,d是小数截取位数
6.使用字母e或E作为幂的符号,以10为基数,格式如下:< a > e < b >表示a*10的b次方;例如:4.3e-3的值为 0.0043

复数类型

1.与数学中复数的概念一致
2.用z.real获得实部,z.imag获得虚部

数值运算操作符

类型间可进行混合运算,生成结果为”最宽“类型
整数->浮点数->复数
例如:123+1.0=124.0(整数+浮点数=浮点数)
在这里插入图片描述
在这里插入图片描述

数值运算函数

一些以函数形式提供的数值运算功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实例:天天向上的力量

问题1:

一年365天,每天进步1‰,累计进步多少呢?
答:1.001的365次方
一年365天,每天退步1‰,累计退步多少呢?
答:0.999的365次方

#daydayup.py
dayup= pow(1.001,365)
daydown = pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

问题2:工作日的力量

问:一年365天,一周5个工作日,每天进步1%,一周两个休息日,每天退步1%,这种工作日的力量,结果如何?
答:

#daydayup.py
dayup= 1.0
dayfactor = 0.01
for i in range(365):
    if i % 7 in [6,0]:
        dayup= dayup*(1-dayfactor)
    else:
        dayup= dayup*(1+dayfactor)
print("工作日的力量是:{:.2f}".format(dayup))

问题3:工作日的努力

问:工作日模式要努力到什么水平,才能与每天努力1%一样?
答:

#daydayup.py
def DayUp(df): #定义函数
    dayup = 1;
    for i in range(365):
        if i%7 in [6,0]:
            dayup = dayup*(1-0.01)
        else:
            dayup = dayup*(1+df)
    return dayup
dayfactor = 0.01
while DayUp(dayfactor) < 37.78:
    dayfactor += 0.001
print("工作日的努力参数值为:{:.3f}".format(dayfactor))

字符串

  • 由0个或者多个字符组成的有序字符序列
  • 字符串由一对单引号或者一对双引号表示
    例:“请输入带有符号的温度值:”或者‘C’
  • 字符串是字符的有序序列,可以对其中的字符进行索引
    例:“请”是“请输入”的第0个字符
    字符串有2类共四种表示方法
    1.由一对单引号或者一对双引号表示
    例如:“请输入带有符号的温度值:”或者‘C’
    2.由一对三单引号或者一三对双引号表示,可表示多行字符串
    例如:‘’‘Python
    语言’‘’
    3.如果希望在字符串中包含双引号或者单引号,就要:‘这里有个双引号(“)‘或者"这里有个单引号(’)”
    4.如果希望在字符串中既包含双引号又包含单引号,就要:’‘’ 这里既有单引号(‘)又有双引号(") ‘’’
    5.使用 **[ ]**获取字符串中一个或多个字符
  • 索引:返回字符串中单个字符 <字符串>[ M ]
    例如:Temp[-1]
  • 切片:返回字符串中一段字符字串 <字符串>[M:N], M缺失表示至开头N缺失表示至结尾
  • 切片的高级用法:<字符串>[M:N:K],根据步长K对字符串切片;例如:“零一二三四五六七八九十”[1:8:2] 的结果是“一三五七”
  • “零一二三四五六七八九十”[::-1]结果是“十九八七六五四三二一〇”
    6.*转义符*
  • 转义符表示特定字符的本意
    例如:“这里有个双引号(“)” 结果为:这里有个双引号(”)
  • 转义符形成一些组合,表达一些不可打印的含义:**“\b”**回退 “\n” 换行(光标移动到下行首) “\r” 回车(光标移动到本行首)

字符串操作符

1.x+y:连接两个字符串x和y
2.nx或xn:复制n次字符串x
3.x in s:如果x是s的字串,返回True,否则返回False

字符串处理函数

1.len(x):返回字符串x的长度
2.str(x):任意类型x所对应的字符串形式
3.hex(x):整数x的十六进制小写形式字符串;例如:hex(452)结果为“0x1a9”
4.oct(x):整数x的八进制小写形式字符串;例如:oct(425)的结果为“0o651”
在这里插入图片描述
5.Unicode编码:Python字符串的编码方式

字符串处理方法

  • “方法”在编程中是个专有名词
  • “方法”特指< a >.< b >()风格中的函数< b >()
  • 方法本身也是函数,但与< a >有关,< a >.< b >()风格使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符串类型的格式化

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

  • 字符串格式化使用.format()方法,用法如下:<模板字符串>.format(<逗号分隔的参数>)

    在这里插入图片描述
    在这里插入图片描述
    例如:format()方法的格式控制:
    在这里插入图片描述

time 库的使用

  • time库是Python中处理时间的标准库
  • 计算机时间的表达
  • 提供获取系统时间并格式化输出功能
  • 提供系统级精确计时功能,用于程序性能分析
  • ** import time **

time库包含三类函数

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

time库的使用

1.time():获取当前时间戳,即计算机内部时间值,浮点数;用法:time.time()
2.ctime():获取当前时间并以易读方式表示,返回字符串;用法:time.ctime()
3.gmtine():获取当前时间,表示为计算机可处理的时间格式;用法:time.gmtime()
在这里插入图片描述
在这里插入图片描述

时间格式化

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

  • 格式化:类似字符串格式化,需要有展示模板
  • 展示模板由特定的格式化控制符组成
    1.strftime(tpl,ts)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.strptime(str,tpl):srt是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果
    在这里插入图片描述

实例4:文本进度条

在这里插入图片描述

  • 采用字符串方式打印可以动态变化的文本进度条
  • 进度条需要能在一行中逐渐变化
    代码
#TextProBarV.py
import time
scale = 10  #定义宽度
print("-----begin-----")
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    print("{:^3.0f}%[{}->{}]".format(c,a,b))
    time.sleep(0.1)
print("-----over-----")

在这里插入图片描述

#TextProBarV.py
import time
scale = 50  #定义宽度
print("begin".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"over".center(scale//2,'-'))

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值