数字类型
整型(int)
在Python语言中,提供与数学概念相一致的整数类型。可正可负,可大可小(与C不同),极为方便。如:
a = 10
#a即为整型整型的四种进制表示形式
十进制 | 无前缀提醒,如:10,-20,0 |
二进制 | 以0b或0B开头,如:0B0101,-0b1011 |
八进制 | 以0o或0O开头,如:0O123,-0o543(注意不是00) |
十六进制 | 以0X或0x开头,如:0X9D,-0xff |
浮点数类型
Python语言中,带有小数点及小数点的数即为浮点数类型。与数学概念中的实数相对应。可用科学计数法表示,A e B,如:4e3表示4000。
注意1:浮点数的取值范围约为-10307~10308,浮点数的精度数量级为10-16,即浮点数的范围与精度都有限制,但一般运算可忽略。
注意2:计算机中浮点数的储存是不定的,存在不确定尾数,是由于浮点数的二进制储存导致的(53位二进制表示小数部分)。如:
>>>0.1 + 0.2
0.30000000000000004所以,和C语言一样,不要试图用两个浮点数类型判等。可采用 abs(a - b) < MIN的形式或利用round()函数进行四舍五入运算。
复数类型
Python中的复数类型与数学中概念相一致,与多数编程语言不同,Python特地提供了复数的数据类型,在大部分情况下,编程很少用得上,但在复变函数等领域中却很重要。如:
>>>z =1 + 4 j
>>>z.real
1.0
>>>z.imag
4.0数字类型的类型转换
一:类型间进行混合运算,生成结果为“最宽泛”的类型,浮点数比整数“更宽”,复数比浮点数“更宽”。
二:强制类型转换。与一不同我们可以通过如下函数将参数强制转换成某个类型的数据并返回。
int(x) | 将x变为整数,小数部分直接舍弃 |
float(x) | 将x变为浮点数,增加小数部分 |
complex(x) | 将x变为复数,增加虚部 |
数值运算操作符及部分数值运算函数
运算操作符
+、-、* | 加减乘与数学运算中相同 |
/ | python中/与数学运算中也相同,10/3=3.3333333333333335,即int div int 可以生成 float,这点与某些编程语言不同 |
// | //为整除,10//3=1 |
** | **为幂运算,10**2=100 |
这些二元操作符都有其对应的增强赋值操作符。如:x + = y 代表 x = x + y ,其他二元操作符亦如此。
运算函数
函数 | 介绍 |
abs(x) | 求其绝对值 |
divmod(x,y) | 商余函数,返回商和余数 |
pow(x,y,[z]) | 幂余函数,z可缺省默认为1,返回x**y%z |
round(x,[d]) | 四舍五入函数,d为保留小数位数,默认位0 |
min() | 返回最小值 |
max() | 返回最大值 |
字符串类型
字符串类型为由一对单引号或双引号或一对三个单引号或一对三个双引号表示。其中三引号表示法可换行如:
'这是一个字符串'
"这是一个string"
'''这是一个
字符串'''
"""这是一个
string"""索引与切片
字符串类似于列表类型,也可进行索引与切片操作。其中序号有正向与反向之分,正向从0递增,反向从-1递减。如:
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
"这是一个字符串str"
0 1 2 3 4 5 6 7 8 9
#这与-10和0相对应索引:<字符串名称>[某个字符在串中序号]
切片:<字符串名称>[M:N:K]
M为起始元素序号,N为终止元素序号(不包括终止元素),K为步长;其中,M缺省默认为从头开始,即M取0,N缺省默认为到底(不是N取-1),K缺省默认为1。如:
"123456789"[3,8,2]为"46"转义符
一:转义符使得某些有特定含义的字符重新表示本意。如:
>>> print("这是一个双引号:\"")
这是一个双引号:"二:形成一些组合,表示一些不可打印的字符。如:
"\n"为换行符
"\r"为光标移至本行首
"\b"
#......字符串操作符
操作符 | 介绍 |
+ | 连接两个字符串 |
n*x或x*n | 复制n次字符串x |
x in string | 如果是字串返回True否则为False |
一些简单的字符串处理函数
函数 | 介绍 |
len(string) | 返回其长度 |
str(x) | 任意类型转为字符串类型,如:str([1,2,3])为"[1,2,3]" |
hex(x) | 整型转成十六进制形式的字符串 |
oct(x) | 整型转成八进制形式的字符串 |
chr(u) | u为Unicode编码,返回对应字符 |
ord(x) | 与chr(u)相对,返回对应Unicode()编码 |
相关方法(<a>.<b>形式) | 介绍 |
str.lower() | 返回字符的小写形式,”ABc“.lower()结果为"abc" |
str.upper() | 返回字符大写形式,与str.lower()相对 |
str.split(sep=None) | 返回一个列表类型,“A,B,C”.split(,)为[A,B,C] |
str.count(sub) | 返回子串sub在字符串str中出现的次数 |
str.replace(old,new) | 返回str的副本,str中的old子串被替换成new子串 |
str.center(width,[fillchar]) | 返回一段字符串,为str根据宽度width居中,空位填充fillchar的结果,fillchar缺省默认为空格 |
str.strip(chars) | 返回str副本,为将str两端在chars中出现的字符删去的结果,“iloveu”.strip(“ieu”)为"lov" |
str.join(iter) | 返回一段字符串,为将iter中除最后一个元素外的所有元素后加上str的结果,",".join(“ABC”)为"A,B,C",再与str.split(,)配合使用可得一个列表类型,主要用于分隔字符 |
字符串类型的格式化
字符串的格式化主要依靠.format()函数(方法),<模板字符串string>.format(以逗号分隔的参数)。其中,每一个参数以相应顺序对应string中的一个槽{}。如:
>>>print("这是第一个槽:{},它的默认顺序为0,第二个{}默认顺序则为1".format("槽一","槽二"))
这是第一个槽:槽一,它的默认顺序为0,第二个槽二默认顺序则为1我们可以采用槽中添加数字的方法改变其默认顺序,如:
>>>print("{1}{0},第一个槽对应第二个参数,第二个槽对应第一个参数".format("二","一"))
一二,第一个槽对应第二个参数,第二个槽对应第一个参数另外,槽中可以通过增加特定的格式化标记,实现多种格式化,形成{<参数系号>:<格式化标记>}的样子。即:

如:
>>> print("string:{1:#^20.2f}是一个{0}".format("浮点数",3.546))
string:########3.55########是一个浮点数以上。另外的组合数据类型(集合类型、序列类型(元组、列表)、字典类型)将会在下一期笔记中讲解。
















