《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')
decimal.getcontext().prec=20 #设置精度
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表示圆周率 π \pi π
  • math.e表示自然对数 e e e
  • math.inf表示正无穷大
  • math.nan是非浮点数标记
    math库包含16个数值表示函数
  • math.fabs(x)返回x的绝对值
  • math.fmod(x, y)返回x%y
  • math.fsum([x, y, …]浮点数精确求和
  • math.ceil(x)表示向上取整
  • math.floor(x)表示向下取整
  • math.factorial(x)表示x的阶乘
  • math.gcd(a,b)返回最大公约数

在这里插入图片描述
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对应的八进制的小写形式字符串

常用的内置字符串处理方法

  • str.lower(): 返回字符串str的小写副本
  • str.upper():
  • str.islower():判断str中的字符是否全是小写,相应返回True或者False
  • str.isprintable():判断str中的字符是否全是可打印的,相应返回True或者False
  • str.isnumeric():判断str中的字符是否全是数字,相应返回True或者False
  • str.isspace():判断str中的字符是否全是空格
  • str.endswith(suffix[,start[,end]])判断str[start:end]是否以suffix结尾
  • str.startswith
  • str.split(sep=None,maxsplit=-1)返回一个列表,列表中的元素是str中呗sep分隔开的部分(默认分隔符是空格)
  • str.count(sub[,start[,end]])判断str[start:end]中sub出现的次数
  • str.replace(old,new[,count])替换函数
  • str.strip([chars])返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符
  • str.zfill(width)返回str的副本,长度是width,不足部分在左侧添加0
  • str.join(iterable)返回一个新字符串,由组合数据类型iterable变量中的每个元素组成,元素间用str分隔

字符串类型的格式化

字符串的格式化可以解决字符串和变量同时输出时的格式安排
常见的字符串格式化方法是.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)
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值