一、数字类型:分为整数类型、浮点数类型和复数类型
1.整数类型:分为十进制、二进制、八进制、十六进制都和数学中整数概念一致,比如:000,156,123,-456,0x89;(十六进制用0x引导,八进制用0o引导,二进制0b引导)
2.浮点数类型:和数学中实数的概念一致,表示带有小数的数值,python语言中要求所有浮点数必须带小数部分,小数部分可以是0;
<1>.浮点数类型表示方式:十进制和科学计数法(比如十进制:2.12,;科学计数法:4.1e-3等效于4.1乘10的-3次方,2.1E+3b等效于2.1乘10的三次方)
<2>.由于浮点数类型无法进行高精度数学运算,Python通过标准库decimal提供了一个更精确的数字类型Decimal(Decimal('数字')是高精度数字的基本表达形式,需要使用单引号,比如:decimal.Decimal('3.1415926'))
3.复数类型:表示数学中的复数(c = a + bj,a为实数、b为虚数),复数是实数在二维平面空间旋转的一种表示;对于复数c,可用c.real、c.imag分别获取复数c的实部和虚部部分
数字类型的基本操作符:
x+y表示x和y的和;
x-y表示x和y的差;
x*y表示x和y的乘积;
x/y表示x和y的商;
x//y表示x和y的整数商
x%y表示x和y商的余数;
-x表示x的负数,
+x表示x的正数,
x**y表示x的y次幂;
二元操作运算符:
+=、-=、*=;/=;//=;%=;**=
比如x+=y等效于x = x+y;x*=y等效于x = x * y其他类似)
**更加高级数学运算应用math库**
二、字符串类型
字符串类型:是用两个双引号或者单引号或者三引号括起来的字符序列,可以按照单个字符或者字符片段进行索引区间访问格式[N,M](范围是大于等于N,小于M;又称为字符切片)
1.基本字符串操作符:
x+y表示连接字符串x,y;
x*n表示将字符串复制n次;
x in s判断x是否在字符串s内,正确返回True,错误返回False
str[i]表示索引,返回第i个字符;
str[N,M]表示切片,返回索引第N到第M个子串,不包含M
2.内置字符串操作符:
len(x)返回字符串x的长度;
str(x)返回任意类型x所对应的字符串形式;
chr(x)返回Unicode编码x对应的单字符
ord(x)返回单字符Unicode编码
hex(x)返回整数x对应的十六进制小写形式字符串
oct(x)返回整数x对应的八进制小写形式字符出
3.字符串的处理方法:
str.lower()将字符串内的字母变为小写;
str.upper()将字符串内的字母变为大写;
str.isnumeric()判断字符串是否为数字,正确返回True,错误返回False
str.split(sep)将字符串以字符串内的sep元素分割,返回一个列表;
str.replace(old,new)将原字符串中的old子串替换为new字串,返回一个新的字符串;
str.center(宽度,"填充符")字符串居中
str.strip(char)去掉左右侧char字符
str.count(sub)返回字符串找那个sub元素出现的次数
4.特殊的格式化控制字符:
\n 换行
\a 蜂鸣、响铃
\f 换页
\r 回车,光标移到本行首行
\t 水平打印
\v 垂直打印
\0 什么都不做
4.字符串格式化:
str.format(逗号分割的参数);
print("{}{}{}".format(a,b,c)) 每个{
}槽对应相应的参数,未标序号时,默认顺序排列
print("{0}{2}{1}".format(a,b,c)) 按序号排列为a,c,b
format方法的格式控制:
:引导符号
<填充>用于填充的单个字符
<对齐> <:左对齐,>:右对齐,^:居中对齐
<宽度> 槽设定的宽度
<,> 数字的千位分隔符
<.精度>浮点小数的精度
<类型>整数类型:b,c,d,o,x,X;浮点数:e,E,f,%
>>> str = "123456abc"
>>> print("{:-^20}".format(str))
-----123456abc------
>>> "{:.2f}".format(123)
'123.00'
<类型>整数类型:
b 二进制类型
c 返回整数对应的Unicode编码
d 十进制类型
o 八进制类型
x 十六进制小写类型
X 十六进制大写类型
>>> "{0:b};{0:d};{0:o};{0:x};{0:X};{0:c}".format(123)
'1111011;123;173;7b;7B;{'
浮点数:
e 浮点数对应的小写字母e的指数形式
E 浮点数对应的大写字母E的指数形式
f 标准浮点数形式
% 浮点数的百分形式
>>> "{0:e};{0:E};{0:f};{0:%}".format(3.14)
'3.140000e+00;3.140000E+00;3.140000;314.000000%'
>>> "{0:.2e};{0:.2E};{0:.2f};{0:.2%}".format(3.14)
'3.14e+00;3.14E+00;3.14;314.00%'
>>>
简单的开始——文本进度条打印
import time
scale=50
print("执行开始".center(20,'-'))
start_time=time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '-' * (scale-i)
c=i/scale*100
t = time.perf_counter() - start_time
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,t))
time.sleep(0.01)
print("执行结束".center(20,'-'))
输出结果:
100%[**************************************************->]0.53s
1、序列类型:字符串类型、元组类型、列表类型
2、集合类型
3、字典类型