从零开始:Python语言基础之数据类型

Python变量和数据类型,类型转换 a.变量的定义   把数据分别用一个简单的名字代表,方便在接下来的程序中引用。   变量就是代表某个数据(值)的名称。   变量就是用来存储数据的,将不同的数据类型存储到内存 b.变量的赋值 变量名= 初始值 初始值:为了确定变量的类型 name='Heygor' age=18   上面过程就是在赋值,意思把字符类型数据HeyGor复制给了变量name,数... 阅读详情

  一、数值类型:精确与高效的计算基石

 

1.1 整数(int)

 

Python的整数类型具有无限精度的特性,这意味着无论数字多大,Python都能精确表示,不受固定字节数限制。

# 计算超大整数
big_number = 2**1000
print(len(str(big_number)))  # 输出302,表明结果为302位整数

此外,Python还对小整数(范围通常为 -5 到 256)进行了对象池优化,相同值的小整数对象在内存中只会创建一次。

a = 10
b = 10
print(a is b)  # 输出True,a和b指向同一对象
 

1.2 浮点数(float)

 

浮点数基于IEEE 754标准存储,采用二进制表示小数。这种机制会导致部分十进制小数无法精确转换为二进制,从而产生精度误差。

result = 0.1 + 0.2
print(result == 0.3)  # 输出False

为解决精度问题,可使用 decimal 模块实现高精度计算:

from decimal import Decimal
correct_result = Decimal('0.1') + Decimal('0.2')
print(correct_result == Decimal('0.3'))  # 输出True

1.3 复数(complex)

 

复数由实部和虚部组成,形式为 a + bj ,其中 a 为实部, b 为虚部。Python提供了完整的复数运算支持。

z1 = 3 + 4j
z2 = 2 - 1j
print(z1 * z2)  # 输出(10+5j)
print(z1.real)  # 输出3.0,获取实部
print(z1.imag)  # 输出4.0,获取虚部

二、序列类型:有序数据的管理利器

 

2.1 字符串(str)

 

字符串是不可变的Unicode字符序列,支持丰富的操作和方法。

 

①索引与切片:通过索引获取单个字符,使用切片提取子串。

s = "Hello, Python!"
print(s[0])  # 输出'H'
print(s[7:13])  # 输出'Python'
 

②字符串格式化:Python提供了多种格式化方式。

name = "Alice"
age = 25
# %格式化
print("姓名:%s,年龄:%d" % (name, age))
# str.format()方法
print("姓名:{},年龄:{}".format(name, age))
# f-string(Python 3.6+)
print(f"姓名:{name},年龄:{age}")

③常见方法: upper() 转大写、 lower() 转小写、 split() 分割字符串等。

 

2.2 列表(list)

 

列表是可变的有序序列,元素可以是任意数据类型。

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")  # 在末尾添加元素
fruits[1] = "pear"  # 修改元素
fruits.insert(0, "grape")  # 在指定位置插入元素
fruits.remove("cherry")  # 删除指定元素

列表的底层实现为动态数组,在添加元素时会自动扩容,平均时间复杂度为O(1)。

 

2.3 元组(tuple)

 

元组是不可变的有序序列,一旦创建就不能修改元素。

point = (10, 20)
# point[0] = 30  # 报错,元组不可变

虽然元组本身不可变,但如果元组中包含可变对象(如列表),则可变对象的内容可以修改。

t = ([1, 2], 3)
t[0].append(4)  # 合法操作,修改嵌套列表内容
print(t)  # 输出([1, 2, 4], 3)

三、映射类型:键值对存储的高效方案

 

3.1 字典(dict)

 

字典以键值对形式存储数据,通过哈希表实现快速查找。

person = {
    "name": "Bob",
    "age": 30,
    "city": "New York"
}
print(person["name"])  # 输出Bob
person["age"] = 31  # 修改值
person["job"] = "Engineer"  # 添加新键值对
del person["city"]  # 删除键值对

字典的键必须是可哈希的(如字符串、元组),值可以是任意类型。常见的字典方法包括 keys() 、 values() 、 items() 等。

 

四、集合类型:去重与集合运算的神器

 

4.1 集合(set)

 

集合是无序、不重复的数据集合,支持数学集合运算。

