《python语⾔程序设计基础》——第三章
数字类型
整数类型
整数有4中进制表⽰:⼗进制、⼆进制、⼋进制、⼗六进制。默认采⽤⼗进制,其他进制加引导符号。整数范围理论上是[负⽆穷,正⽆穷],实际上收到计算机内存⼤⼩的限制。
⼆进制:0b或者0B
⼋进制:0o或者0O
⼗六进制0x或者0X
浮点数类型
Python要求所有浮点数必须带有⼩数部分,但是⼩数部分可以是0,⽤于区分浮点数和整数类型。浮点数可以使⽤⼗进制表⽰和科学计数法表⽰。例如:0.0,-7. ,96e4(也可以表⽰成96E4或者96E+4)等。
Python浮点数的数值范围和⼩数精度受不同计算机系统的限制。
使⽤浮点数⽆法进⾏⾼精度的数学计算。(在Python中可以使⽤整数表达浮点数,来提⾼计算精度)
Python还提供了Decimal来提⾼浮点数计算的精度
import decimal
a = decimal.Decimal('3.1415926')##需要使⽤单引号
b = decimal.Decimal('1.234567')
print(a * b)
复数\虚数
⽤以下⽅式表⽰:12.3+4j,-5.6+7j,1.23e-5+5.67e+89j。
实数部分和虚数部分都是浮点数类型,可以⽤z.real和z.imag来获得复数z的实数部分和虚数部分。
数字运算
print(30-3**2+8/2**2*10)
##乘⽅优先级⽐除法优先级⾼
print(3*4**2/8%5)
##乘除法优先级⽐取模⾼
print(2**2**3)
##乘⽅从右向左结合
使⽤math库
math库包含4个常数
math.pi表⽰圆周率math.e表⽰⾃然对数math.inf表⽰正⽆穷⼤
math.nan是⾮浮点数标记math库包含16个数值表⽰函数math.fabs(x)返回x的绝对值math.fmod(x, y)返
回x%y math.fsum([x, y, …]浮点数精确求和il(x)表⽰向上取整math.floor(x)表⽰向下取整math.factorial(x)表⽰x的阶乘
math库提供了8个幂对函数
math库提供了16个三⾓运算函数
math库提供了4个⾼等特殊函数
字符串类型python内置的字符串处理函数:len(x):返回x的长度str(x):返回任意类型x对应的字符串形式chr(x):返回Unicode编码x对应的单字符ord(x):返回单字符x对应的Unicode编码hex(x):
返回整数x对应的⼗六进制数的⼩写形式字符串
oct(x):返回整数x对应的⼋进制的⼩写形式字符串
常⽤的内置字符串处理⽅法
π
e
str.lower(): 返回字符串str的⼩写副本
str.upper():
str.islower():判断str中的字符是否全是⼩写,相应返回True或者False
str.isprintable():判断str中的字符是否全是可打印的,相应返回True或者False
str.isnumeric():判断str中的字符是否全是数字,相应返回True或者False
str.isspace():判断str中的字符是否全是空格
str.startswith
str.split(sep=None,maxsplit=-1)返回⼀个列表,列表中的元素是str中呗sep分隔开的部分(默认分隔符是空格)
str.strip([chars])返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符
str.zfill(width)返回str的副本,长度是width,不⾜部分在左侧添加0
str.join(iterable)返回⼀个新字符串,由组合数据类型iterable变量中的每个元素组成,元素间⽤str分隔
字符串类型的格式化
字符串的格式化可以解决字符串和变量同时输出时的格式安排
常见的字符串格式化⽅法是.format()⽅法,要有字符串的槽,槽⾥⾯可以是参数序号,但是也可以包括格式控制信息,即{<;参数序号>:<;格式控制标记>}。其中的格式控制标记⽤来控制参数显⽰时的格式。
:<;填
充>
<;对齐>
<;宽
度>
<,><;精度><;类型>
引导符号⽤于
填充
python格式化输出format的单
个字
符
<;表⽰左对
齐,>表⽰右
对齐,^表⽰
居中对齐
槽的
设定
输出
宽度
数字的千位
分隔符,适
⽤于整数和
浮点数
浮点数⼩数部分
得精确度或者字
符串的最⼤输出
长度
整数类型b(⼆进制),c(Unicode),d(⼗进制),o(⼋进制),x(⼗六进制⼩
写),X(⼗六进制⼤写)浮点数类型e(⼩写字母e对应的指数形式),E(⼤写字
母E对应的指数形式),f(标准浮点形式),%(浮点数的百分形式)
编程练习
##使⽤格式化输出和时间延迟实现控制台风格⽂本进度条的实例import time
scale =10
print("-----执⾏开始-----")
for i in range(scale+1):
a, b ='**'* i,'..'*(scale - i)
c =(i / scale)*100
print('%{:^3.0f}[{}->{}]'.format(c, a, b))
time.sleep(0.1)
print('-----执⾏结束-----')
##使⽤格式化输出和时间延迟实现控制台风格⽂本进度条的实例##单⾏动态刷新
import time
scale =10
print("-----执⾏开始-----")
for i in range(scale+1):
a, b ='**'* i,'..'*(scale - i)
c =(i / scale)*100
print('\r%{:^3.0f}[{}->{}]'.format(c, a, b),end='')
time.sleep(0.1)
print('\n-----执⾏结束-----')
##tqdm是⼀个快速、扩展性强的进度条⼯具库
from tqdm import tqdm
from time import sleep
for i in tqdm(range(1,100)):
sleep(0.01)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论