1.与数学中的整数类似
——可正可负,没有取值范围限制
——pow(x,y)计算x的y次方
2.四种进制表示形式
十进制:1010,-124,99
二进制:0b或0B开头,0b101
八进制:0o或0O开头,0O101
十六进制:0x或0X开头
1.与数学中的实数类似
——带有小数点及小数的数字
——浮点数取值范围和小数精度都存在限制,但常规计算可忽略
——取值范围数量级约-10308到10308,精度数量级10-16
2.浮点数间存在不确定尾数,不是bug,例如0.1+0.2=0.30000000000000004
53位二进制表示小数部分,0.1用二进制表示是无限小数,截取53位二进制使其无限接近0.1,二进制表示小数,可以接近,但不等同
3.round函数
round(x,d):对x四舍五入,d是小数截取位数。
浮点数间的运算需要round函数辅助。
不确定尾数一般发生在10-16左右,round函数十分有效。
4.浮点数可用科学计数法表示
< a >e< b >表示a*10b
4.3e-3值为0.0043 9.6E5值为960000.0
1.与数学中复数的概念一致
如x2=-1引入复数
z=1.23e-4+2.3e4j
z.real获取复数的实部,z.imag获得虚部
1.x/y, 10/3结果为3.3333333333333335
x//y,10//3结果是3,
xy,幂运算,xy,y是小数时,实现的是开方功能,100.5及根号10结果
2.二元操作符
x+=y, x-=y, x*=y, x/=y, x//=y, x%=y, x**=y
3.类型间可混合运算,生成结果为“最宽”
整数、浮点数、复数逐渐变宽
1.abs(x),求x的绝对值
divmod(x,y) 商余,(x//y,x%y)例如divmod(10,3)结果为(3,1)
pow(x,y[, z]),幂余,(x**y)%z,z参数可省略。
pow(3,pow(3,99),10000)结果为4587
round(x[,d]) 四舍五入,d是保留小数的位数,round(-10.123,2)结果为-10.12
max(x1,x2,…,xn)求最大值函数
min(x1,x2,…,xn)求最小值函数
2.数字类型转换函数
int(x),将x变成整数,舍弃小数部分。int(123.45)结果123,int(123)结果123;
float(x),将x变成浮点数,增加小数部分。float(12)结果为12.0,float(1.23)结果为1.23
complex(x),将x变成复数,增加虚数部分complex(4)结果为4+0j
1.每天进步1%和每天退步1%的区别可直接使用pow函数计算。
2.每天进步5%或1%,每天退步5%或1%,可设置dayfactor的变量,需要修改每日进步的百分比时只需修改一处。
3.工作日的力量:一周5个工作日每天进步1%,2个休息日每天退步1%
工作日的力量结果为4.63,介于1%—5%之间
4.工作日每天努力多少才能赶上每天进步1%
工作日每天努力1.9%才能赶上每天进步1%
1.与数组一样从0开始标号,有2类共4种表示方法
2.单行字符串可用一对单引号或双引号表示;
多行字符串由一对三单引号或三双引号表示
3.三单引号或双引号中的字符串未赋值给变量或未进行操作可作为注释使用
4.希望字符串中包含单引号或双引号
print('这里有个双引号(")')
print("这里有个单引号(')")
5.希望在字符串中包含单引号又包括双引号
print('''这里既有单引号(')又有双引号('') ''')
#注意:三单引号不要写成两个双引号和一个单引号
6.两个重要操作:索引和切片:使用[ ]获取字符串中1个或多个字符。
——索引:返回字符串中的单个字符 <字符串>[M]
“请输入带有符号的温度值:”[0] 或者TempStr[-1]
——切片:返回字符串中的一段字符子串 <字符串>[M : N] 输出包括序号为M字符但不包括序号为N的字符。 M缺失表示至开头,N缺失表示至结尾
“请输入带有符号的温度值:”[1:3] 或者TempStr[0:-1]
——切片高级用法 <字符串>[M:N:K],K表示步长
“0一二三四五六…”[1:8:2] 结果为 “一三五七”
“0一二三四五六…”[::-1] 结果为 "…六五四三二一0"逆序输出
7.转义符 :表达特定字符的本意
“这里有一个双引号(”)“结果为 这里有一个双引号(”)。
转义符形成的一些组合,表达一些不可打印的含义。如\b回退,\r回车,光标移动到本行首。