python数据类型总结

news2024/12/25 12:17:21

标准数据类型

Python 有以下几种标准数据类型:

  • 整数(int):表示整数值,如 1, -5, 0 等。
  • 浮点数(float):表示小数值,如 3.14, -0.01, 1.0 等。
  • 字符串(str):表示文本数据,如 “Hello”, “Python”, “123” 等。
  • 列表(list):表示一个有序的元素集合,可以存储不同类型的数据,如 [1, 2, 3], [“a”, “b”, “c”], [1, “a”, 3.14] 等。
  • 字典(dict):表示一个无序的键值对集合,可以通过键来访问或修改对应的值,如 {“name”: “Alice”, “age”: 18}, {“a”: 1, “b”: 2, “c”: 3} 等。

每种数据类型都有自己的特点和使用场景。例如:

  • 整数和浮点数可以用来进行数值计算,如加减乘除等。
  • 字符串可以用来处理文本数据,如分割,拼接,替换等。
  • 列表可以用来存储多个相关的数据,如一组学生的成绩,一组城市的名称等。
  • 字典可以用来存储多个具有属性的数据,如一本书的标题,作者,出版年份等。

为了更好地理解每种数据类型的差异,可以通过示例代码来展示它们的用法。例如:

# 创建一个整数变量
x = 10
# 创建一个浮点数变量
y = 3.14
# 创建一个字符串变量
z = "Hello"
# 创建一个列表变量
a = [1, 2, 3]
# 创建一个字典变量
b = {"name": "Alice", "age": 18}

# 打印每个变量的类型和值
print(type(x), x)
print(type(y), y)
print(type(z), z)
print(type(a), a)
print(type(b), b)

# 对整数和浮点数进行加法运算
print(x + y)

# 对字符串进行拼接运算
print(z + " Python")

# 对列表进行索引和切片操作
print(a[0]) # 获取第一个元素
print(a[1:3]) # 获取第二个和第三个元素

# 对字典进行键值访问和修改操作
print(b["name"]) # 获取"name"对应的值
b["age"] = 19 # 修改"age"对应的值
print(b)

元组与集合

除了标准数据类型,Python 还提供了一些特殊数据类型,如集合(set)和元组(tuple)³⁵。

  • 集合(set):表示一个无序的元素集合,可以存储不同类型的数据,但是不能有重复的元素,如 {1, 2, 3}, {“a”, “b”, “c”}, {1, “a”, 3.14} 等。
  • 元组(tuple):表示一个有序的元素集合,可以存储不同类型的数据,但是不能修改元素的值,如 (1, 2, 3), (“a”, “b”, “c”), (1, “a”, 3.14) 等。

每种数据类型都有自己的特点和使用场景。例如:

  • 集合(set)可以用来进行集合运算,如并集,交集,差集等。
  • 元组(tuple)可以用来存储不可变的数据,如一组常量,一组坐标等。

为了更好地理解每种数据类型的差异,可以通过示例代码来展示它们的用法。例如:

# 创建一个集合变量
c = {1, 2, 3}
# 创建一个元组变量
d = (1, 2, 3)

# 打印每个变量的类型和值
print(type(c), c)
print(type(d), d)

# 对集合进行并集运算
print(c | {4, 5})

# 对元组进行索引操作
print(d[0]) # 获取第一个元素

布尔类型

布尔类型(boolean)是 Python 的内置数据类型之一,用于表示表达式的真值(truth value),即 True 或 False¹²。

  • 布尔类型是整数类型(int)的子类型,True 和 False 在大多数情况下可以当作 0 和 1 来使用,但是在 repr() 和 str() 函数中会显示为 True 和 False³。
  • 布尔类型可以用于比较值,检查身份和成员关系,以及控制程序的流程,如 if 语句和 while 循环。
  • 布尔类型可以通过 bool() 函数从其他数据类型转换而来,一般来说,空值(如空字符串,空列表,None 等)会转换为 False,非空值会转换为 True。

以下是一些关于布尔类型的例子:

# 布尔类型的字面量
a = True
b = False
print(type(a), type(b)) # <class 'bool'> <class 'bool'>

# 布尔类型的算术运算
c = a + b # True + False 等于 1 + 0
print(c) # 1

# 布尔类型的比较运算
d = a == b # True == False 返回 False
print(d) # False

# 布尔类型的逻辑运算
e = a and b # True and False 返回 False
print(e) # False

# 布尔类型的条件语句
if a:
    print("a is True")
else:
    print("a is False")
# a is True

# 布尔类型的转换
f = bool("") # 空字符串转换为 False
print(f) # False

g = bool([1, 2, 3]) # 非空列表转换为 True
print(g) # True

可变类型与不可变类型

在 Python 中,数据类型可以分为可变类型(mutable)和不可变类型(immutable)¹²³。

  • 可变类型(mutable):指的是可以在原地修改值或数据的类型,如列表(list),字典(dict),集合(set)等。
  • 不可变类型(immutable):指的是不可以在原地修改值或数据的类型,如整数(int),浮点数(float),字符串(str),元组(tuple)等。

