【Python】数据类型 Number数字、String字符串、List列表、Tuple元组、Set集合、Dictionary字典

这篇博客详细介绍了Python的基础数据类型,包括Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)和Dictionary(字典)。每种类型都阐述了其特点、操作方法以及常见用途。Number部分涵盖整数、浮点数、复数和布尔值;String部分讲解了字符串的创建、访问、截取及常用方法;List部分讨论了列表的创建、截取、修改、排序等;Tuple部分介绍了元组的特性,强调其不可变性;Set部分展示了集合的创建、操作和运算;Dictionary部分解释了字典的键值对概念,以及如何访问、修改和添加元素。此外,还对比了List、Tuple、Set和Dictionary的异同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python数据类型

2021/6/3 周四
学习内容: Python数据类型、Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)

刚接触Python,主要是看 菜鸟教程w3school 网站,以及电子工业出版社出版的Python编程入门指南上册的教材,并根据自己的情况对重点内容做的笔记。

如有错误,欢迎在评论区指出,非常感谢!


一、数据类型

1. 标准数据类型

Python3中有六个标准数据类型
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)

其中不可变数据(3个):Number、String、Tuple;
可变数据(3个):List、Dictionary、Set;

2. 构造函数

Python中的变量不需要声明类型,在为变量赋值时,就自动设置了数据类型。

x = 525
print(x+"123")

x默认是int,这样写是会报错的。

如果希望指定数据类型,可以使用以下构造函数:

x = str(525)
print(x+"123")

这样就不会报错了

3. 获取数据类型

可以使用 type() 函数获取任何对象的数据类型

x = 525
print(type(x))

>>> 输出
>>> <class 'int'>

另外,还可以用 isinstance() 带上数据类型来判断是否是这个类型的,返回True或False:

x = 525
print(isinstance(x,str))

>>> 输出
>>> False

区别在于,在判断对象的类型时,type() 不会认为子类是一种父类类型,而isinstance() 会认为子类是一种父类类型。

二、Number(数字)

数字类型包括int、float、complex三种数值和bool布尔值

1. 数值
  • int整数,是完整的数字,正数或负数,没有小数,长度不限。
  • float浮点数,是包含小数的正数或负数,也可以是带有“e”的科学数字,表示 10的幂。比如"15E2"、“-49.8e100”。
  • complex复数,与数学中的复数一样,都是由实部和虚部组成,用 “j” 作为虚部编写。比如"2+3j"、“-3j”。

类型转换
可以使用 int()、float() 和 complex() 构造函数,将数字从一种类型转换为另一种类型(但是复数无法转换为其他数字类型)。
比如:
int(6.3) 就是 向下取整,结果为6,
float(5) 是后面加个.0,结果为5.0,
complex(3.5) 就是加个+0j,结果为(3.5+0j)。

符合格式的字符串也可以与数值类型互相转换,比如:
int(“2”) 结果为 整数2
float(“4.6”) 结果为 浮点数4.6
complex(“2+3j”) 结果为 复数(2+3j)
str(4.0) 结果为 字符串"4.0"

2. 布尔值

Python布尔类型 bool 主要用来表示真或假的值。

比如比较两个值时,将对表达式求值,返回布尔值答案True或 False:
如 8>7 为True, 8<7 和 8==7 都为False。

布尔值可以转换为数值,True表示1, False表示0。

bool() 函数可评估任何值,只有一个参数,并根据这个参数的值返回 True或 False。

  1. 对数字使用 bool() 函数时,0返回False,任何其他值都返回True。
  2. 对字符串使用 bool() 函数时,对于没有值的字符串(None或""空字符串)返回False,否则返回True。
  3. bool() 函数对于空的列表、字典和元组返回False,否则返回True。

总的来说,其实大多数值都是True的,被评估为False很少,比如:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({
   })

(0是指数值中的0,包括0、0.0和虚数0)

3. 随机数

Python没有 random() 函数来创建随机数,但有一个名为random的内置模块,可用于生成随机数:

导入 random 模块,并显示1到9之间的随机数:

import random
print(random.randrange(1,10))

randrange 左闭右开,不能取到10
另外还有一个 randint 左右都是闭区间,两边极限都可以取到

三、String(字符串)

1. 写法

python中的字符串字面量由单引号或双引号括起。

多行字符串
也可以使用三个引号(单引号双引号都可以)将多行字符串赋值给变量:

a = """When your dreams come alive you're unstoppable
take a shot chase the sun, find the beautiful"""
b = '''We will glow in the dark turning dust to gold
And we'll dream it possible'''

在结果中,换行符插入与代码中相同的位置。

