Python基础03-基本数据类型

发布于:2022-12-14 ⋅ 阅读:(954) ⋅ 点赞:(0)

目录

一、数字类型及操作

1.整数类型

2.浮点数类型

3.复数类型

4.数值运算操作符

5.数值运算函数

 二、天天向上的力量—持续的价值

三、字符串类型及操作

1.字符串类型的表示

2.字符串操作符

3.字符串处理函数

 4.字符串处理方法

 5.字符串类型的格式化

 四、time库的使用

1.time库基本介绍

2.时间获取

 3.时间格式化

 4.程序计时应用

 五、文本进度条

1.简单的开始

2.单行动态刷新

3.实例完整代码


中国大学慕课北京理工大学Python语言程序设计笔记

一、数字类型及操作

1.整数类型

(1)与数学中整数的概念一致,可正可负,没有取值范围限制

-常见的pow(x,y)函数:计算x的y次方,想算多大算多大

(2)有4种进制表示形式

①十进制:比如99

②二进制,以0b或0B开头,比如:0b010,-0B010

③八进制,以0o或0O开头,比如:0o123,-0O123

④十六进制,以0x或0X开头,比如:0x9a,-0X9a

2.浮点数类型

(1)与数学中实数的概念一致

带有小数点及小数的数字

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

取值范围数量级约-10^{308}10^{308},精度数量级10^{-16}

(2)浮点数间运算存在不确定尾数,不是bug

例如0.1+0.2计算出来可能不等于0.3。不确定尾数一般发生在10^{-16}左右。

round(x,d)函数解决了这一问题,对x四舍五入,d是小数截取位数。因此在对浮点数间运算及比较用round()函数辅助。

(3)浮点数可以采用科学计数法表示

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

<a>e<b> 表示a*10^{b}

3.复数类型

与数学中复数的概念一致

如果x^{2}=-1,定义j=根号-1,以此为基础,构建数学体系。a+bj称为复数,其中,a是实部,b是虚部。例如z=1+2j,用z.real获得实部,z.imag获得虚部。

4.数值运算操作符

(1)

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

(2)数字类型的关系

类型间可进行混合运算,生成结果为“最宽”类型。

例如:整数+浮点数=浮点数

5.数值运算函数

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

 二、天天向上的力量—持续的价值

1.1‰的力量:一年365天,每天进步1‰,累计进步多少?每天退步1‰,累计剩余多少?

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

2.工作日的力量:工作五天每天进步1%,休息两天,每天退步1%

dayup, dayfactor = 1.0, 0.01
for i in range(365):
    if i % 7 not in [6, 0]:
        dayup = dayup * (1 + dayfactor)
    else:
        dayup = dayup * (1 - dayfactor)
print("向上5 天向下2 天的力量: {:.2f}.".format(dayup))

三、字符串类型及操作

1.字符串类型的表示

(1)字符串有2类共4种表示方法:

①由一对单引号或双引号表示,仅表示单行字符串

②由一对三单引号或三双引号表示,可表示多行字符串

(2)字符串的序号:正向递增序号(左边由0开始)和反向递减序号(右边由-1开始)

(3)字符串的使用:使用[ ]获取字符串中单个字符

①索引:返回字符串中单个字符  格式:<字符串>[M]

②切片:返回字符串中一段字符子串 格式:<字符串>[M:N]

(4)字符串切片高级用法:使用[M:N:K]根据步长对字符串切片

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

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

字符串逆序:[::-1]

(5)字符串的特殊字符:转义符\

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

②转义符形成一些组合,表达一些不可打印的含义:"\b"回退 "\n"换行 (光标移动到下行首)"\r"回车(光标移动到本行首)

2.字符串操作符

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

 获取星期字符串实例:

weekStr = "一二三四五六日"
weekId = eval(input("请输入星期数字(1—7):"))
print("星期"+weekStr[weekId-1])

3.字符串处理函数

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

 4.字符串处理方法

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

 5.字符串类型的格式化

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

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

(2)

 (3)槽内部对格式化的配置方式

 四、time库的使用

1.time库基本介绍

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

①计算机时间的表达;②提供获取系统时间并格式化输出功能;③提供系统级精确计时功能,用于程序性能分析 。使用时需要先import time

(2)time库包括三类函数

2.时间获取

 

 3.时间格式化

(1)时间格式化:将时间以合理的方式展示出来

strftime()函数与strptime()函数是互补关系:

strftime()函数是将计算机内部的时间输出为可读的字符串时间;strptime()函数是将可读的字符串时间输出为计算机内部的时间,不常用。

 4.程序计时应用

(1)程序计时指测量起止动作所经历时间的过程

测量时间:per_counter()

产生时间:sleep()

 

 五、文本进度条

1.简单的开始

import time
scale = 10
print("------执行开始------")
for i in range(scale+1):
    a = '*' * i #a表示已经完成的进度(字符串与整数的乘积表示字符串被复制的次数)
    b = '.' * (scale - i) #b表示剩余进度
    c = (i/scale)*100 #输出与当前进度条和进度相关的百分比
    print("{:^3.0f}%[{}->{}]".format(c,a,b))
    time.sleep(0.1)
print("------执行结束------")

2.单行动态刷新

(1)刷新的本质:用后打印的字符覆盖之前的字符

要求:①不能换行:print()需要被控制;②要能回退:打印后光标退回到之前的位置\r

代码如下:

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

但是在IDLE中结果并不是单行刷新效果,因为IDLE本身是一个编写程序的开发环境,并不是程序运行的主要环境,为了保证其中参数运行效果, \r这个功能被屏蔽掉了;为了让程序正常运行,可以打开windows操作环境中命令行类似的相关工具,或在linux环境下打开B shell等一些文本的shell工具。

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

win徽标键+R,打开cmd,直接将文件拖拽进去敲回车运行。


网站公告

今日签到

点亮在社区的每一天
去签到