可变类型和不可变类型的区别主要体现在以下方面:

  • 可变类型的对象在修改后,其内存地址不会改变,而不可变类型的对象在修改后,会创建一个新的对象,并分配一个新的内存地址。
  • 可变类型的对象可以作为字典的键或集合的元素,而不可变类型的对象不能,因为字典和集合要求键或元素是可哈希的,而可变类型的对象是不可哈希的。
  • 可变类型和不可变类型对函数参数传递的方式也有影响,因为 Python 的函数参数传递是按引用传递的,所以如果参数是可变类型的对象,那么函数内部对该对象的修改会影响到函数外部,而如果参数是不可变类型的对象,那么函数内部对该对象的修改不会影响到函数外部。

总结

有序类型(可以索引)

可按照一定顺序排序的数据类型

1、列表(list ): 多个数据 存储数据:可以放任任意的数据类型
2、元组( tuple): 多个数据 存储数据:可以放任任意的数据类型 不能修改和添加里面的值 私密的数据
3、字符串 (str ): 一个数据 描述性质:表示名字

散列类型

不可以进行索引取值,主要体现为没有顺序,一盘散沙。

1、集合(set ): 多个数据 ,存储数据:可以放任任意的数据类型, 可变类型,无序。

2、字典 (dict):多个数据 ,存储数据:key里面只能放入不可变类型,最好字符串类型,value里面可以放任任意的数据类型

可变和不可变

1、可变类型(mutable):指的是可以在原地修改值或数据的类型,如列表(list),字典(dict),集合(set)等。
2、不可变类型(immutable):指的是不可以在原地修改值或数据的类型,如整数(int),浮点数(float),字符串(str),元组(tuple),布尔(bool)。

重复不重复

1、set(集合):不可存在重复的值。

全部数据类型

Python 内置的数据类型总结

  • Numeric - int, long,float, complex
  • String - str
  • Sequence - list, tuple, range
  • Binary - bytes, bytearray, memoryview
  • Mapping - dict
  • Boolean - bool
  • Set - set, frozenset
  • None - NoneType

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI智能音箱高性价比出好音质的功放芯片

近几年人工智能等技术的不断发展&#xff0c;AI智能音箱已成为炙手可热的爆款&#xff1b;众多企业纷纷加入其中&#xff1b;如我们熟知的天猫精灵、小爱同学、小度智能音箱、华为AI音箱、腾讯叮当等等智能音箱&#xff1b;据不完全统计&#xff0c;目前国内做智能音箱的企业已…

SpringBoot——创建一个SpringBoot工程

简单介绍&#xff1a; 在之前我们学习JavaEE的时候&#xff0c;是直接使用Spring进行操作&#xff0c;以比较原始的方式进行了SSM的整合&#xff0c;这次我们就来学习一个强大的框架——SpringBoot&#xff0c;这个框架是用来简化Spring应用的初始化创建过程&#xff0c;以及开…

APP外包项目的代码规范

APP项目在工作中使用越来越多&#xff0c;2C的APP项目基本饱和&#xff0c;2B的AP项目P还有很大的发展空间。越来越多的企业希望通过APP来提升工作效率或加强和客户的沟通&#xff0c;但这些企业大多数不是专业的软件公司&#xff0c;开发软件时需要找软件外包开发公司&#xf…

C/C++每日一练(20230510) 编辑距离、多数元素、数列累和

目录 1. 编辑距离 &#x1f31f;&#x1f31f;&#x1f31f; 2. 多数元素 &#x1f31f; 3. 求分数数列的前N项和 ※ &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 编辑距离 给你…

OpenCV教程——Mat对象

1.Mat对象和IplIamge对象 Mat对象是OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题&#xff0c;是面向对象的数据结构。分为两个部分&#xff1a;头部和数据部分。IplIamge是从2001年OpenCV发布之后就一直存在&#xff0c;是C语言风格的数据结构&#…

笔记本电脑没有声音怎么办?5个必会方法分享

案例&#xff1a;笔记本电脑没有声音怎么办&#xff1f; 【我的笔记本电脑为什么会没有声音呢&#xff1f;看视频听音乐一点声音都没有&#xff0c;实在太烦人了&#xff01;应该怎么解决呢&#xff1f;】 笔记本电脑逐渐成为人们工作生活必备的工具。如果笔记本电脑没有声音…

怎样检测和维护LED显示屏系统

检测和维护LED显示屏系统是确保其正常运行和延长寿命的重要步骤。以下是一些常见的检测和维护LED显示屏系统的方法&#xff1a; 视觉检查&#xff1a;定期进行视觉检查以确保LED显示屏没有明显的损坏或故障。检查显示屏表面是否有损坏、裂纹或漏光等情况。如果发现任何问题&…

ChatGPT作者John Schulman:通往TruthGPT之路

