python数字类型分为三类_python—基本数据类型

本篇介绍python基本数据类型及操作,以及字符串类型以及基本操作;如下几个模块:

一、数字类型及基本操作;

在python中数字类型不用准确的定义,如何区分有效的几种数字类型呢?

首先分析一下我们常用的数字类型:整数类型;

浮点数类型;

复数类型;

然后加上我们常用的几种操作符,以及平方函数,下面分开介绍;

整数:

1、在python中整数类型与数学中整数概念一致没有去取值范围限制,而且可正可负;

2、常用函数:计算平方函数使用pow(x,y)即可;

3、对于进制的数据类型使用如下方法表示:

十进制:正常表示即可;

二进制:以0B或者0b开头:0b010、-0B010

八进制:以0O或者0o开头:0O123、0o456

十六进制:以0X或者0x开头:0X9a、0X89

浮点数:

与数学中实数概念一致;带有小数点及小数的数字;

浮点数和小数取值都存在精度限制,常规计算可以忽略;

浮点数和小数取值范围数量级在-10的307次方和10的308次方;精度数量级10的-16次方;

注意:浮点数间计算存在不确定位数;

针对尾数问题python提供了round函数;

用法:round(x,d) 表示对x四舍五入,取d位小数;

浮点数间运算比较一般使用round函数辅助;

不确定位数一般发生在10的-16次方左右,round函数十分有效;

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

使用字母E或e作为幂的符号,以10为基数格式如下:

e 表示a*10的b次方

例如:4.3e-3值为:0.0043 9.6E5的值为:960000.0

——————————————————————————————————————

复数:

与数学中复数概念一致;

数值运算操作符:

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

数字类型的关系:

类型间可以进行混合运算,生成结果为最宽类型;

三种类型间存在一种渐渐”扩展“或”变宽“的关系;

整数-》浮点数-》复数

常用的函数形式提供的数值运算符:

二、实例:天天向上体验数字类型的魅力;

需求描述:如果A每天努力进步百分之一,B每周工作五天休息两天,休息日下降百分之一,问B工作日需要多努力才能达到和A同样的水平?

问题分析:

代码实现:

#daydaycompleta

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))

三、字符串类型及基本操作;

字符串定义:由零个或多个字符组成的有序字符序列;

表示:字符串是由一对单引号或者双引号表示的字符串;

字符串是字符有序序列,可以对字符串进行索引;

字符串有两类四种表示方法;由一对单双引号表示,或者一对三单引号或三双者引号表示;

字符串可以使用正向递增或者反向递减进行索引和切片操作;

python中字符串的特殊转译符:\,转译符表示特定字符的本意;

字符串常见操作:

x + y:表示拼接字符串;

n * x :表示复制n次字符串x;

x in y:表示判断x是否在字符串y中;

字符串处理函数:

字符串相关的方法:

字符串类型的格式化:format()方法的格式控制:

四、time库的基本使用;

time库包含三类函数:

具体如下:

时间格式化:

时间格式化控制符:

程序计时函数:

五、绘制简单的文本进度条;

需求:根据时间函数绘制一个文本进度条;

实现如下:

简单实现

#textprobar1.py

import time

scale = 10

print("_______执行开始_______")

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("_______执行结束_______")

根据时间进度动态实现如下:

#textprobar2.py

import time

scale = 50

print("执行开始".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("\r"+"执行结束".center(scale//2,'-'))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值