python学习之路(三)
#字符串(不可变数据类型)
一、字符串的表示
1. 字符串可以用单引号‘’ ,双引号””表示,但是左右两边的符号要一样,不能一边单引号一边双引号
2. 三引号字符串不赋值的情况下,通常当作跨行注释使用,例如:
3. 当一个字符串里面含有引号时,有下面几种方法可以实现打印
(1)使用不同的引号表示字符串
(2)使用转义符号(\)对字符串中的引号进行转义
(3)当字符串中有反斜杠时,可能会构成一个不可打印的字符
这时候不仅可以使用反斜杠转义,也可以使用原始字符串(在字符串前面加上一个英文字母r)
4.字符串也可以进行加法和乘法运算
二、字符串的内置方法
字符串的内置方法有很多,具体可以去鱼c论坛上看,链接为https://fishc.com.cn/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
这里我列举几个比较重要常用的内置方法
方法 | 含义 |
---|---|
expandtabs([tabsize=8]) | 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8 |
find(sub[, start[, end]]) | 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选 |
join(sub) | 以字符串作为分隔符,插入到 sub 中所有的字符之间 |
replace(old, new[, count]) | 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。 |
split(sep=None, maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表 |
strip([chars]) | 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选 |
#列表(可变数据类型)
一、建立列表——列表中可以包含任何
二、列表时可以修改的,所以它允许增加删除列表中的元素等操作
1. 向列表中添加元素
(1)使用 append()方法在列表末尾追加数据(只能是一个数据)
(2)extend()方法利用迭代的方式追加多组数据
(3)使用 insert()方法在指定位置添加一个新元素
2. 从列表中删除数据
remove(value) | 可以指定参数,当不指定参数时,默认删除在最后一个 |
pop(index = None) | 可以指定弹出的陈述句的索引号,默认弹出最后一个,可以获取弹出的数据 |
del | 可以删除列表索引出的数据 |
3. 列表其他的内置方法
clear() | 清空列表中的元素 |
copy() | 列表的软复制 |
count(value) | 计算列表中指定元素的个数 |
index(value,star = None ,stop = None) | 在指定范围内找出列表元素的索引号(所在列在中位置) |
reverse() | 将列表整个原定翻转 |
sort(key = None, reverse = False) | 用指定的方式对列表的元素进行排序,默认从小到大 |
#元组(不可变数据类型)
一、,元祖和字符串一样是不可修改的,一旦修改就会报错
二、元祖的内置方法
元祖的内置方法很少
count(value) | 计算元组中指定元素的个数 |
index(value,star = None ,stop = None) | 在指定范围内找出元组元素的索引号(所在元组中位置) |
这里值得注意的是,元组不可修 是指元组元素不可修改,但是元组元素如果是可修改的数据类型,则元素中的元素可以修改,例如:
#字典(不可变数据类型)
一、建立和访问字典
info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....}) 或 info=dict(name='egon',age=18,sex='male') 或 info=dict([['name','egon'],('age',18)]) 或 {}.fromkeys(('name','age','sex'),None)
注意:列表,字典和集合不能作为字典的key,这和字典的储存方式有关
python 调用内部的散列函数,将键(Key)作为参数进行转换,得到一个唯一的地址(这也就解释了为什么给相同的键赋值会直接覆盖的原因,因为相同的键转换后的地址是一样滴),然后将值(Value)存放到该地址中。
对于 Python 来说,键(Key)必须是可哈希的,换句话说就是要可以通过散列函数计算出唯一地址的。那如果拿一个变量当键(Key)可以吗?肯定不行。因为变量随时都可能改变,不符合可哈希原则!
二、字典的各种内置方法
fromkeys(*args,**kwargs) | 用于创建并返回一个新的字典,第一个参数是字典的键;第二个参数是可选的,如果不输入则返回None |
clear() | 清空字典中的元素 |
copy() | 复制字典 |
get(k, d =None) | 寻找并返回指定的值,如果找不到默认返回None,可自行设置第二个参数的值,使找不到是返回设置的值 |
keys() | 返回字典中的键 |
values() | 放回字典中的值 |
items() | 返回字典中所有的键值对 |
pop(k, d =None) | 弹出给定 键对应的值 |
popitem() | 随机弹出一个项(键值对) |
setdefault(k, d =None) | 和get()方法类似,但是setfault()在字典中找不到相应的键时会自动添加 |
update(E=None ,**F) | 用来更新字典 |
#集合(可变数据类型)
一、建立集合
二、集合中的元素是唯一的
三、集合中的元素只能是不可变数据类型