Python基础学习笔记(二)基本数据类型

数字类型

基本类型

1、整数类型:可正可负,没有取值范围限制。有四种表现形式,十进制、二进制(0b/0B)、八进制(0o/0O)、十六进制(0x/0X)。

2、浮点数类型:有小数和小数的数字,取值范围存在范围。浮点数类型间的运算存在不确定尾数,原因是二进制表示小数是无限接近小数而不是等于小数。

0.1+0.2 == 0.3
#输出False
round(0.1+0.2,1)==0.3
#输出True
round(x,d)#对x四舍五入,d是小数截取位数

3、复数类型:a+bj,a为实部,b为虚部。空间变换中常用。

z = 1.23+96j
a=z.real()
b=z.imag()

数字运算

1、数字运算操作符
不同的数据类型进行运算结果是“最宽”的类型:整数<浮点数<复数

操作符描述
x+y加,求和
x-y减,求差
x*y乘,求积
x/y除,求商 10/3=3.33333333335
x//y整数除,10//3=3
x%y求余数,模运算,10%3=1
x**y幂运算,x^y,y为小数时是开方
增强运算x+=y x-=y x*=y x/=y x//=y x%=y x**=y

2、数字运算函数

函数描述
abs(x)求x的绝对值
divmod(x,y)同时求出x/y的商和余数
pow(x,y[,z])幂余操作,z可选,设置z则求x的y次幂除以z的余数
round(x[,d])对x四舍五入,d可选,默认取整
max(x1,x2)求最大值
mim(x1,x2)求最小值
int(x)将x变为整数,舍去小数部分
float(x)将x变为浮点数,增加小数部分
complex(x)将x变为复数,增加虚部

示例

#每天进步千分之一,一年进步多少?
#每天退步千分之一,一年还剩多少?
dayup=pow(1.001,365)
daydown=pow(0.999,365)
print"dayup:{:.2f}, daydown:{:.2f}".format(dayup,daydown)#结果是:dayup:1.44, daydown:0.69

#如果是千分之五,百分之一?
dayfactor=0.005 #可修改
dayup=pow(1+dayfactor, 365)
daydown=pow(1-dayfactor, 365)

#如果是工作日进步1%,休息日退步1%?
dayup = 1.0
dayfactor = 0.01
for i in range(365):
	if 1%7 in [6,0]:
		dayup = dayup*(1-dayfactor)
	else:
		dayup = dayup*(1+dayfactor)

#工作日要努力到什么程度才能与每天努力1%相同
def dayUP(df):
	dayuo = 1
	for i in range(365):
	if 1%7 in [6,0]:
		dayup = dayup*(1-0.01)
	else:
		dayup = dayup*(1+df)
	return dayup
dayfactor = 0.01
while dayUP(dayfactor)pow(1.01, 365)
	dayfactor += 0.001

字符串类型

字符串类型表示

0个或者多个字符组成的有序序列,可以对其中的字符进行索引。

1、表示:

  • 单引号或者双引号:单行字符串
  • 三引号:多行字符串

如果希望字符串本身有单引号/双引号,那么两侧应该使用双引号/单引号来表示字符串。

2、截取

  • 正向递增序号:从左到右,从0开始
  • 反向递减序号:从右到左,从-1开始

索引:<字符串>[m]
切片:<字符串>[m:n:k]:m表示开始位置,缺失则默认至开头;n表示结束位置缺失则默认至结尾,但是不包括n;k表示步长。

3、转义符
用于表达字符的本意。

字符意义
\b回退
\n换行(光标移动带下行首)
\r回车(光标移动到本行首)

字符串处理操作

1、操作符

操作符描述
x+y连接两个字符串
xn nxn为整数,表示复制n次字符串x
x in s如果x是s的子串,返回True,否则返回False

2、字符串处理函数

函数描述
len(x)返回字符串x的长度
str(x)将任意类型的变量x转换为对应的字符串形式
hex(x) oct(x)将整数x的十六进制或者八进制小写形成字符串
chr(u)将Unicode编码返回其对应字符串形式
ord(x)将字符串x返回其Unicode编码

3、处理方法

方法使用描述
str.lower() str.upper()返回字符串的全小写/大写
str.split(sep=None)返回列表,由str根据sep分割而成
str.count(sub)返回sub在str中出现的次数
str.replace(old,new)将字符串中的old替换为new
str.center(wedth[,fillchar])字符串根据宽度width居中,fillchar可选
str.strip(chars)将字符串左右两侧chars中的字符去掉
str.join(iter)在iter变量除最后元素外的每个元素后都添加一个str

字符串类型格式化

<模板字符串>.format(<逗号分割的参数>),注意设置宽度时,如果字符串本身长度超过宽度则按照字符串本身长度输出。

print("{}:计算机{}的CPU的占用率为{}%".format("2021.5.11","A",10))
print("{1}:计算机{0}的CPU的占用率为{2}%".format("A","2021.5.11",10))

#控制格式:
"{:<>}"#填充
"{:<}"#左对齐
"{:>}"#右对齐
"{:^}"#居中对齐
"{:<d>}"#宽度

"{0:=^20}".format("python")
#输出字符串宽度为20,居中python,其他空余用=填充

"{:<,>}"#千位分隔符
"{:.d}"#精度或者字符串输出最大长度
"{:<leixing>}"#整数:bcdoxX 浮点数:eEf%

"{0:,.2f}".format(12345.6789)
#输出12,345.68

示例

#文本进度条:
#采用字符串方式打印可以动态变化的文本进度条
#进度条需要能在一行中逐渐变化

#简单框架
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("------执行结束------")

#单行动态刷新(后打印的字符覆盖之前的字符)\r
import time
for i in range(101)
	print("\r{:3}%".format(i), end="")
	#\r控制光标退回当前行首,end=""控制print()函数输出后不换行。end=输出后在结尾增加信息。
	time.sleep(0.1)

#完整效果的文本进度条
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}".format(c,a,b,dur), end="")
print("\n"+"执行结束".center(scale//2, '-'))

附-Time库

处理时间的标准库,表达计算机时间,提取系统的时间,进行精确计时。

1、 获取时间

  • time():获取计算机内部时间值(浮点数)
  • ctime():获取可读的当前时间(字符串)
  • gmtime():获取当前时间,计算机可以读取操作的格式

2、时间格式化:

  • strftime(tpl, ts):tpl是格式化模板字符串,定义输出效果;ts是计算机内部时间类型变量。
符号意义
%Y年份
%m月份(数字)
%B、%b月份(英文、英文缩写)
%d日期(数字)
%A、%a星期(英文、英文缩写)
%H、%h时(24、12)
%p上午或者下午标识符
%M分钟
%S
  • strptime(str,tpl):将字符串变成时间,str字符串形式的时间,tpl格式化模板字符串。

3、程序计时:

  • sleep(s):s是休眠的时间,单位为秒,可以是浮点数。
  • perf_counter():测量时间,返回一个CUP级别的精准时间,单位为秒,需要连续调用差值才有意义。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值