数字类型及操作
整数类型
表示范围无限制
浮点类型
取值范围和小数精度存在限制,但常规计算可忽略;取值范围约-10308到10308,精度数量级10-16
浮点数间运算存在不确定尾数,不是bug
(计算机二进制表示十进制的误差问题)
如:
0.1+0.3
0.40.1+0.2
0.3000000000000004
所以有
0.1+0.2==0.3
false
可以通过rand(x,d)函数对x进行四舍五入,d是小数截取位数
浮点数的科学计数法
格式:<a>e<b> 或 <a>E<b> 表示a*10b
例如:4.3e-3 值为0.0043 ; 9.6E5 值为960000.0
复数类型 (与数学中复数概念一致)
a+bj
: a表示实部,b表示虚部
z=a+bj ; 用z.real获得实部,用z.imag获得虚部
数值类型操作符
x/y
: 表示x与y之商 10/3结果是3.3333333333335(与C语言和java等不一样)
x//y
: 整数除,x与y之整数商 10//3结果是3
x**y
: 幂运算,x的y次幂,xy (与pow(x,y)效果一样)
数字类型的关系
类型之间可以进行混合运算,生成结果为“最宽”类型
三种类型存在一种逐渐“扩展”或“变宽”的关系:整数–>浮点数–>复数
数值运算函数
abs(x)
divmod(x,y)
: 商余,(x//y,x%y),同时输出商和余数;divmod(10,3)结果为(3,1)
pow(x,y[,z])
: 幂余,(x**y)%z, […]表示参数z可省略
round(x[,d])
: 四舍五入,d是保留小数位数,默认值为0
max(x1,x2,…,xn)
min(x1,x2,…,xn)
int(x)
: 将x变成整数,舍弃小数部分;此外,int(“123”)结果为123
float(x)
complex(x)
: 将x变成复数,增加虚数部分;complex(4)结果为4+0j
字符串类型及操作
字符串类型的表示
1.由一对单引号或双引号表示,仅表示单行字符串
2.由一对三单引号或三双引号表示,可表示多行字符串
例:
‘’‘python
语言’’’
在字符串中包含双引号或单引号:
例: ‘这里有个双引号(")’
“这里有个单引号(’)”
‘’‘这里既有单引号(’)又有双引号(")’’’
字符串的使用
使用[ ]获取字符串中一个或多个字符
<字符串>[n] : 返回字符串中单个字符(字符串中下标为n的字符)
<字符串>[m:n] : 返回字符串中一段字符子串(字符串下标m到n-1的子串)
<字符串>[m:n] :m不写表示从开头到n-1;n不写表示从m到结尾(都不写就表示从开头到结尾,即原字符串)
<字符串>[m:n:k] : 根据步长k对字符串切片
例1: “零一二三四五六七八九十”[1:8:2]结果是"一三五七"
例2: “零一二三四五六七八九十”[::-1]结果是"十九八七六五四三二一零"
字符串的特殊字符
转义符\
\b : 回退
\n : 换行
\r : 回车(光标移动到本行首)
字符串类型操作符
x+y :连接两个字符串x和y
n*x 或 x*n
:复制n次字符串x
x in s
: 如果x是s的子串,返回true,否则返回false
字符串处理函数
len(x) : 返回字符串x的长度
str(x) : 返回任意类型x所对应的字符串形式
hex(x) 或oct(x) : 返回整数x的十六进制或八进制小写形式字符串
chr(u) : u为Unicode编码,返回其对应的字符
ord(x) : x为字符,返回其对应的Unicode编码
字符串处理方法
“方法”特指<a>.<b>()风格中的函数<b>()
str.lower() 或 str.upper()
str.split(sep=None)
: 返回一个列表,由str根据sep被分割的部分组成;
例: “A,B,C”.split(",")结果为[‘A’,‘B’,‘C’]
str.count(sub)
: 返回子串sub在str中出现的次数
例: “an apple a day”.count(“a”)结果为4
str.replace(old,new)
: 所有old子串被替换为new
str.center(width[,fillchar])
: 字符串str根据宽度width居中;
例:“python”.center(20,"=")结果为
‘=======python=======
str.strip(chars)
: 从str中去掉在其左右侧chars中列出的字符
例:"= python=".strip(" =np")结果为"ytho"
str.join(iter)
: 在iter变量除最后一个元素外每个元素后增加一个str
例:",".join(“1234”) 结果为"1,2,3,4"
字符串类型的格式化
<模板字符串>.format(<逗号分隔的参数>)
槽:(用{}表示)
“{ }:计算机{ }的cpu占用率{ }”.format(a,b,c) : 三个槽依次填入a,b,c;
槽的内部:{<参数序号> : <格式控制标记>}