python精进之路1---基本数据类型
python的基本数据类型如上图,重点需要掌握字符串、列表和字典。
一、int、float类型
int主要是用于整数类型计算,float主要用于小数。
int类型有个bit_length的方法。它用于返回二进制表示是的位数。
二、 bool类型
bool值就两个,True和False,bool值本身没什么多讲的,主要是bool值和各种其他数据类型的转换以及配合逻辑运算符的使用。
int-->bool:非0转换化为True,0转换为False。
str-->bool:空字符串转换为False,其他的转换为True。注意引号内如果哪怕只是一个空格也不是空字符。
列表、元祖和字典都和字符串一样,当为空的时候转换为False,不为空转换为True。
三、str类型
字符串是不可变类型,主要有两大方面需要注意,第一个是字符串索引和切片,第二个就是操作字符串的各种方法。
1) 字符串索引与切片
字符串其实也可以理解为字符数组,它的索引值也是从0开始的,所以和切片操作返回的值都是复制生成一个新的字符串,原来字符串
不会改变,永远记住字符串的不可变,没有修改字符串这一说法。切片有个顾头不顾尾的特性,具体的看下面代码:
2) 字符串的操作方法
字符串的操作方法很多,尽量多的掌握,永远记住操作字符串返回的都是一个新的字符串,具体各种方法看下面代码:
四、list类型
列表是可变的数据类型,所以对它的大部分操作都是修改原列表,这与字符串的操作要有区分。
1)列表的基本操作:
增: append、extend、insert
删: pop、remove、del、clear
改:
直接按照索引赋值修改:
切片修改:
2)一些公共方法
len():返回列表的长度
count():给定字符返回字符的个数
index():给定字符返回字符的索引值
sort():默认升序排序
reverse():反转
注意一个小知识点:
当列表使用sort进行排序的时候,如果列表里面的字符串都是英文字母开头,那么它们是通过字符串第一个字母ASCII码
的数值大小来排序的。
五、tuple类型
tuple又称为只读列表。可循环查询,也可切片。但不能修改子元素。
1)tuple操作
元祖里面的子元素是不能修改的,但是这些子元素如果是可变的数据类型:例如列表、字典。
那么这些子元素里面的元素是可以修改的,可以形象的说元祖的儿子不能改变,但孙子辈可能可以改变。
2)元祖注意点
元祖里面只有一个元素的时候,一定要在元素后面加一个逗号!!!这个逗号的学问大着,如果不加逗号,它就不是元祖类型,
而是里面这个元素的类型,例如(1)就是整型。对于字典和列表里面只有一个元素的时候逗号加不加都无所谓。
六、dict类型
字典的键key必须是不可变数据类型,值value可以是任意类型。
1)字典的基本操作
增:
删:
改:
查:
通过get查询如果键不存在不会报错,而直接利用键值查询会报错。
七、集合
它本身是可变的数据类型。但里面存的元素必须是不可变的数据类型。
集合里面的元素是无序的。
集合里面的元素不允许重复。
可以通过set函数创建集合,也可以像字典一样用{}来创建
1)集合的基本操作:
增:
删:
pop随机删除
clear:清空后不会返回{},而是返回set(),为了和空字典区分。
查:for循环遍历
2)集合的复杂操作
两个集合交集:
两个集合并集:
交集取反:
差集:一个集合相对于另一个集合独有的
子集和超集
补充知识:
一、join方法:
通过指定字符将可迭代对象连接起来。
join函数的参数必须是可迭代对象,不能使用整数。
当参数是列表、元祖、字典时,子元素只能是字符串。
当参数是字典时,只会取出键进行拼接。
二、range方法
range第三个参数表示步长,它可以是负数,但不能写0,不写默认为1。