欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基本数据类型

程序员文章站 2022-04-07 17:29:28
...


注意:以下代码均在 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)

这种是判断单个字符数据类型的方法,剩下的就不再一一赘述了
Python基本数据类型

2.6 转义字符

打印一下正常手段无法打印的字符

print("换行符:\n","打印一个斜杠:\\","制表符:\t",end="@")
# 换行符:
# 打印一个斜杠:\ 制表符:	@
  1. \‘ 单引号
  2. \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,12,34,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,)) # 差集