s = {1, 2, 3, 2}  # 自动去重,结果为{1, 2, 3}
s.add(4)  # 添加元素
s.remove(2)  # 删除元素
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1 & s2)  # 交集,输出{2, 3}
print(s1 | s2)  # 并集,输出{1, 2, 3, 4}
print(s1 - s2)  # 差集,输出{1}

由于集合内部基于哈希表实现,判断元素是否存在的平均时间复杂度为O(1)。

 

五、其他数据类型:特殊场景的得力助手

 

5.1 布尔类型(bool)

 

布尔类型只有两个取值: True 和 False ,常用于条件判断。布尔值继承自整数类型, True 等效于1, False 等效于0。

is_valid = True
result = 10 > 5  # 结果为True

5.2 NoneType

 

 None 是 NoneType 类型的唯一值,表示空值或未初始化的变量。

x = None
if x is None:
    print("x为空")

 

六、数据类型转换:灵活处理数据的关键

 

Python提供了丰富的类型转换函数,包括:

 

①数值转换: int() 、 float() 、 complex() 

②序列转换: list() 、 tuple() 、 set() 

③其他转换: str() 、 dict() 

num_str = "123"
num = int(num_str)  # 转换为整数123
lst = list((1, 2, 3))  # 元组转换为列表[1, 2, 3]

  

七、常见问题与解决方案

 

7.1 类型错误(TypeError)

 

问题:不同类型数据进行不兼容操作,如字符串与整数相加。

# 错误示例
s = "hello"
num = 10
result = s + num  # TypeError: can only concatenate str to str

解决方案:使用类型转换函数确保数据类型一致。

result = s + str(num)  # 输出'hello10'

7.2 精度误差问题

 

问题:浮点数运算产生精度误差。

解决方案:使用 decimal 模块或 fractions 模块(处理分数)。

 

7.3 不可哈希类型错误

 

问题:尝试将不可哈希类型(如列表)作为字典键。

# 错误示例
d = {[1, 2]: "value"}  # TypeError: unhashable type: 'list'

解决方案:将不可哈希类型转换为可哈希类型(如元组)。

 

八、总结

 

Python的数据类型体系丰富且灵活,每种类型都有其独特的设计目的和适用场景。掌握数据类型的特性、操作方法及常见问题解决方案,是编写高效、健壮Python程序的基础。通过不断实践和总结,开发者可以更好地利用这些工具,解决实际编程中的复杂问题。无论是处理数值计算、文本分析,还是构建数据结构,扎实的数据类型知识都是不可或缺的核心能力。

欢迎您的关注,我将持续更新

Python数据类型详细介绍 一、数字(Number) 1. int (整型,长整型) 2. float (浮点型) 3. complex(复数) 二、布尔(Boolean) 三、字符串类型(String) 四、列表 1. 创建列表 2. 列表的索引 3. 列表的切片 4. 列表加法和乘法 5.列表的修改 6. 列表的删除 7. 列表追加、插入和扩展 8. 列表元素查找 9. 列表相关的相关内置函数 10.多维列表 五、元组 1. 元组相关概述 2. 元组修改 3. 元组删除 阅读详情

相关推荐

Python 数据类型有哪些?

Python列表包含由逗号分隔并在方括号([])中封装的项目。在某种程度上,Python列表类似于C语言中的数组。它们之间的一个区别是Python列表中的所有项目可以是不同的数据类型,而C数组只能存储与特定数据类型相关的元素。它定义了我们将在变量中存储哪种类型的数据。例如,一个人的年龄被存储为数值,他或她的地址被存储为字母数字字符。可以使用切片运算符([ ]和[:])访问存储在Python列表中的值,索引从列表开头的0开始,一直到末尾-1。加号(+)是列表连接运算符,星号(*)是重复运算符。

zqzgng的博客 692

python中标准的六个数据类型详解

Python3中有六种标准的数据类型: 数字(Number) Python 数字数据类型用于存储数值。 Python 支持三种不同的数值类型:整型(int)、浮点型(float)、复数(complex) 整型:通常称为整数,是整数或者负数,不带小数点。python3整型类型没有大小限制。int型数字:0、10 -780、-089、-0x270、0x90。 浮点型:浮点型由整数部分

