学Python卡在数据类型?一张图带你打通整数、进制和类型转换的任督二脉

学Python卡在数据类型?一张图带你打通整数、进制和类型转换的任督二脉
系列文章目录提示这里可以添加系列文章的所有文章的目录目录需要自己手动添加例如第一章 Python 机器学习入门之pandas的使用提示写完文章后目录可以自动生成如何生成可参考右边的帮助文档目录系列文章目录前言一、Python的基本数据类型1.1 整数1.2 浮点数1.3字符串1.4布尔值1.5空值二、Python整数进制转换2.1定义10进制变量2.2定义二进制binary2.3定义8进制变量2.4定义16进制变量2.5 进制转换函数三、Python数据类型转换函数3.1int(整数)3.2float(浮点数)3.3bool(布尔值)3.4str(字符串)总结前言你是不是也遇到过这些让人抓狂的情况 用 input() 获取两个数字相加结果变成了 53 而不是 8 想把十进制转二进制写了 bin(189) 直接报错 搞不清楚什么时候用 int()、float()、str()、bool()别急这不是你的问题是 Python 数据类型转换的坑太多大家好今天这篇文章将带你一次性搞定 Python 的三大基础核心✅ 基本数据类型整数、浮点数、字符串、布尔值✅ 整数进制转换二进制、八进制、十进制、十六进制互转✅ 数据类型转换函数int/float/str/bool 的使用和注意事项全程代码实战拒绝枯燥理论保证看完就能用建议收藏备用提示以下是本篇文章正文内容下面案例可供参考一、Python的基本数据类型基本数据类型分为整数浮点数字符串布尔值空值1.1 整数#整数#声明一个整数classintnum 10#type返回数据类型print(num, type(num))num1 -10print(num1, type(num1))1.2 浮点数#浮点数#声明一个浮点数classfloatf1 3.14f1_type type(f1)print(f1, f1_type)f2 -3.14f2_type float(f2)print(f2, f2_type)1.3字符串#字符串#声明一个字符串class strs1 hello worldprint(s1, type(s1))s2 hello worldprint(s2, type(s2))#带有格式的字符串s3 hello worldprint(s3, type(s3))s4 hello worldprint(s4, type(s4))#单引号双引号交替使用s5 helloa;dm;alprint(s5, type(s5))s6 hedmada./aprint(s6, type(s6))1.4布尔值#布尔值#声明布尔值变量class boolb1 Trueprint(b1, type(b1))b2 Falseprint(b2, type(b2))1.5空值#空值class NoneType#声明一个变量但是又不存储任何数据n Noneprint(n, type(n))二、Python整数进制转换2.1定义10进制变量#定义10进制变量#1 2 3 4 5 6 7 8 9#逢十进一i 100print(i,type(i))2.2定义二进制binary#定义二进制binary#以前缀0b开头 数字有0 1#逢二进一b 0b110print(b, type(b))2.3定义8进制变量#定义8进制变量#以0o前缀 数字0-7#逢八进一o 0o777print(o, type(o))2.4定义16进制变量#定义16进制变量#以0x前缀 数字0-9 字母a-f#逢十六进一h 0xf11aprint(h, type(h))2.5 进制转换函数#进制转换函数#int 可以转换为10进制 base表示字符串中的内容是几进制 只有int有baseprint(int(20, base 10))print(int(110, base 2))print(int(17, base 8))print(int(e161, base 16))#bin函数可以将10进制转2进制print(bin(189))#oct函数可以将10进制转8进制print(oct(177))#hex函数可以将10进制转16进制print(hex(168))三、Python数据类型转换函数3.1int(整数)#int可以将数字类型的字符串转整数v int(12abcdef, base 16)print(v, type(v))#int可以将小数转整数v1 int(3.14)print(v1, type(v1))#int可以将布尔值转整数v2 int(True)v3 int(False)print(v2, v3, type(v2), type(v3))3.2float(浮点数)#float可以将整数转浮点数f1 float(3)print(f1, type(f1))#float可以将布尔值转浮点数f2 float( True)f3 float( False)print(f2, f3, type(f2), type(f3))#float可以将数字类型的字符串(最多有一个小数点)转成浮点数f4 float(1.11)print(f4, type(f4))3.3bool(布尔值)#任何类型的数都能转成布尔值b1 bool(123)b2 bool(0)b3 bool(1.2)b4 bool(asjdkla)b5 bool()print(b1, b2, b3, b4, b5, type(b1),type(b2), type(b3), type(b4), type(b5))3.4str(字符串)#任何类型的数都能转成字符串s1 str(123)s2 str(1.1)s3 str(True)s4 str()print(s1, s2, s3, s4, type(s1), type(s2), type(s3), type(s4)总结一、学到的核心知识点通过系统学习 Python 数据类型我梳理出三条核心脉络1. 五兄弟各司其职int管整数、float管小数、str管文本、bool管真假、None管空值。看似简单但type()一查就能区分这是排查 bug 的第一步。2. 进制转换有规律所有进制在 Python 内部都是int类型只是书写形式不同。int(s, base)是翻译官把各种进制翻译成十进制bin/oct/hex是转换器把十进制转换成目标进制。3. 类型转换有边界str()是万能钥匙什么都接bool()规则简单——零空为假int()和float()最挑剔None和空字符串坚决不收。二、打破的认知误区之前的误解学完后明白以为input()输入数字就能直接运算input()永远返回字符串必须int()或float()转换以为bin(189)能直接转二进制bin()要整数字符串得先用int()转以为True和1是两回事bool是int的子类True1是真的以为str()有些类型不能转任何类型都能转字符串包括None以为八进制是0b开头八进制是0o二进制才是0b三、最深刻的三个体会体会一type()是最好的老师遇到不确定的类型print(type(x))一下立刻清楚。这个习惯能避免 80% 的类型错误。体会二转换前先想能不能转不是所有类型都能互相转。int(None)会报错、int(abc)也会报错。转换前问自己三个问题源类型是什么目标类型接受什么中间需要桥梁吗体会三进制转换的本质是翻译不同进制只是同一数字的不同表达方式。189、0b10111101、0o275、0xbd本质是同一个数。掌握int(s, base)这一个函数就能打通所有进制的转换。四、仍然存在的疑问浮点数精度问题在实际项目中怎么优雅处理自定义类如何支持int()、str()等类型转换is和除了None判断还有哪些场景必须区分五、下一步学习计划深入学习容器类型列表、元组、字典、集合理解可变类型与不可变类型的区别练习更多类型转换的实战场景一句话总结这次学习数据类型是 Python 的地基地基打牢了后面盖楼才稳。type()常在手str()解千愁转换之前先思考进制桥梁记心头。