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

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...