int、float、bool、str、list、tuple、set、dict、bytes
1.int 整数型
经常进行数字的运算和大小比较,加减乘除
2.float 浮点数,小数类型
小数的范围是不确定,是无限的,但是计算机是有限的,所以在计算机小数的位数是有限的
区别于整数,小数在某个区间内是可以表示清楚的
3.bool 条件判断
分为两类True和Flase.
bool也可以用于基础数据类型的转化,在python中0表示Flase,其余均表示True
空字符串也表示的为Flase,其余表示True.
综上我们可以得出,在python中,表示空的都为Flash,不空的值都为True
4.str 字符串
字符串的占位问题
方法一、
字符串占位:%s
占数字(整数):%d
占小数:%f
方法二、
python更新版中 直接放变量 f-string
a=f"我的名字是{name}"
索引和切片
索引:按照位置提取元素 [ ]
切片:从一个字符串中提取出一部分的内容 s[3:6]
语法: s[start:end:step] 从start到end进行切片,间隔为step,但是注意取不到end
切片是从左往右切的,那么如果想得到从右向左的呢?那么就要用到step,当step为-1时,顺序为倒叙
字符串的查找和判断
查:
find(" ")——没有时,返回值为-1
index(" ")——没有时则报错
判断:
判断开头:startswith()
判断结尾:endswith()
判断字符串是否有整数组成:isdigit()
总结及事项:
1.字符串的操作不会对与原字符串产生影响,一般会产生一个新的字符串
upper() 大写 可以省略大小写时
strip()去掉字符串左右两端的空格
replace() 字符串进行替换
split() 对字符串进行切割
join() 拼接一个列表中的内容陈伟一个新的内容
startswith() 判断字符串××开头
len() 字符串的长度,内置函数
关于in 可以判断×××是否在×××中出现;也可以用于for循环
5.列表 能装大量的东西
表示的格式 [ , ] 列表中元素用,隔开
特点:
有索引,有切片;
列表中的索引超过范围的时候会报错
可以用for循环进行遍历
可以用len()拿到列表的长度
列表的增删改查
增:append()——追加;insert()——插入;extend()——可以合并两个列表,进行批量的添加
索引(查):pop(3)
删:remove()
改:直接运用索引修改——lst[1]="我要改成的东西"
列表的排序
列表按着存放的位置进行保存
sort() —— 对列表进行升序
reverse()——反转
列表的嵌套
列表的循环删除
a=["张三","李四","王五","刘六"]
#这里我们要删除列表里面姓张的人
zhang=[]
#准备以和临时的列表,负责储存要删除的内容
for i in a:
if i.startswith("张"):
zhang.apped(i)
for i in zhang:
a.remove(i)
#在原列表中进行删除
print(a)
安全稳妥的循环删除的方式,将要删除的内容保存在一个列表中,循环新列表,删除列表
6.tuple 元组
特点:不可变的列表
表示的格式:()
会固定某些数据,不允许外界进行更改
如果元组只有一个元素(*), 那么需要在元素的末尾加逗号, 否则会误认为为优先级
关于元组的不可变,内存地址不能变
7.set 集合
无序,没有固定的顺序
交集、并集、差集
intersection——交集——&
union——并集—— |
difference——差集—— -
!!!集合:可以去除重复值
转换为集合的形式,然后再转化回去。注意:转化回去的顺序会发生变化,因为集合是无序的
8.dict 字典
格式:字典是以键值对的形式出现的 {key1:value,key2:value,......}
字典的key值必须为可哈希的数据类型
value值可以为任何形式的数据类型
补充:哈希计算
在编程中,数据类型可以分为可哈希(hashable)和不可哈希(unhashable)两种:
1. 可哈希的数据类型:
- 这些数据类型的对象可以被用作字典的键(key)或者集合(set)中的元素。
- 它们必须具有一个固定的哈希值,一旦创建,在对象的生命周期内这个哈希值不会改变。
- 常见的可哈希数据类型包括整数、浮点数、字符串、元组(只要元组中的元素也都是可哈希的)等。
- 可哈希的数据类型通常实现了`__hash__()`方法,返回对象的哈希值。
2. 不可哈希的数据类型:
- 这些数据类型的对象不能用作字典的键或集合中的元素,因为它们要么没有哈希值,要么哈希值可能会变化。
- 常见的不可哈希数据类型包括列表(list)、字典(dict)、集合(set)等,因为它们可以包含可变的数据,或者它们自身就是可变的。
- 不可哈希的数据类型通常没有实现`__hash__()`方法,或者`__hash__()`方法被明确地设置为返回`None`。
在Python中,如果你尝试将不可哈希的对象用作字典的键或集合的元素,会引发`TypeError`。
例如:
# 可哈希的数据类型示例
hashable_object = (1, 'a', (3, 4)) # 元组中的元素都是可哈希的
print(hash(hashable_object)) # 可以计算哈希值
# 不可哈希的数据类型示例
unhashable_object = [1, 2, 3] # 列表是不可哈希的
try:
print(hash(unhashable_object)) # 尝试计算哈希值会抛出TypeError
except TypeError as e:
print(e) # 输出错误信息
在上述代码中,尝试对列表unhashable_object计算哈希值将会引发错误,因为列表是不可哈希的。