谦190的博客 6万+

史上最全的Python基础学习教程:从零开始掌握编程入门

定义变量的语法非常简单,用age = 20 # 把数字 20 放进名为 age 的盒子name = "Python" # 把字符串 "Python" 放进名为 name 的盒子这里要特别注意:=在 Python 中是“赋值符号”,不是数学里的“等于号”。它的作用是“把右边的值放进左边的盒子”,而不是表示左右两边相等。比如x = x + 1在数学中不成立,但在编程中表示“取出 x 的值,加 1 后再放回 x 盒子”,这是非常常见的操作。布尔值True和False。

AI时代光年 1736

python基础篇总结:数据类型

运算符描述加,用于将两个数相加。减,用于将第一个数减去第二个数乘,用于将两个数相乘。除,用于将第一个数除以第二个数。求余,用于获取两个数相除的余数。//整除,用于获取两个数相除的整数部分。**幂的次方,用于将一个数的值提高到另一个数的幂次方。运算符描述加,用于将两个数相加。减,用于将第一个数减去第二个数乘,用于将两个数相乘。除,用于将第一个数除以第二个数。**幂运算,用于将一个数的值提高到另一个数的幂次方字符串是由字符组成的序列,用于表示文本数据。

2201_75782271的博客 2万+

Python入门:从零开始学习Python基础语法

Python 是一种高级编程语言,由 Guido van Rossum 在 1989 年底发明,并于 1991 年首次发布。它以简洁的语法、清晰的代码风格和强大的库支持而闻名。Python 的设计理念是“优雅”“明确”“简单”,这使得它成为初学者和专业开发者的理想选择。通过本文,你已经掌握了 Python 的基础语法,包括变量、数据类型、控制结构、数据结构、函数和模块等。这些知识是进一步学习 Python 的基石。

ifree_code的博客 482

从零开始写一个RTSP服务器(一)RTSP协议讲解

