一、数据类型
数字、字符串、元组是不可变类型数据。
注意:还有一种特殊的数据类型,即空类型,其值为None,None不是0,也不是空字符串"",表示什么也没有,是个空对象。
二、数字类型
1、整型
1)bin()函数:将其他进制的数转换成二进制数
2)int()函数:将其他进制的数转换为十进制数
3)oct()函数:将其他进制的数转换为八进制数
4)hex()函数:将其他进制的数转换为十六进制数
注意:在python3.6以上的版本是支持数字中间加单个下划线来提高可读性
>>>1_2_3_4
1234
2、浮点类型
科学计数法表示:32.6e18=3.26x1019
a=0.2
b=0.3
print(a+b)
运行结果:0.3000000000004
原因:1)浮点数在计算机存储和表示时,对尾数做了一定的处理2)十进制会转为二进制,这可能会导致过程中成了循环小数
处理方法:1)以两者之差的绝对值来作为两者是否相等的的依据2)使用round(f,n)函数限定小数的位数n位
3、复数类型
复数由实数部分和虚数部分构成,对于复数z可以用z.real来获得实部,z.imag来获得虚部
4、布尔类型
在算数运算中,True被当作1,False被当作0
5、数字类型转换
1)int(x)转换为整数
2)float(x)转换为浮点数
3)complex(x)是实数部分为x,虚数部分为0或complex(x,y)实数部分为x,虚数部分为y
6、分数和高精度实数
1)Fraction对象支持分数运算
from fractions import Fraction
a=Fraction(1,5)//创建分数对象
a.denominator//查看分母5
a.numerator//查看分子1
2)Decimal对象支持高精度运算
from fractions import Decimal
Decimal(1/3)
7、常用函数
python内置数学函数:
abs(x) | 返回数字绝对值 |
pow(x,y) | 返回x**y运算后的值 |
round(x[,n]) | 返回浮点数x四舍五入的值 |
max(x1,x2) | 返回最大值 |
min(x1,x2) | 返回最小值 |
Math中的数学函数(省略)
三、字符串类型
字符串需要用成对的单引号或双引号,如“python”。
还可以用""",'''来表示可跨行的字符串
支持以下几种类型的字符串:
1)Unicode字符串:不以u/U、r/R、b/B开头的字符串
2)非转义的原始字符串:以r或R开头的字符串
3)?bytes字节串:以b或B开头的字符串
1、字符串的创建
1)str1=”mmm“
2)将一个对象转换为字符串:str()函数或者repr()函数
2、字符串的访问
1)字符串名
2)字符串名[index],访问索引为index的字符
3)切片字符,str[[start]:[end]:[step]],步长默认值为1
3、字符串运算
注意:+运算符两边都是字符串,否则报错
4、字符串函数
①字符串查找函数
1)str.find(subStr[,beg[,end]])查找字符串str里面是否存在,若存在则返回其中第一次出现的索引值,否则返回-1
2)str.rfind(subStr[,beg[,end]])与前者不同的是从右边查找
3)str.index(subStr[,beg[,end]])与1)类似,不同的是如果不包含就报错
4)str.startswith(subStr)检查字符串str是否以指定subStr开头,如果是返回True,如果否Flase
5)str.endswith(subStr)检查字符串str是否以指定subStr结尾
②字符串替换函数
1)str.replace()把字符串中的旧字符替换成新字符,格式为:
str.replace(oldStr,newStr[,max]) 其中max是替换最大数
②字符串拆分函数
1)str.split通过指定分隔符对字符串进行切片,返回一个字符串列表,格式为:str.split(sep="",num)
③字符转换函数
ord()函数和chr()函数是一对编码相关而功能相反的函数
ord():返回单个字符的Unicode编码
chr():返回Unicode编码对应的字符
④字符串格式化函数
字符串格式化函数format()增强了字符串格式化的功能,其一般格式为:
格式化字符串.format(参数列表)
四、常量和变量
1、常量
常量一般指不需要改变也不能改变的常数或常量,常量一般没有专门定义的方式。
2、变量
1)不仅变量的值可以变,其类型也可以变
2)不需要提前声明,只需要给这个变量赋值即可
3)当用这个变量的时候,必须给这个变量赋值
(1)内存变量管理
五、运算符和表达式
and | 与 | x and y | x为true,返回y;否则返回x |
or | 或 | x or y | x为true,返回x;否则返回y |
not | 非 | not x |
& | 按位与 | 两个位都是 1 时,结果才为 1,否则为 0 |
| | 按位或 | 两个位都是 0 时,结果才为 0,否则为 1 |
^ | 按位异或 | 两个位相同则为 0,不同则为 1 |
~ | 按位取反 | 0 则变为 1,1 则变为 0 |
<< | 左移位 | |
>> | 右一位 |
(1)a is b表示是否引用同一对象
(2)a == b表示a和b的值是否相等
(3)operator(a,b)比较a和b是否有相同的值
六、特殊内置函数
1、range函数:返回一个整数序列的迭代对象
2、type(object):返回这个对象的类型
isinstance(object,class):对象是否给定类型class的对象
3、eval()函数:执行一个字符串表达式,并返回表达式的值
4、map()函数:把函数一次映射到序列或迭代器对象的每个元素上
5、filter()函数:用于过滤不符合条件的元素