我们保存的数据是有类型的,比如我们把动物进行分类:狗、猪、猫。。。 那么我们数据有哪些类型呢?
不可变数据类型:(修改的时候回返回一个新的值)
int(数字) String(字符串) Boolean(布尔) Tuple(元组)
可变数据类型:(可以在原来的基础上进行修改)
List(列表) Dictionary(字典) set(集合)
complex(复数数据类型) 10 + 5j (使用不多)
可变数据类型可以在源地址修改数据,不可变数据类型不能修改元数据 我们可以使用type查看数据类型
int:
定义一个变量 num = 10
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
我们可以使用id 查看 num内存地址 num += 4 再次查看地址可以发现 地址被修改
int数据类型可以直接做数学运算
int类型 非0 即为真
string:
使用引号包裹的字符就是字符串
find:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
index:跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
count:返回 str在start和end之间 在 mystr里面出现的次数
replace:把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
split:以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
capitalize:把字符串的第一个字符大写
title:把字符串的每个单词首字母大写
startswith:检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
endswith:检查字符串是否以obj结束,如果是返回True,否则返回 False.
lower:转换 mystr 中所有大写字符为小写
upper:转换 mystr 中的小写字母为大写
strip:删除mystr字符串两端的空白字符
rfind:类似于 find()函数,不过是从右边开始查找.
rindex:类似于 index(),不过是从右边开始.
isalpha:如果 mystr 所有字符都是字母 则返回 True,否则返回 False
isdigit:如果 mystr 只包含数字则返回 True 否则返回 False.
isalnum:如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
字符串非空即为真
tuples:
使用()包裹的元素就是元组
元组数据不能修改
注意:当元组只有一个元素的时候,后面要加一个逗号,如果没有那么不是一个元组
list:
使用[] 包裹的元素
添加元素("增"append, extend, insert)
修改元素("改") 使用下标修改元素
查找元素("查"in, not in, index, count)
删除元素("删"del, pop, remove)
排序sort sorted
列表非空即为真
dict:
使用{} 有键值对存在的是字典,字典的key不能重复,当重复的时候修改数据
查看元素 get
修改元素
添加元素
删除元素 del/clear
当key不存在时,添加元素,存在时修改元素 dict["key"] = value
容器类型字符串、列表元组都可以进行切片操作
所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间。 如果有字符串:name = 'abcdef',在内存中的实际存储如下:
切片的语法:[起始:结束:步长]
s = 'Hello World!'
print(s[4])
print(s)
print(s[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1
print(s[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)
print(s[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)
print(s[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)
print(s[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)
print(s[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)
# python 字符串快速逆置
print(s[::-1]) # 从后向前,按步长为1进行取值
学IT,上博学谷