从零开始写一个RTSP服务器系列 从零开始写一个RTSP服务器(一)不一样的RTSP协议讲解 从零开始写一个RTSP服务器(二)RTP传输H.264(待写) 从零开始写一个RTSP服务器(三)一个传输H.264的RTSP服务器(待写) 从零开始写一个RTSP服务器(四)RTP传输AAC(待写) 从零开始写一个RTSP服务器(五)一个传输AAC的RTSP服务器(待写) 从零开始写一个RTSP服务器(...

JT同学的博客 7万+

【Python】从基础到进阶(一):了解Python语言基础以及变量的相关知识

Python是一种高级、解释型、通用的编程语言,由Guido van Rossum于20世纪90年代初创立。Python以其简洁易读的语法和强大的功能而闻名,使其成为新手和经验丰富的开发人员的首选语言之一。x = 10 # 定义一个整数变量name = "Alice" # 定义一个字符串变量pi = 3.14 # 定义一个浮点数变量is_active = True # 定义一个布尔变量变量名应该具有描述性,以便代码的可读性和可维护性。

Allen- 7667

手机直连卫星上网,3GPP R17/R18到底做了哪些技术升级?(IoT/NR NTN详解)

本文深入解析了3GPP R17/R18标准中手机直连卫星上网的技术升级,重点介绍了IoT NTN与NR NTN两项关键技术。R17通过星历辅助补偿算法和多普勒频移控制,实现了智能手机直连卫星的突破;R18则进一步优化移动性、支持高频段和星上本地交换,提升用户体验。这些技术为物联网和5G/6G通信开辟了新可能。

weixin_33701251的博客 617

Python入门指南:从零开始学习Python编程

Python是一种简单而又强大的编程语言,它在全球范围内广受欢迎,适用于各种应用场景,包括Web开发、数据分析、人工智能和科学计算等。本篇博客将为初学者提供一份Python入门指南,帮助你从零开始掌握Python编程基础。本篇博客简要介绍了Python编程的入门知识,包括安装Python、变量和数据类型、函数以及列表和字典。这只是Python编程世界的冰山一角,希望它能帮助你起步。在接下来的学习过程中,你可以深入学习Python的更多特性和功能,开发出更加强大的应用程序。祝你编程愉快!图书推荐。

唯有努力,方可自信! 1万+

基于FFT+BP神经网络/决策树的轴承故障诊断

基于FFT+BP神经网络/决策树的轴承故障诊断

天天酷科研的博客 131

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3340

Python数据类型入门:从零开始学编程

作为一名刚接触编程的新手,理解Python中的数据类型是打好基础的关键一步。下面我将通过一个简单的交互式学习程序,带你逐步了解Python中的7种基本数据类型。例如,程序会提示你创建一个包含3个元素的元组,或者对字符串进行切片操作。我在这里学习了很多实用的技巧,尤其是它的一键部署功能,让我能够轻松地将想法变成现实。列表是一种有序的集合,可以包含不同类型的元素。列表是可变的,这意味着我们可以添加、删除或修改其中的元素。元组与列表类似,也是有序的集合,但元组是不可变的。一旦创建,元组中的元素就不能被修改。

BlackironPanther23的博客 938

数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践

Python实现模糊AHP(Fuzzy AHP)

全栈川川 1539

从零开始:用Python语言基础构建宠物养成游戏:从核心知识到完整实战

在学习Python语言基础的过程中,变量、数据类型、条件语句等核心知识往往较为抽象。本文将通过开发一款宠物养成游戏,将这些知识点融入实际代码中,帮助大家深入理解如何运用Python实现具体功能。

玉笥寻珍的博客 1223

11、硬件工程师笔试面试——IGBT(2025版本)

IGBT的应用展望与创新趋势表明,随着电子技术的不断发展,IGBT在各个领域都有广泛的应用,如高压电力系统、交通工具、电锅炉、太阳能和风能发电系统等。FS型IGBT(场终止型绝缘栅双极晶体管)在电力传输领域的应用中,通过其独特的设计和特性,有助于确保系统的稳定性和安全性。每种器件都有其独特的优势,能够满足电力传输系统中不同的技术要求。FS型IGBT通常具有正温度系数,这意味着随着温度的升高,导通压降的主要影响因素是载流子迁移率的降低以及集电极和发射极的接触电阻的增加,有助于在高温下维持稳定的性能。

XU157303764的博客 2670

Fastgpt本地使用Docker Compose 快速部署

修改文件,并执行再执行d重起容器。具体配置,参考配置详解。可以查看日志,在启动容器后,第一次请求网页,会进行配置文件读取,可以看看有没有读取成功以及有无错误日志。进入 FastGPT 容器,可以通过ls data查看目录下是否成功挂载文件。可通过查看配置文件。可能不生效的原因挂载目录不正确配置文件不正确,日志中会提示invalid json,配置文件需要是标准的 JSON 文件。

洛阳泰山的博客 1630

Python语言基础入门:从零开始掌握Python编程

Python是一种简洁高效的编程语言,广泛应用于数据分析、人工智能和Web开发。本文系统介绍了Python的基础知识:1)开发环境配置(推荐Jupyter Lab/PyCharm);2)基本语法规则如注释、缩进和标识符命名;3)核心数据类型包括数字、字符串及其操作;4)运算符与表达式;5)流程控制结构(条件判断和循环);6)输入输出函数和eval()使用。通过BMI计算等实例,帮助读者掌握Python编程基础,为后续学习打下坚实基础。

spinage的博客 554

嵌入式视频应用开发者必读:嵌入式Linux+FFmpeg硬件编解码实战指南

在嵌入式Linux上,FFmpeg支持多种硬件加速API,比如VAAPI、VDPAU、CUDA,以及针对特定平台的专用接口(如NVIDIA的NVENC、Intel的QSV、ARM的Mali)。FFmpeg的硬件解码通过-hwaccel参数启用,咱们以常见的H.264和HEVC(H.265)格式为例,展示如何用VAAPI和V4L2实现高效解码。: FFmpeg硬件加速需要额外的库,比如libva(VAAPI)、libv4l2(V4L2)或libnvcodec(CUDA)。

大模型大数据攻城狮的专栏 2201

Python变量与数据类型:从零开始理解数据的本质

想象你有一个储物柜,每个柜子都有一个标签(名字),里面可以放东西(值)。变量就是这样的"柜子"。# 创建一个变量name = "张三"age = 25nameagesalary是变量名(柜子的标签)"张三"2515000.50是变量的值(柜子里的东西)是赋值运算符(把东西放进柜子的动作)概念要点变量存储数据的容器,使用赋值命名规则字母/下划线开头,不能用关键字数值类型int(整数)、float(浮点数)、complex(复数)字符串不可变序列,支持索引和切片布尔值。

