Python基本数据类型介绍
Python
解释
- Python是一种高级编程语言,以其简洁、易读和易用而闻名。它是一种通用的、解释型的编程语言,适用于广泛的应用领域,包括软件开发、数据分析、人工智能等。
- python是一种解释型,面向对象、动态数据类型的高级程序设计语言,是一门开源免费的脚本编程语言。
- 2020.1.1,停止Python2的更新。
特点
- 简洁易读:Python采用清晰简洁的语法,使得代码易于阅读和理解。它使用缩进来表示代码块,而不是依赖于大括号,使得代码更具可读性。
- 丰富的库和框架:Python拥有大量的标准库和第三方库,涵盖了各种领域的功能,例如Web开发、科学计算、数据分析等。这些库和框架可以帮助开发者快速构建应用程序。
- 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux和MacOS等。这使得开发者可以轻松地在不同平台上部署和运行Python程序。
- 动态类型:Python是一种动态类型语言,不需要提前声明变量类型。这简化了代码的编写和维护,并提供了更大的灵活性。
- 广泛的应用领域:Python被广泛应用于各个领域,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。它被许多大型公司和组织采用,如Google、Facebook、Netflix等。
- 强大的社区支持:Python拥有庞大的开发者社区,提供了丰富的教程、文档和开源项目。开发者可以从社区中获取帮助、分享经验,并使用已经开发的工具和库。
Python基本数据类型
变量
在Python中,变量是用来存储和操作数据的标识符。可以把变量看作是一个容器,用来存储值或者引用其他对象。
在Python中,变量的使用有以下几个特点:
- 变量命名:变量名是用来标识变量的名称。它可以由字母、数字和下划线组成,但必须以字母或下划线开头。变量名区分大小写,例如"count"和"Count"是不同的变量名。
- 变量赋值:使用赋值运算符(=)将一个值赋给一个变量。例如,可以使用语句x = 5将整数值5赋给变量x。变量的赋值不需要类型申明;每个变量在使用前必须赋值。
- 动态类型:Python是一种动态类型语言,这意味着变量的类型是根据赋给它的值自动推断的。同一个变量在不同的上下文中可以引用不同类型的对象。
- 变量引用:变量可以引用各种对象,如整数、浮点数、字符串、列表、函数等。通过变量名,可以访问和操作变量引用的对象。
# 变量赋值
x = 5
name = 'Alice'
pi = 3.14# 使用变量
print(x) # 输出:5
print('Hello, ' + name) # 输出:Hello, Alice
radius = 2.5
area = pi * radius ** 2
print('圆的面积为:', area) # 输出:圆的面积为: 19.625# 变量类型推断
x = 10 # x是整数类型
x = 'Hello' # x变为字符串类型
x = [1, 2, 3] # x变为列表类型# 多个变量赋值
a = b = c = 0
print(a, b, c) # 输出:0 0 0
标准数据类型
数字Number
- Python支持四种数字类型,分别是int整型(早期版本还分int和long,从Python3开始合到一起都是int型,可以表示任意整数)、float浮点型、complex复数、bool型;
- 数字是不可改变的数据类型,这意味着改变数据类型会分配一个新的对象;
# 整数
x = 5
y = -10
z = 0# 浮点数
pi = 3.14
radius = 2.5# 复数
a = 2 + 3j
b = -1j# 布尔值
is_valid = True
is_greater = x > y# 数值计算和操作
print(x + y) # 输出:-5
print(pi * radius ** 2) # 输出:19.625
print(a.real) # 输出:2.0
print(b.imag) # 输出:-1.0
print(not is_valid) # 输出:False# 数值转换
x_str = '10'
x_int = int(x_str)
y_float = float(y)
z_complex = complex(x, y)
字符串String
- 在Python中,字符串(str)是一种表示文本数据的数据类型。字符串由一系列字符组成,可以包含字母、数字、符号和空格等内容。
- 在Python中,字符串可以使用单引号(
''
)或双引号(""
)括起来。 - 反斜杠用来转义,使用 r 可以让反斜杠不发生转义;print(r’this is a line with\n’) 。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- 字符串属于不可改变数据类型,但可以通过切片和拼接等操作来生成新的字符串。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
name = 'Alice'
message = "Hello, world!"
sentence = "I'm learning Python."print(name) # 输出:Alice
print(message) # 输出:Hello, world!
print(sentence) # 输出:I'm learning Python.
- 字符串的拼接:用+号将两个字符串拼接在一起。
greeting = "Hello"
name = "Alice"
message = greeting + ", " + name
print(message) # 输出:Hello, Alice
- 切片(Slicing):可以使用切片操作符([:])获取字符串的子串。
sentence = "I'm learning Python."
print(sentence[2:9]) # 输出:m learn
- 索引(Indexing):可以使用索引操作符([])获取字符串中特定位置的字符。
word = "Python"
print(word[0]) # 输出:P
print(word[-1]) # 输出:n
print(word[2:4]) # 输出:th
- 长度获取:可以使用内置函数len()获取字符串的长度。
sentence = "I'm learning Python."
words = sentence.split() # 按空格分割字符串
print(words) # 输出:["I'm", 'learning', 'Python.']
print(sentence.upper()) # 输出:"I'M LEARNING PYTHON."
print(sentence.lower()) # 输出:"i'm learning python."
print(sentence.replace('Python', 'Java')) # 输出:"I'm learning Java."
列表List
- 列表是python中使用最频繁的数据类型。
- 在Python中,列表(list)是一种有序、可变、可重复的数据类型,用于存储多个值。列表可以包含任意类型的元素,包括整数、浮点数、字符串、布尔值、甚至其他列表等。
- 列表使用方括号(
[]
)来表示,其中的元素使用逗号(,
)分隔。
numbers = [1, 2, 3, 4, 5]
names = ['Alice', 'Bob', 'Charlie']
mixed = [1, 'Hello', True, 3.14]
nested = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
empty = []
- 访问元素:可以使用索引操作符(
[]
)来访问列表中的元素。索引从0开始,负数索引表示从列表末尾开始倒数。
numbers = [1, 2, 3, 4, 5]
print(numbers[0]) # 输出:1
print(numbers[-1]) # 输出:5
print(numbers[2:4]) # 输出:[3, 4]
- 修改元素:由于列表是可变的,可以通过索引操作符(
[]
)来修改列表中的元素。
numbers = [1, 2, 3, 4, 5]
numbers[0] = 10
print(numbers) # 输出:[10, 2, 3, 4, 5]
- 添加元素:可以使用
append()
方法向列表末尾添加新元素,或使用拼接操作符(+
)将两个列表合并。
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # 输出:[1, 2, 3, 4]names1 = ['Alice', 'Bob']
names2 = ['Charlie', 'Dave']
combined = names1 + names2
print(combined) # 输出:['Alice', 'Bob', 'Charlie', 'Dave']
- 删除元素:可以使用
del
语句或remove()
方法删除列表中的元素。
numbers = [1, 2, 3, 4, 5]
del numbers[2]
print(numbers) # 输出:[1, 2, 4]names = ['Alice', 'Bob', 'Charlie']
names.remove('Bob')
print(names) # 输出:['Alice', 'Charlie']
- 列表长度:可以使用内置函数
len()
获取列表的长度(即元素个数)。
numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 输出:5
- 列表还有许多其他的方法和操作,如排序、插入元素、统计元素出现次数等
元组Tuple
- 在Python中,元组(tuple)是一种有序、不可变的数据类型,用于存储多个值。元组与列表相似,但不同之处在于元组的元素不可修改。元组使用圆括号(
()
)来表示,其中的元素使用逗号(,
)分隔。
coordinates = (3, 4)
colors = ('red', 'green', 'blue')
mixed = (1, 'Hello', True, 3.14)
nested = ((1, 2), (3, 4, 5), (6, 7, 8, 9))
empty = ()
- 访问元素:可以使用索引操作符(
[]
)来访问元组中的元素,索引从0开始。
coordinates = (3, 4)
print(coordinates[0]) # 输出:3
print(coordinates[1]) # 输出:4
- 元组不可变:元组的元素是不可变的,即不能修改元组中的元素。如果尝试修改元组的元素,将会引发TypeError错误。
coordinates = (3, 4)
coordinates[0] = 10 # TypeError: 'tuple' object does not support item assignment
- 解包元组:可以将元组的元素解包到多个变量中。
coordinates = (3, 4)
x, y = coordinates
print(x) # 输出:3
print(y) # 输出:4
- 元组的长度和元素个数:可以使用内置函数len()获取元组的长度(即元素个数)。
colors = ('red', 'green', 'blue')
print(len(colors)) # 输出:3
集合Set
- 在Python中,集合(set)是一种无序且不重复的数据集合。集合中的元素不会按照特定的顺序排列,而且集合中不允许存在重复的元素。集合使用大括号(
{}
)或者使用set()函数
来创建。 - 集合属于可变数据类型。
fruits = {'apple', 'banana', 'orange'}
numbers = set([1, 2, 3, 4, 5])
empty = set()
- 去重:集合中的元素不会重复,如果尝试添加重复的元素,集合会自动去重。
fruits = {'apple', 'banana', 'orange', 'apple'}
print(fruits) # 输出:{'apple', 'banana', 'orange'}
- 添加元素:可以使用
add()
方法向集合中添加新元素。
fruits = {'apple', 'banana', 'orange'}
fruits.add('grape')
print(fruits) # 输出:{'apple', 'banana', 'orange', 'grape'}
- 删除元素:可以使用
remove()
方法从集合中删除指定的元素,如果元素不存在会引发KeyError错误。
fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')
print(fruits) # 输出:{'apple', 'orange'}
- 集合运算:集合支持各种集合运算,如并集、交集、差集等。
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}union = set1.union(set2) # 并集
intersection = set1.intersection(set2) # 交集
difference = set1.difference(set2) # 差集print(union) # 输出:{1, 2, 3, 4, 5, 6, 7, 8}
print(intersection) # 输出:{4, 5}
print(difference) # 输出:{1, 2, 3}
- 集合大小:可以使用内置函数
len()
获取集合的大小(即元素个数)。
字典Dictionary
- 在Python中,字典(dictionary)是一种无序的键值对(key-value)数据结构,用于存储和获取多个值。字典中的每个元素由一个键(key)和对应的值(value)组成,键和值之间使用冒号(
:
)来分隔,而不同的键值对使用逗号(,
)分隔。字典使用花括号({}
)来表示。 - 字典属于可变数据类型。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
empty = {}
- 访问元素:可以使用键来访问字典中的元素,类似于使用索引来访问列表中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person['name']) # 输出:Alice
print(person['age']) # 输出:25
- 修改元素:可以通过键来修改字典中的值。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
person['age'] = 26
print(person) # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
- 添加元素:可以通过键值对的方式向字典中添加新元素。
person = {'name': 'Alice', 'age': 25}
person['city'] = 'New York'
print(person) # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
- 删除元素:可以使用
del
语句删除字典中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
del person['age']
print(person) # 输出:{'name': 'Alice', 'city': 'New York'}
- 字典长度:可以使用内置函数
len()
获取字典中键值对的数量。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(len(person)) # 输出:3
- 字典是一种非常常用的数据结构,它提供了高效的键值对查找和操作。可以将字典用于存储和操作各种类型的数据,如配置信息、用户信息、数据记录等。
后续
- 下一篇章介绍Python的运算符。
相关文章:
Python基本数据类型介绍
Python 解释 Python是一种高级编程语言,以其简洁、易读和易用而闻名。它是一种通用的、解释型的编程语言,适用于广泛的应用领域,包括软件开发、数据分析、人工智能等。python是一种解释型,面向对象、动态数据类型的高级程序设计…...
边缘计算网关:连接物理世界与数字世界的桥梁-天拓四方
边缘计算网关是一种硬件设备,通常部署在网络边缘,即物联网设备的接入点。它具备数据采集、处理、存储和传输等功能,能够实现对物联网设备的实时监控和控制。边缘计算网关将原本需要在云端处理的数据在本地进行计算和分析,从而降低…...
NTP网络校时服务器(GPS北斗卫星校时系统)应用场景
NTP网络校时服务器(GPS北斗卫星校时系统)应用场景 NTP网络校时服务器(GPS北斗卫星校时系统)应用场景 随着大数据、云计算时代的到来,各行业信息化建设的不断提升,信息化下的各个系统不再单独处理各自业务,而是趋于协同工作,因此,各…...

