Python基本数据类型
程序员文章站
2022-04-07 17:29:28
...
Python的基本数据类型
注意:以下代码均在 Python 3.7.1 环境下测试通过
一、基本数据类型
(1) 数值类型
1.1 整形 int
Python 整数的关键字:int
int 类型使用场景
a = 1 # 声明一个 int 类型的变量
print(type(a)) # <class 'int'>
# 整数运算
print(1+1)
# 2
# 强制类型转换
x = int(input()) # 输入 1
print(type(x))
# <class 'int'>
1.2 浮点类型 float
Python 浮点数的关键字:float
a = 1.5
print(type(1.5))
# <class 'float'>
print(1+1.5)
# 2.5
print(1.5+1.5)
# 3.0
# 强制转换
x = float(input()) # 输入 2
print(x)
# 输出 2.0
在其他编程语言中,例如C 语言,Java float是属于单精度的数据类型,为了表示精度更高的数据,会有 double 数据类型。但是 Python 中表示浮点数只有 float 类型
1.3 complex 复数
Python中使用 复数会用到关键词 j
# 复数的创建
a = 1 + 2j # 1为实部,2位虚部
print(a.conjugate(),a.real,a.imag,sep=" ")
# result: (1-2j) 1.0 2.0
(2) 字符串类型
以下的测试中,s字符串均为 'hello world'
2.1 字符串基本使用
a = 's'
b = "s"
c = '''s'''
print(a,b,c,sep=' ')
# s s s
x = input() #输入默认的就是字符串类型
print(type(x))
# <class 'str'>
2.2 字符串的切片
切片从数组下标 0 开始
s = 'Hello World'
# s[切片的起始位置:切片的终止位置:步长(会跳跃几个元素)]
print(s[0]) #H
print(s[0:1]) #H 从第一个元素开始截取,截止到第二个元素
print(s[0:2]) #He 从第一个元素开始截取,截止到第三个元素,但是不包括第三个元素
print(s[1:5],s[1:6],sep=" ")
print(s[-1]) #倒着截取 d
print(s[-8:-4]) #打印 lo W
# 逆序输出一串字符
print(s[::-1]) #dlroW olleH
2.3 字符串拼接
以下使用的常用方法,都是博主我遇到过的,所以拿出来整理整理
2.3.1 最常见的字符串拼接 ‘+’
s = 'Hello World'
s1 = s + '2' # 注意:字符串只能拼接字符串
print(s1)
# Hello World2
2.3.2 字符串拼接竟然还可以使用 * (乘法运算符)
s = 'hello world'
s2 = s*2 # 字符串可以使用乘号变长
print(s2)
# Hello WorldHello World
2.3.3 字符串拼接 join 函数
s = 'hello world'
s3 = s.join("t") # 使用 join 函数拼接
s3_1 = s.join("@@")
s3_2 = s.join("@@@")
print(s3,s3_1,s3_2)
# t @Hello aaa@qq.com @Hello aaa@qq.com aaa@qq.com 字符串之间以我们 join 中的字符进行拼接
2.4 字符串统计
2.4.1 还能统计单个字符出现的次数 (count)
s = 'hello world'
s4 = s.count('l') # 统计字符出现的次数
print(s4) # l 出现了三次
2.4.2 竟然还能查找到单个字符第一次出现的位置 (index)
s = 'hello world'
s5 = s.index('l') #查找该字符第一次出现的位置 (下标形式存在)
print(s5)
2.5 字符串处理
2.5.1 切割字符串 (split)
s = 'hello world'
s6 = s.split(" ") # 以空格分离字符串,返回一个列表
print(s6) # 得到 ['Hello', 'World']
2.5.2 字符串处理 (strip)
new_s = 'hello aaa@qq.com' # 常常用来清理换行符
s7 = new_s.strip("@") # 去掉字符串两边多余元素 ,还有 rstrip() lstrip() r代表 right,l 代表left
print(s7) #hello world
2.5.3 字符串替换 (replace)
s = 'hello world'
s8 = s.replace("Hello","haha") # 字符串替换
print(s8) #haha World
2.5.4 文章首字母大写(title,capitalize)
new_s2 = 'hello World, I like coding !!!'
s13 = new_s2.capitalize()
print(s13) # 将一行字符串中元素第一个字母的的第一个字符大写,其他的首字母小写
# Hello world, i like coding !!!
new_s1 = 'hello world'
s9 = new_s1.title() # 把一串字符串中的单词中的首个字母大写
print(s9)
Hello World
2.5.5 字符串所有单词首字母的变换 (upper,lower)
s10 = s.upper() # 所有字母大写
print(s10) #HELLO WORLD
# HELLO WORLD
s11 = s.lower() # 所有字母小写
print(s11)
#hello world
2.5.6 找子串 (find)
s12 = s.find("ello") # 查找子串的位置
print(s12) # 返回第一个元素出现的位置
2.5.7 找子串 (in)
s = 'Hello World'
print('llo' in s)
# 返回 bool 类型 True,说明 llo 是 Hello World 的子串
相对的还有 not in 等等
2.5.7 判断单个字符类型 (isXXXX)
这种是判断单个字符数据类型的方法,剩下的就不再一一赘述了
2.6 转义字符
打印一下正常手段无法打印的字符
print("换行符:\n","打印一个斜杠:\\","制表符:\t",end="@")
# 换行符:
# 打印一个斜杠:\ 制表符: @
- \‘ 单引号
- \r 回车
(3)bool 数据类型
布尔类型代表两种状态,只有真和假
3.1 布尔真 True
3.1.1 整数也能代表真假(一)
a = True
c = 1
print(c == True)
# True 除了0 以外的都是 真
3.2 布尔假 False
3.2.1 整数也能代表真假(二)
b = False
d = 0
print(d == False)
# True 和上面相对应 ,0就代表 False
3.3 布尔相关关键字 (in)
找子串
s = 'Hello World'
print('llo' in s) #True
print(' We' not in s) #True
3.4 布尔相关关键字 (is)
e = '111'
f = '111'
print(e == f) #True == 比较数值
print(e is f) #True is 比较地址
(4)组合数据类型
具体的关于组合数据类型,会在后面的内容着重介绍,这个只是稍微的带一下
4.1 列表 list
a = [1,2,3]
print(a)
# [1,2,3]
4.2 元组 tuple
a = (1,2,3)
print(1,2,3)
#(1,2,3)
4.3 字典 dict
a = {"1":1,"2":2}
print(a)
# {'1': 1, '2': 2}
4.4 集合 set
集合表示(set)
eg:
a = {1,1,2,3,4,4}
print(a)
# {1,2,3,4}
a = {1,2,3,4}
b = {3,4,5,6}
print("差集:{} 交集:{} 并集:{}".format(a - b,a & b,a | b,)) # 差集
上一篇: Python基本数据类型
下一篇: python实现五子棋游戏