2503_93718246的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python数据类型初识:从零开始学习Python编程基础

本文将带领编程初学者全面了解Python的数据类型,通过详细的解释和丰富的代码示例,帮助大家打下坚实的Python编程基础。本文详细介绍了Python的数据类型系统,包括基本数据类型(数字、字符串、布尔值)和容器数据类型(列表、元组、集合、字典)。理解Python的数据类型系统是掌握这门语言的基础,接下来我们将详细探讨每种数据类型。列表是Python中最常用的数据结构之一,是有序、可变的序列,可以存储不同类型的元素。函数可以查看任何变量或值的数据类型,这是Python中非常实用的内省工具。

2501_93253814的博客 1018

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Python基础实验】Python语言基础

熟悉Python程序的运行环境与运行方式。掌握 Python 的基本数据类型。掌握 Python 的算术运算规则及表达式的书写方法。

茶色喵的博客 4083

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python从零开始系列连载_Python从零开始系列连载(5)——Python的基本数据类型(上)...

前言前文传送门:【本文授权“Python爱好者社区”微信公众号以本人“王大伟”为作者原创首发】好了,jupyter相信大家都已经会用了,我们就可以愉快地学习写代码了!打断一下,刚才少讲了一个内容,就是我们可以改文件名,双击红框部分输入你想要的名字ok啦Python的基本数据类型Python有着很多种数据类型,什么叫数据类型呢我搜了一下粘贴过来:数据类型在数据结构中的定义是一个值的集合以及定义在这个...

weixin_30775883的博客 146

从零开始学 Python 之 Python 变量与数据类型

这篇文章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问。在 Python 中 变量命名规定,必须是大小写英文,数字和 下划线(_)的组合,并且不能用数字开头。 变量命名规则: 变量名只能是字母,数字和下划线的任意组合 变量名第一个字符不能是数字 变量名区分大小写,大小写字母被认为是两个不同的字符 特殊关键字不能命名为变量名 声明变量 Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会

qq_33085579的博客 358

从零开始学Python(六) 组合数据类型

从零开始学Python(六) 组合数据类型 思维导图: 一、集合类型及操作 1、集合类型定义 集合是多个元素的无序组合: ①集合类型与数学中的集合概念一致 ②集合元素之间无序,每个元素唯一,不存在相同元素 ③集合元素不可更改,不能是可变数据类型。 ④集合用大括号{}表示,元素间用逗号分隔 ⑤建立集合类型用{}或set() ⑥建立空集合类型,必须使用set() 2、集合操作符 基本操作符:S|T ...

njuese的博客 1620

Python 的6种数据类型

Python 数据类型 瑞士计算机科学家、1984年图灵奖获得者 Niklaus E.Wirth 有一个非常经典的一个观点——所谓的计算机程序就是算法+数据结构。由此可见算法和数据结构在编程中的重要程度,因此我们今天介绍python 的 6 种数据类型:数字(Number),布尔值(Boolean),字符串(String),元组(Tuple),列表(List)和字典(Dictionary)。 注释: 以 # 开头的代码行就是注释,对于注释计算机会将它忽略,这并不代表注释不重要,事实上,一个优秀的程序注释所占

qq_39594033的博客 2752

从零开始:Python编程快速入门指南

Python的特点易读性:语法接近自然语言,缩进强制代码规范跨平台:支持Windows、Linux、macOS等操作系统丰富的库:超过20万个第三方库(如NumPy、Django)应用领域Web开发:Django、Flask框架数据分析:pandas、NumPy自动化:脚本编写、爬虫(Scrapy)requests调用API学习路径建议掌握基础语法(2周)完成3个小项目(1个月)参与开源贡献(持续)推荐资源书籍:《Python Crash Course》

ztt123654的博客 1190
上一篇: 从零开始:Python语言基础之变量
下一篇: 从零开始:Python语言基础之条件语句(if-elif-else)
玉笥寻珍
博客等级 码龄2年 282粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉笥寻珍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值