一、整型和浮点型
1、整数:int(其他语言有短整数、整数和长整数等,python没有区别)
type(1) 输出为<class 'int'>
2、浮点数:float(python没有单精度和双精度之分,它和其他语言的双精度相类似)
type(1.1)输出为<class 'float'>
3、混合运算
type(1+0.1)输出为<class 'float'>
;
type(1+1)输出为<class 'int'>
- 整数和浮点数加减乘运算得到的是浮点数
- 除法运算“/”得到的都是浮点数(这和其他语言不同),所以1 / 2得到0.5;
- “//”时有浮点数则得到整除后的浮点数的值,如“1 // 2.0”得到0.0,否则其功能是做整除,那么得到的是整数,如“1 // 2”得到0
二、进制
1、表示不同进制
数字前加上0b表示二进制,如“0b10”表示十进制2;
数字前加上0o表示八进制,如“0o11”表示十进制9;
数字前加上0x表示十进制,如“0x10”表示十进制16;
2、进制转换
- 转为2进制,使用方法bin
如:bin(0o10)
转为而进制为:'0b1000',转换后的值为字符串 - 转为10进制,使用int方法
如:int(0b10)
转为十进制为2,转换后为整数 - 转为16进制,使用hex方法
如:hex(16)
转为十六进制为'0x10',转换后为字符串 - 转为8进制,使用oct方法
如:oct(10)
转为八进制为'0o12',转换后为字符串
三、布尔类型和复数
1、布尔
真:True;假:False
- 强制类型转换使用bool方法转换为bool类型
bool(0)得到False,bool('')得到False,bool([])得到False,bool({})得到False
bool(1)得到True,bool('ha')得到True,bool([1,2,3])得到True,。。。
综上,空值、None和0表示False,其他都表示True
四、字符串(str)
1、单引号和双引号
使用时成对出现就可以,如果有冲突的地方,可以使用转义字符‘\’
2、多行字符串
使用三引号即可:三个单引号'''或者三个双引号"""
3、原始字符串
在字符串前面添加“r”
如:print('c:\northwind\northwest')这样直接输出,会显示成三行,此时如果原样输出,有两种方法:
- 使用转义字符
- 在整个字符串前面添加r,即print(r'c:\northwind\northwest')
4、字符串运算
- 拼接
使用“+”号拼接 - 字符串重复
使用“”号即可,如“hello”3表示将hello重复三次 - 字符访问(只能访问不能修改)
使用中括号[]即可,如"hello"[0]得到‘h’,从0开始,负数从结尾开始,-0和0相同;
但是不能超范围 - 字符串截取
使用中括号[]即可,格式为:[start:end],表示截取范围为[start,end)这么一个左闭右开的区间,两个数字皆为字符下标。
如果前后冲突,不能形成区间,则返回空字符串;
如果没有end,写为[start:]截取从start开始到结束的字符串
如果没有start,写为[:end]截取从开始到end的字符串
如果end超过了字符串的长度,则返回从start开始到结束的字符串
如果为负数,则从结尾开始数,如'hello':[0:-2]得到‘hel’ - 查找
使用in,如‘h’ in 'hello',表示字符‘h’是否在字符串中
使用not in查找某个字符或字符串是否在字符串中 - 长度
使用len()方法获取,如len('hello')得到5 - 最大max和最小min
获取最大和最小,因为字符串是由每个字符组成的,而每个字符对应一个字符编码值,所以如:max(‘hello’)得到“o”,min(‘hello’)得到“e”
五、列表(list)
1、定义
使用中括号[]包含组组数据,如[1,2,3,4];
其内部的类型可以为任何类型以及任何类型的组合,也可以是列表之间的嵌套。
2、基本操作
列表的拼接、重复、访问、截取、查找、长度和字符串一摸一样,获取列表中的某个位置的元素的方法和字符串也一样;
最大值和最小值只限于有对应字符编码并且列表中只有同种类型元素的比较,如:max(['h','e','l'])得到‘l’,但是max(['h','e',2])会报错
六、元祖(tuple)
1、定义
使用小括号()包含一组数据,如(1,2,3,'haha');
其内部组合也没有限制;
元祖是不可变的,一旦赋值,就不能再修改。
2、基本操作
和字符串的行为保持一致
最大值和最小值只限于有对应字符编码并且元祖中只有同种类型元素的比较,如:max(['h','e','l'])得到‘l’,但是max(['h','e',2])会报错
元祖里只有一个元素时,就表示该元素自身的类型,不再是元祖,如(1)表示整数1,(“hello”)表示字符串“hello”,而不再是元祖;
如果想将上面的表达为元祖,可以在元素后面添加一个逗号,如(1,)就表示一个元祖,此时(1,)*2得到为(1,1)
表示空的元祖时,只写一个空括号就行,即()
七、集合set
前面说到的元祖、数组、字符串都属于序列,都是有序的;
而集合是无序的,所以不能用下标访问,也自然不能和序列一样做截断(切片)
集合的特性:无序、不重复
1、定义
使用大括号包含一组数据,如{1,2,3,4,"hello",(1,2)}
2、基本操作
- 使用len()获取集合长度
- 使用in判断集合是否包含某个元素,使用not in判断是否在集合里不包含某个元素
- 求两个集合的差集使用“-”号(集合没有办法使用“+”和“*”)
{1,3,4,5}-{4,6}
得到{1, 3, 5}
- 求两个集合的交集使用“&”符号
{1,2,3,4}&{2,4}
得到{2, 4}
- 求两个集合的并集使用“|”符号
- 定义空集合
set()
- 强制类型转换
可以将可遍历的变量强制转换,如a=[1,2,3,4,6],则set(a)得到{1,2,3,4,6},如果存在重复的元素,只保留一个
八、字典dict
1、定义
包含键值对的集合,如{"1":1,"hello":"world"};
key必须是不可变的,如数字、字符串、元祖,但不能是数组、集合、字典等
value可以是任何值
2、基本操作
- 访问:通过key得到value,value=dict[key]