当前位置: 首页 > 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。 🎈 本文专栏:本文收录…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...