Intel 芯片 Mac 如何重新安装系统
使用可引导安装器重新安装(可用于安装非最新的 Mac OS,系统降级,需要清除所有数据,过程确保连接上网络,虽然这种方式不会下载 Mac OS,但是需要下载固件等信息) 插入制作好的可引导安装器&#x…...

【uni-app】condition 启动模式配置,生产环境无效,仅开发期间生效
在小程序开发过程中,每次代码修改后,都会启动到首页,有时非常不方便,为了更高效的开发,有时需要模拟直接跳转到指定的页面, 操作方法如下: 在pages.joson里面配置下列代码: "…...

sql单表运用11.3
一、进入数据库操作界面 1、mysql -u root -p 敲回车 ,输入密码 ,进入数据库操作界面 2、show databases 查看所有的数据(如果没有数据库:创建数据库 create database 库名称) 3、use 数据库名 使…...

YOLOv5目标检测学习(1):yolo系列算法的基础概念
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、基于深度学习的目标检测需要哪些步骤?二、数据准备(即准备数据集)1.目标检测的数据集如何获取?2.数据集包括…...

【大数据】通过 docker-compose 快速部署 MinIO 保姆级教程
文章目录 一、概述二、MinIO 与 Ceph 对比1)架构设计对比2)数据一致性对比3)部署和管理对比4)生态系统和兼容性对比 三、前期准备1)部署 docker2)部署 docker-compose 四、创建网络五、MinIO 编排部署1&…...

