赞
踩
Python语言提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整数、实数和复数。
(1010是一个整数类型,10.10是一个浮点数类型, 10+10j是一个复数类型)
Python整数类型与数学中的整数概念一致,一般认为没有取值范围限制。
整数类型有4种进制表示:十进制、二进制 (0b 0B)、八进制 (0o 0O)和十六进制 (0x 0X)。
默认情况,整数采用十进制,其他进制需要增加引导符号。
不同进制的整数类型数值之间可以直接运算。
带有小数点及小数的数字。
Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。例如:1010是整数, 1010.0是浮点数。
浮点数有2种表示方法:十进制形式的一般表示 和 科学计数法 表示。除十进制外,浮点数没有其他进制表示形式。
(科学计数法使用字母e或者E作为幂的符号, 以10为基数)
Python浮点数类型的数值范围和小数精度受不同计算机系统的限制。除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠” 。
“不确定尾数”问题:
Python语言中的两个浮点数运算,有一定概念在运算结果后增加一些“不确定的”尾数。
上例中原本0.1+0.3应该等于0.3的,可是因为小数在计算机里面的存储其实只能存储一个接近值,实际得到的是0.30000000000000004。这是因为受限于计算机表示浮点数使用的存储宽度,0.1不完全等于0.1,计算机在存储0.1时存储的是最接近0.1的二进制数,那关于0.1的小数运算自然也会让结果变得及接近但又不是了。
解决“不确定尾数”问题:
使用 round(x,d) 函数,这是一个四舍五入函数,d为保留的小数位数,x是待进行四舍五入的数。
复数类型表示数学中的复数。复数有一个基本单位元素j,叫作“虚数单位” 。含有虚数单位的数被称为复数。(j^2=-1)
Python语言中,复数可以看作是二元有序实数对(a, b),表示为:a + bj,其中,a是实数部分, 简称实部,b是虚数部分,简称虚部。虚数部分通过后缀“ J ”或者“ j ”来表示。需要注意,当b为1时, 1不能省略,即需要用1j表示复数,而j则表示Python程序中的一个变量。
复数类型中实部和虚部都是浮点类型,对于复数z,可以用 z.real和z.imag分别获得它的实数部分和虚数部分。
Python提供了9个基本的数值运算操作符:
加减乘除运算与数学含义相同,Python额外提供了整数除(//)运算,即产生不大于x与y之商的最大整数。
模运算求余(%)在编程中十分常用,主要应用于具有周期规律的场景。例如:一个星期7个,用day代表日期,则day%7可以表示星期几,如0代表周日,1代表周一等。
(本质上,整数的模运算n%m能够将整数n映射到【0,m-1】的区间中)
上标所有二元运算操作符(+、-、 * 、/、//、%、 **)都可以与等号(=)相连,形成增强赋值操作符(+= 、-= 、 *= 、 /= 、//= 、%= 、 **=)。
用op表示这些二元运算操作符,增强赋值操作符的用法如下:
数值运算可能改变结果的数据类型,类型的改变与运算符有关,有如下基本规则:
a 整数和浮点数混合运算,输出结果是浮点数;
b 整数之间运算,产生结果类型与操作符相关,除法运算(/)运算的结果是浮点数;
n 整数或浮点数与复数运算,输出结果是复数;
Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关:
Python提供了6个比较运算符:
计算机程序经常用于处理文本信息,文本信息在程序中使用字符串类型来表示。
字符串是字符的序列表示,根据字符串的内容多少分为单行字符串和多行字符串。
单行字符串可以由一对单引号(')或双引号(") 作为边界来表示,单引号和双引号作用相同。
多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。
Python语言转义符: \(反斜杠)
例如:\n 表示换行、\\ 表示反斜杠、\' 表示单引号、\" 表示双引号、\t 表示制表符(TAB)等。
字符串是一个序列类型,作为字符序列,字符串可以对其中单个字符或字符片段进行索引。
对字符串中某个字符的检索称为索引。
索引的使用方式如下:
字符串包括两种序号体系:正向递增序号和反向递减序号。
如果字符串长度为L正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;
反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。
字符串以Unicode编码存储,字符串的英文字符和中文字符都算作1个字符。
可以通过Python默认提供的 len() 函数获取字符串的长度。
对字符串中某个子串或区间的检索被称为切片。
切片的使用方式如下:
<字符串或字符串变量> [ N : M ]
切片获取字符串从N到M(不包括M)的子字符串,其中N,M为字符串的索引序号,可以混合使用正反序列号。
使用切片时需要注意的点:
a 切片要求N和M的值都要在字符串的索引区间里;
b 如果N>=M,则返回空字符串;
c 如果N缺失,则默认将N设为0;
d 如果M缺失,则默认表示到字符串结尾;
在字符串中整合变量时需要使用字符串的格式化方法。
字符串格式化用于解决字符串和变量同时输出时的格式化安排问题。
Python推荐使用.format()格式化方法,其使用方式如下:
< 模板字符串 > .format( <逗号分隔的参数> )
其中,模板字符串是一个由字符串和槽({ })组成的字符串,用来控制字符串和变量的显示效果。
如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应变量。
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。语法如下:
(一般需要进行格式控制书写的话,规范书写顺序就是上表出现的信息从左往右依次书写)
其中,<填充>、<对齐>和<宽度>可以当作一组记忆。
<宽度>:指当前字段输出的宽度。
如果槽宽度设定值比字符串大,则字符串按照指定对齐方式在宽度设定值内对齐;
如果槽宽度设定值比字符串小,则使用字符串宽度。
<对齐>:对齐有三种分别是左对齐“<”、右对齐“>”、居中对齐“^”。
(对齐一般在槽宽大于字符宽时使用效果最明显)
<填充>:当输出字符串时槽设定了大于其宽度的槽宽,多出来的部分默认以空格填充,而填充符号是可以人为修改的,填充字符只能有一个。
(哈哈发现如果要设置填充符号还必须设置对齐方式且“槽宽”大于“字宽”)
不难发现,上例中槽的格式设置的书写规范,就是以“:<填充><对齐><宽度>”的顺序书写的。
此外,还有另一组可以一起记忆,即< , >、<.精度>和<类型>。
< ,>:就只是用来显示数字类型的一个千位分隔符。
<.精度>:以小数点(.)开头,填的是一个具体的数值。
对于浮点数,精度表示小数点后面的有效位数;
对于字符串,精度表示输出的最大长度;
(如果小数点后面保留长度超过应输出的长度,以输出长度为准)
<类型>:表示输出整数和浮点数类型的格式规则。(format里面的内容要是数字类型)
对于整数类型,输出格式包括如下6种:
b:输出整数的二进制方式;
c:输出整数对应的Unicode字符;
d:输出整数的十进制方式;
o:输出整数的八进制方式;
x:输出整数的小写十六进制;
X:输出整数的大写十六进制;
对于浮点数类型,输出格式包括如下4种:
e:输出浮点数对应的小写字母e的指数形式;
E:输出浮点数对应的大写字母E的指数形式;
f:输出浮点数的标准浮点形式;
%:输出浮点数的百分比形式;
(浮点数输出时尽量使用<.精度>表示小数部分的输出长度,有助于更好地控制输出格式)
针对字符串,Python语言提供了3个基本操作符:
Python语言提供了一些对字符串处理的内置函数:
方法也是一个函数,只是调用方式不同。
函数采用func(x) 方式调用,而方法则采用 <a>.func(x)形式调用。方法仅作用于前导对象<a>。
下面来每个详讲一遍:
srt.lower()和str.upper()是一对方法,用于将字符串里的英文字符变成大写或小写。
(上例可以直观感受到这两个方法的作用,真的只作用于英文字符)
str.split(sep)是一个十分常用的字符串处理方法,它能够根据“sep”分隔字符串str。
(sep不是必须的,默认情况下是“空格”,sep可以是单个字符也可以是一个字符串)
str.count(sub)方法返回字符串sstr中“sub”子串的出现次数。(sub是一个字符串)
str.replace(old,new)方法是将字符串str中出现的old字符串替换成new字符串。
(old和new的长度可以不同)
也可以使用replace()方法去掉字符串中的特定字符或字符串:
str.center(width,fillchar)方法返回长度为width的字符串。
其中,str处于新字符串中心位置,两侧新增字符采用fillchar填充。
(当width小于字符串长度时,返回str;fillchar是单个字符,默认也是空格。)
str.strip(chars)从字符串str中去掉其左侧和右侧chars中列出的字符。
chars是一个字符串,其中出现的每一个字符都会被去掉。
(要去除的字符一定得在字符串的左右两侧)
str.join(iter)中iter是一个具备迭代性质的变量,该方法将str字符串插入iter变量的元素之间,形成新字符串。(简单来说,.join()方法能够在一组数据中增加分隔字符)
Python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。
数值运算操作符可以隐式地转换输出结果的数字类型。例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。
此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。