一、python数据类型
python中常见的数据类型有Numbei(数字)、String(字符串)、bool(布尔类型)、List(列表)、Tuple(元组)、Set(集合)、dictonary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
a, b, c = 20, 5.5, True
print(type(a), type(b), type(c))
二、int类型和浮点数类型
int类型即为一个整数类型它可以使用算数运算符【+,-,/,*,%,//,**】来计算两个数的结果,
也可以使用比较运算符【==,!=,>,>=,<,<=】来比较两个数值,比较的结果是bool值True或flase
浮点型(float) - 浮点型由整数部分与小数部分组成,
print(3 * 3)
print(3 ** 4)
print(50 - 5 * 6)
print((50 - 5 * 6) / 4)
print(9 / 3)
print(10 / 3)
print(10 // 3)
print(-10 // 3)
print(10 % 3)
print(-10 % 3)
print(5.4 - 3)
print(10>3)
print(10==10)
print(10!=3)
print(10<3)
-
int(x) 将x转换为一个整数。
-
x = int(1) # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
z = int("3") # z 输出结果为 3 -
float(x) 将x转换到一个浮点数。
-
x = float(1) # x 输出结果为 1.0
y = float(2.8) # y 输出结果为 2.8
z = float("3") # z 输出结果为 3.0
w = float("4.2") # w 输出结果为 4.2
三、Bool类型
布尔类型即 True 或 False。
在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型特点:
-
布尔类型只有两个值:True 和 False。
-
bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1,false等价为0。
-
布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
-
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
-
布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。
- 可以使用
bool()
函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为False
:None
、False
、零 (0
、0.0
、0j
)、空序列(如''
、()
、[]
)和空映射(如{}
)。其他所有值转换为布尔值时均为True
。
# 布尔类型的值和类型
a = True
b = False
print(type(a)) # <class 'bool'>
print(type(b)) # <class 'bool'>
# 布尔类型的整数表现
print(int(True)) # 1
print(int(False)) # 0
# 使用 bool() 函数进行转换
print(bool(0)) # False
print(bool(42)) # True
print(bool('')) # False
print(bool('Python')) # True
print(bool([])) # False
print(bool([1, 2, 3])) # True
# 布尔逻辑运算
print(True and False) # False
print(True or False) # True
print(not True) # False
# 布尔比较运算
print(5 > 3) # True
print(2 == 2) # True
print(7 < 4) # False
四、string类型
Python中的字符串用单引号 ' 或双引号 " 括起来
字符串可以通过下标索引来控制输出的字符
s1 = 'Hello World!'
s2 = "Runoob"
print(s1[0])
print(s2[1:5])
1. index、查找字符在字符串中第几个个字符出现、rindex从字符末尾查找字符在字符串中第几个个字符出现
print("asdhaohd".index("h"))
print("asdhaohd".rindex("h")))
2.find、查找字符在字符串中第几个个字符出现、rfind从字符末尾查找字符在字符串中第几个个字符出现,如若查找不到则输出-1
print("asdhaohd".find("o"))
print("asdhaohd".rfind("a"))
print("asdhaohd".rfind("i"))
3.count查找字符串中共有几个这样的字符
print("aabbccddeeiiii".count("i"))
4.capitalize将字符串中的首字母大写、upper将字符串中的所有小写字母转大写、lower将字符串中的所有大写字母转小写、swapcase将字符串中大写字母转小写、小写字母转大写、title将字符串中的首字母大写
print("aBcd efG".capitalize())
print("aBcd".upper())
print("aBcd".lower())
print("aBcd efG".swapcase())
print("aBcd efG".title())
5.join 在一个字符串中的每一个字符后都添加一个引号" "中的内容
print("+++".join("沫子可爱捏"))
6.ecode()可以对一个字符串进行编码,括号中若写"utf8"则将字符串编码为utf8类型和decode()可以对ecode编码后的字符串进行解码,括号中的解码类型应与ecode()中的相同
s1="沫子可爱捏"
s_utf8=s1.encode("utf8")
print(s_utf8)
s_utf8 =s_utf8.decode("utf8")
print(s_utf8)
7.center将字符串扩张到一定的长度,居中并填写一些字符、ljust将字符串扩张到一定的长度左居中并填写一些字符、rjust将字符串扩张到一定的长度右居中并填写一些字符
print(" python".center(20, "+"))
print("python".ljust(20, "+"))
print("python".rjust(20, "+"))
print("python".zfill(20))
8.endswith判断字符串是否是以一个字符为结尾、startswith判断一个字符串是否以它为开始,输出的结果为True或Flase
print("python".endswith("n"))
print("python".startswith("p"))
9.replace将字符串中的某一个字符替换成另一个字符
print("python".replace("p","chion"))
五、list列表
1.列表可以通过遍历来获取列表中的每一个元素
l6 = [10, 30, 40, 60, 70]
for i in range(len(l6)):
print(i, l6[i])
2.append在列表的末尾加入一个元素
l = [1, 3, 5]
l.append(7)
print(l)
3.insert将对象插入列表,在索引位置插入一个元素
l = [1, 3, 5]
l.insert(1, 2)
print(l)
4.extend在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
l = [1, 3, 5]
l.extend(range(10))
print(l)
5.count计算某一元素在列表中出现的次数
l = [1, 3, 5,1, 2, 3, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.count(5))
6.len列表元素个数
l = [1, 3, 5,1, 2, 3, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(l))
7.index从列表中找出某个值第一个匹配项的索引位置
l = [1, 3, 5,1, 2, 3, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.index(5))
8.pop移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
l = [1, 3, 5,1, 2, 3, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r = l.pop()
r5 =l.pop(3)
print(r,r5, l)
9.remove移除列表中某个值的第一个匹配项
l = [1, 3, 5,]
l.remove(3)
print(l)
10.reverse反向列表中元素
l = [1, 3, 5,]
l.reverse()
print(l)
11.sort对原列表进行排序
l = [1, 3, 5,1, 2, 3, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l.sort()
print(l)
l.sort(reverse=True)
print(l)
六、tuple元组
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
t1 = ()
print(t1, type(t1))
t2 = (10,)
print(t2, type(t2))
t3 = (10, 20, 30, 40)
print(t3, type(t3))
t4 = 10,
print(t4, type(t4))
1.元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print(tup3)
2.len可以计算元组中的数据个数
t12 = (10, 3.14, "hello world", False, True, None, [],)
print(len(t12))
3. *号 可以对元组中的元素进行复制
t13=("hi",)
print(t13*4)
4.in可以确定元组中是否含有该元素
print(3 in (1, 2, 3))
七、字典
字典可以存储任意类型的对象,字典中的每个键值key对用冒号:隔开,每个对用逗号(,)隔开,整个字典包括在花括号{}中
1.get返回指定键的值,如果键不在字典中返回 default 设置的默认值
d1 = {
"name": "马云",
"age": 18
}
print(d1.get("name"),d1.get("sex","男"))
2.updata把字典dict2的键/值对更新到dict里
d1 = {
"name": "马云",
"age": 18
}
d1.update({
"addr": "杭州",
"name": "乔布斯"
})
print(d1)
3.pop删除字典 key(键)所对应的值,返回被删除的值。
d1 = {
"name": "马云",
"age": 18
}
r = d1.pop("name")
print(r, d1)
4.popitem返回并删除字典中的最后一对键和值。
d1 = {
"name": "马云",
"age": 18
}
r = d1.popitem()
print(r, d1)
八、集合
集合(set)是一个无序的不重复元素序列。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
同样都是使用{ }来创建,若有键(key)则类型为dist,若为数据,则类型为(set)
1.集合中常见的操作 add()为集合添加元素
s6={1,4,5,6,7}
s6.add(8)
print(s6)
2.clear()清空集合中所有的元素,输出的并不是{}
s6={1,4,5,6,7}
s6.clear()
print(s6)
3.difference()返回多个集合的差集
s7 ={1,5,3,7,8,9,}
s8={1,2,3,4,5,6}
s9=s7.difference(s8)
print(s9)
4.discard()将集合中的一个元素删除,若不存在也不报错
s6={1,4,5,6,7}
s6.discard(5)
print(s6)
5.intersection()返回两个集合的交集
s7 ={1,5,3,7,8,9,}
s8={1,2,3,4,5,6}
s9=s7.intersection(s8)
print(s9)
6.pop()随机删除一个集合中的元素
s6={1,4,5,6,7}
s6.pop()
print(s6)
7.remove()移除一个指定的元素
s6={1,4,5,6,7}
s6.remove(7)
print(s6)
8.union返回两个集合的并集
s7 ={1,5,3,7,8,9,}
s8={1,2,3,4,5,6}
print(s7.union(s8))
9.update
给集合中添加元素
s6={1,4,5,6,7}
s6.update({3,5,4,7,8,9})
print(s6)
10.len()计算集合中元素的个数
s6={1,4,5,6,7}
print(len(s6))