VMware 虚拟机安装windows 10操作系统
先提前准备好镜像文件 1.创建新的虚拟机 2.选择自定义,然后下一步 v Windows 建议选择2G以上,下一步 选择网络地址转换(NAT),下一步 这里可按自己的需求来分区,也可以安装好后再分区 选择立即重启ÿ…...
Mysql实战(2)之MySQL执行流程
-- 查看mysql当前有多少连接 show global status like Thread%; /* Threads_cached:缓存中的线程连接数 Threads_connected:当前打开的连接数 Threads_created:为处理连接创建的线程数 Threads_running:非睡眠状态的连接数&…...

ES6 | (二)ES6 新特性(下) | 尚硅谷Web前端ES6教程
文章目录 📚迭代器🐇定义🐇工作原理🐇自定义遍历数据 📚生成器函数🐇声明和调用🐇生成器函数的参数传递🐇生成器函数案例 📚Promise📚Set🐇Set的定…...

客户案例|用友NC财务系统上云
本文分享一次成功将用友NC财务系统上云的经验,主要涉及阿里云上Oracle ASM存储扩容,阿里云ESC RAC服务器扩容,阿里云上Oracle RAC数据库迁移等相关技术,一起来看看吧! 1 客户数据库上云背景 本次项目我司主要负责客户…...

OceanPen Art AI绘画系统内容讲解
在一个崇高的目标支持下,不停地工作,即使慢,也一定会获得成功。 —— 爱因斯坦 演示站点: ai.oceanpen.art官方论坛: www.jingyuai.com 💡技术栈 前端:VUE3后端:Java数据…...
类 Unix 系统的文件目录结构
以下是类 Unix 系统的文件目录结构、各个目录主要存放的文件以及缩写的全称的详细说明: 根目录 /: 全称: Root Directory说明:根目录是整个文件系统的起点,包含了所有其他目录和文件。 /bin 目录: 全称: Binary说明&a…...

外部存储器接口(EMIF)
外部存储器接口(EMIF) 该设备支持双核架构;为了为每个CPU子系统提供一个专用的EMIF,该设备支持两个EMIF模块——EMIF1和EMIF2。两个模块完全相同,具有相同的功能集,但具有不同的地址/数据大小。EMIF1在CPU…...
华为认证HCIP报名条件有哪些?考试要求介绍
华为HCIP认证是很多网络工程师的考证首选,尤其对于刚入行不久的网络工程师们来说,这个证书无论是从难度出发还是从含金量出发,都是值得一考的。 那么如果想报名华为HCIP认证有哪些条件以及考试要求,华为HCIP的报名需不需要通过机…...

【Python】变量的引用
🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…...

nextjs13如何进行服务端渲染?
目录 一、创建一个新项目 二、动态获取后端数据进行服务端渲染出现的问题 三、nextjs13如何进行服务端渲染 nextjs13是nextjs的一个重大升级,一些原本在next12当中使用的API在nextjs13上使用十分不便。本文将着重介绍在nextjs13及以上版本当中进行服务端渲染的方…...

Redis-基础篇
Redis是一个开源、高性能、内存键值存储数据库,由 Salvatore Sanfilippo(网名antirez)创建,并在BSD许可下发布。它不仅可以用作缓存系统来加速数据访问,还可以作为持久化的主数据存储系统或消息中间件使用。Redis因其数…...

【好书推荐-第七期】《RTC程序设计:实时音视频权威指南》(音视频开发必看!)
😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:洲与AI。 🎈 本文专栏:本文收录…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...

小智AI+MCP
什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...