OneFlow编译 翻译&#xff5c;贾川、徐佳渝、杨婷 大型语言模型&#xff08;LLM&#xff09;有一个众所周知的“硬伤”——它们经常会一本正经编造貌似真实的内容。 OpenAI团队希望通过改进强化学习反馈步骤“原生地”阻止神经网络产生幻觉&#xff0c;OpenAI首席科学家Ilya …

spark-sql 报错:Exception thrown flushing changes to datastore

报错背景 hive创建数据库时添加中文备注信息报错。 命令&#xff1a;CREATE DATABASE IF NOT EXISTS hive_ods_db COMMENT Hive ODS层数据库; 报错现象 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Excep…

递归行为与归并排序

master公式 T(N)a*T(N/b)O(N^d) T(N)&#xff1a;问题的规模是N个数据 N/b&#xff1a;子过程的规模 a&#xff1a;调用的次数 O(N^d) &#xff1a;除子问题的调用之外&#xff0c;剩余的代码的时间复杂度 使用条件&#xff1a;满足子问题等规模的递归 arr[L,R]范围…

49天精通Java,第27天,队列、双端队列、优先队列

目录 一、队列与双端队列二、Queue和Deque三、api对比1、add和offer区别2、remove和poll3、element和peek 四、优先队列1、PriorityQueue常用方法2、ArrayDeque常用方法 大家好&#xff0c;我是哪吒。 一、队列与双端队列 双端队列是一种特殊的队列&#xff0c;它的两端都可以…

吴军《计算之魂》读后感

前言 断断续续&#xff0c;终于完成了这本书的第一次通读&#xff0c;记录下自己的一些想法。 先说一个小故事。前段时间家里买了一个小鱼缸&#xff0c;问我有没有办法让水自动循环&#xff0c;但不想用电。没有好的想法&#xff0c;去小某书上搜了下&#xff0c;好多案例教…

【哈士奇赠书活动 - 18期】-〖Flask Web全栈开发实战〗

文章目录 ⭐️ 赠书活动 - 《Flask Web全栈开发实战》⭐️ 编辑推荐⭐️ 内容提要⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书活动 - 《Flask Web全栈开发实战》 内容简介&#xff1a; 《Flask Web全栈开发实战》围绕 Flask 框架&#xff0c;详细地讲解了使用 Flask 开发网站的各项技…

vue2项目中使用本机图片的一些问题

前后端分离项目&#xff0c;&#xff08;vue2springboot2.6.3) 前端上传图片&#xff0c;后端将图片保存在本地。当前端使用上传的图片时出现的一些问题说明。 前端上传图片文件&#xff0c;后端接收到图片文件后将图片保存到vue项目的src/assets/club目录下&#xff0c;如下…

VMware vSphere Replication 8.7 (for vSphere 8.0U1) - 虚拟机复制和数据保护

请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vsphere-replication-8/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 新增功能 vSphere Replication 8.7 | 2023 年 4 月 18 日 | 内部版本 21591677 vSphere Re…

GPT4.0+Midjourney=最佳组合,简单玩法

以下是我设计的一个简单的组合玩法&#xff0c;操作如下&#xff1a; 问gpt4: Here is a MidJourney Prompt Formula: A detailed image of [Subject] [doing something interesting] during [time of day], taken with a [type of camera], using [type of lens] with cinema…

ChatGPT会对我们日常生活带来什么影响?这些技术会改变我们学习阅读工作方式吗?

ChatGPT会对我们日常生活带来什么影响&#xff1f;这些技术会改变我们学习阅读工作方式吗&#xff1f; AI 这个话题很火&#xff0c;我也一直在关注着&#xff0c;很多人甚至觉得 AI 会改变世界&#xff0c;也许你会好奇&#xff1a;ChatGPT 会在三年内终结编程吗&#xff1f;A…

基于gitlab搭建Drone CI

drone简介&#xff1a; drone官方文档&#xff1a;https://docs.drone.io/ drone跟Jenkins一样&#xff0c;可实现持续集成&#xff0c;就是可以帮助我们解决重复的代码构建&#xff0c;自动化测试&#xff0c;发布等重复劳动&#xff0c;通过简单一个提交代码的动作&#xff…

Text-to-3D 任务论文笔记: Latent NeRF

文章目录 概述相关工作3D形状合成使用2D监督的text-to-3D 任务 方法前置知识LDMScore Distillation Latent NeRF文本引导RGB refinementSketch-Shape Guidance对于显式形状的Latent-Paint 实验实验细节文本引导的生成RGB RefinementTextual-Inversion Sketch-Shape GuidanceLat…

使用Handler创建一个Android秒表应用

0、应用是一个有活动、布局和其他资源组成的集合。其中一个活动是应用的主活动。每个应用都有一个主活动&#xff0c;在文件AndroidManifest.xml中指定。 1、默认地&#xff0c;每个应用都在自己的进程中运行。这样有助于保证应用安全。 2、但是可以使用startActivity(intent)传…