字符串拼接和复制
使用 + 加号可以拼接字符串,使用 * 星号并带上需要复制的次数可以复制字符串:

print("Hello"+" World!")
print("Boom" * 5)

>>> 输出:
>>> Hello World!
>>> BoomBoomBoomBoomBoom

转义特殊字符
还可以使用反斜杠 \ 来转义特殊字符,比如 \n 表示换行:

print("使用\n换行")

>>> 输出:
>>> 使用
>>> 换行

同时,如果必须用到转义格式,但又不希望被转义的话,可以在引号前加上字母rR

print(r"使用\n换行")

>>> 输出:
>>> 使用\n换行
2. 访问字符串元素

Python中的字符串是表示unicode字符的字节数组
但是,Python没有类似char的字符数据类型,单个字符就是长度为1的字符串。

可以用 [ ] 方括号来访问字符串的元素:

a = "Hello, World!"
print(a[1])

需注意,从前往后第一个字符的下标为 0,从后往前数第一个字符的下标为-1。

3. 字符串截取

指定开始索引和结束索引,以冒号分隔,可以截取字符串的一部分。
获取从下标2到下标 5(不包括)的字符:

a = "Hello, World!"
print(a[2:5])

如果使用负的索引,则是从字符串末尾开始切片:

a = "Hello, World!"
print(a[-5:-2])

结果是orl,也就是从下标 -5 到下标 -2(不包括)的字符。

也可以省略一个参数,表示从头开始截到指定位置,或者从指定位置截到底:

a = "Hello, World!"
print(a[:5])
print(a[7:])
print(a[:-1])
print(a[-6:])

>>> 输出:
>>> Hello
>>> World!
>>> Hello, World
>>> World!
4. in / not in

如需检查字符串中是否存在特定短语或字符,可以使用 in 或 not in 关键字,返回True或False。

例如,检查以下文本中是否存在短语 “ina”:

txt = "China is a great country"
x = "ina" in txt
print(x)

结果是True。

5. 字符串常用方法
  1. len() 返回字符串的长度
  2. strip() 删除开头和结尾的空白字符
  3. lower() 返回小写的字符串
  4. upper() 返回大写的字符串
  5. replace() 用另一段字符串来替换字符串:
a = "Hello, World!"
print(a.replace("World", "Kitty"))

>>> 输出:
>>> Hello, Kitty!
  1. split() 在找到分隔符的实例时将字符串拆分为子字符串:
a = "Hello, World!"
print(a.split(",")) 

>>> 输出:
>>> ['Hello', ' World!']
6. format()和占位符{}

如果用"+"号组合字符串和数字的话会报错,但format()方法,就可以组合字符串和数字。

它接受传递的参数,格式化它们,并将它们放在占位符 {} 所在的字符串中:

age = 25
txt = "My name is Bill, and I am {}"
print(txt.format(age))

可以使用多个占位符来接受多个参数:

quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

然后参数的位置也可以不按顺序,这就需要在占位符中标明索引表示填入第几个参数,索引从0开始算

quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

四、List(列表)

1. 写法

List(列表)是 Python中使用最频繁的数据类型,写在方括号 [ ] 之间,并用逗号分隔开多个元素。

Python 没有内置对数组的支持,但可以使用 List 列表代替。

列表可以存放数字、字符串、列表(所谓嵌套)、元组等类型的内容,而且同一个列表中元素的类型都可以不相同

list = ['abcd', 321, 321, 5.25, 1+1j]

列表允许重复值

列表是有序的,索引值从前往后第一个元素的索引为 0,从后往前第一个元素的索引为-1。

2. 截取

和字符串一样,列表也可以访问元素和截取,列表被截取后返回一个包含所需元素的新列表

list = ["number",1,2,3,4,5]
print(list[0])
print(list[2:5])

>>> 输出:
>>> number
>>> [2, 3, 4]

从上还可看出,输出列表单个元素时,如果是字符串,会自动去掉引号。

另外,列表的截取还可以接收第三个参数,参数作用是截取的步长(表示间隔几个数):

list = [1,2,3,4,5,6,7,8,9,10]
print(list[0:9:2])

>>> 输出:
>>> [1, 3, 5, 7, 9]

如果第三个参数为负数,表示逆向读取,可以用于翻转字符串语句

list = ["he", "is", "Tony"]
print(list[-1::-1])

>>> 输出:
>>> ['Tony', 'is', 'he']
3. 合并列表重复输出

也同样可以用 + 加号合并多个列表组成新的包含所有元素的列表,
以及用 * 星号重复输出列表:

list1 = ['abcd', 123, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值