当前位置:首页 > IT技术

P3 基本数据类型

时间:2019-11-07 00:14:26来源:IT技术作者:SEO探针小编阅读:87次「手机版」
 

p3

1. 数字类型及操作

1.1 整数类型

pow(x,y) 计算x的y次方

4种进制表示形式:

十进制、二进制(0b 0B)、八进制(0o 0O)、十六进制(0x 0X)

1.2 浮点数类型

与数学中实数的概念一致,带有小数点及小数的数字,取值范围(-10e307—10e308)和小数精度(10e-16)存在限制,但常规计算可忽略。

浮点数间运算存在不确定尾数,一般发生在10e-16左右。

round(x,d) 对x四舍五入,d是小数截取位数。

浮点数间运算与比较用round()函数辅助。

在这里插入图片描述

浮点数可以用科学计数法表示,e或E为幂的符号,10为基数。

1.3 复数类型

与数学中复数的概念一致,定义j=根下-1,a+bj为复数,a是实部,b是虚部。

z.real获得实部,z.imag获得虚部。

在这里插入图片描述

1.4 数值运算操作符

加减乘除 + - * /

x//y x除以y的整数商

x%y x除以y的余数

x**y x的y次幂,y可以是小数

x op= y 即 x=x op y,op为二元操作符

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

1.5 数值运算函数

abs(x) 绝对值

pmod(x,y) 等价于(x//y,x%y),x除以y的商和余数

pow(x,y,z) 等价于(x**y)%z

round(x,d) 将x四舍五入,d是保留小数位数,默认值为0

max(x,y,z…) 最大值

min(x,y,z…) 最小值

int(x) 将x变为整数,舍弃小数部分;将整数字符串变为整数

float(x) 将x变为浮点数,增加小数部分;将小数字符串变为小数

complex(x) 将x变为复数,增加虚数部分

在这里插入图片描述

2. 字符串类型及操作

2.1 字符串类型的表示

字符串是由0个或多个字符组成的有序字符序列,一对单引号或双引号表示单行字符串,一对三单引号或三双引号表示多行字符串,可以对其中字符进行索引。

切片:返回字符串中一段字符子串。

<字符串>[M:N] M缺失表示至开头,N缺失表示至结尾。

<字符串>[M:N:K] 根据步长K对字符串切片。

在这里插入图片描述

转义符\ 表达特定字符的本意。

在这里插入图片描述

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

\b 回退

\n 换行(光标移动到下行首)

\r 回车(光标移动到本行首)

2.2 字符串操作符

x+y 连接两个字符串x和y

xn nx 复制n次字符串x(中间有*)

x in s 表判断,如果x是s的子串,返回True,否则返回False

示例:获取星期字符串

输入:1-7的整数

输出:输入整数对应的星期字符串

weekstr="星期一星期二星期三星期四星期五星期六星期日"
weekid=eval(input("请输入星期数字:"))
pos=(weekid-1)*3
print(weekstr[pos:pos+3])
weekstr="一二三四五六日"
weekid=eval(input("请输入星期数字:"))
print("星期"+weekstr[weekid-1])

2.3 字符串处理函数

len(x) 字符串x的长度

str(x) 任意类型x所对应的字符串形式

hex(x) 整数x的十六进制字符串

oct(x) 整数x的八进制小写形式字符串

chr(x) x为unicode编码,返回其对应字符

ord(x) x为字符,返回其对应Unicode编码

在这里插入图片描述

Unicode编码是Python字符串的编码形式,字符与编码一一对应。

2.4 字符串处理方法

“方法”在编程中是一个专有名词,特指a.b()风格中的函数b()。

str.lower() 全部字符小写

str.upper() 全部字符大写

str.split(sep) 返回一个列表,将str用sep分隔(sep存在于str中)

str.count(sub) 子串sub在str中出现的次数

str.replace(old,new) 将old子串替换为new子串

str.center(width,fillchar) 字符串str根据宽度width居中,fillchar为空白填充符,可省略

str.strip(chars) 从str中去掉其在左侧和右侧chars中列出的字符

str.join(iter) 在iter变量除最后元素外每个元素后增加一个str

在这里插入图片描述

2.5 字符串类型的格式化

<模板字符串>.format(<参数>)

在这里插入图片描述

{<参数序号>:<格式控制标记>}

在这里插入图片描述

在这里插入图片描述

3. 实例3 天天向上的力量

Q1 一年365天,每天进步或退步1%,累计进步或退步多少?

dayup=pow(1.001,365)
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
dayfactor=0.001
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

Q2 一年365天,一周5个工作日,每天进步1%,一周2个休息日,每天退步1%,工作日的力量如何?

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

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

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

4. 模块2 time库

time库包括三类函数:

时间获取:time() ctime() gmtime()

时间格式化:strftime() strptime()

程序计时:sleep() perf_counter()

时间获取

time() 获取当前时间戳计算机内部时间值,浮点数

ctime() 获取当前时间并以易读方式表示,返回字符串

gmtime() 获取当前时间,表示为计算机可处理的时间格式

时间格式化

strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量

strptime(str.tpl) str是字符串形式的时间值;tpl是格式化模板字符串,用来定义输入效果

在这里插入图片描述

在这里插入图片描述

程序计时

perf_counter() 测量时间,返回一个cpu级别的精确时间计数值,单位为秒;由于计数值起点不确定,连续调用差值才有意义。

sleep(s) 产生时间,s是拟休眠的时间,单位是秒,可以是浮点数。

在这里插入图片描述

5. 实例4 文本进度条

5.1 进度显示

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

在这里插入图片描述

5.2 单行动态刷新

刷新的本质是:用之后打印的字符覆盖之前的字符。

不能换行:print()需要被控制。

要能后退:打印后光标退回到之前的位置 \r。

import time
for i in range(101):
    print("\r{:3}%".format(i),end="")
    time.sleep(0.1)

5.3 完整效果

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

在这里插入图片描述

文本进度条的不同设计函数

在这里插入图片描述

在这里插入图片描述

文章最后发布于: 2019-02-01 18:37:47

相关阅读

iPhone4能使用CarPlay吗?

CarPlay对iPhone的性能配置有一定要求,同时需要用到Lightning接口。因此,该系统目前仅支持iPhone5/5s和5c这三个型号,更老的机型则无

EnglishPod (Learn English on Your Terms)---第一周

1.Theme【Elementary-Difficult Customer】 pharse/vacabulary explain still working on not yet completed,need more t

Apex英雄不用加速器可以玩吗?体验流畅游戏请看奇游测评

2月5号上线的Apex英雄近日迎来了它的游戏评分,这次的评分仍是由知名游戏媒体IGN发布的,而Apex英雄的得分比我想象中要高,是一个罕见

ITX迷你装机 2000元奔腾G4560组建HTPC主机配置清单推

最近有网友&ldquo;初恋&rdquo;找到小编,打算组装一套奔腾G4560组建HTPC配置,主要需求用来学习以及看看高清视频,玩玩休闲游戏。其实,

Eclipse"项目"和"工作空间"的区别

"项目(Project)"和"工作空间(Workspace)"的区别: 1、Eclipse通过“项目”和“工作空间”的概念来组织源代码。 工作空间 是项目的集合

分享到:

栏目导航

推荐阅读

热门阅读