当前位置: 首页 > news >正文

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),下一步 这里可按自己的需求来分区,也可以安装好后再分区 选择立即重启&#xff…...

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数据&#xf…...

类 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…...