news 2026/10/22 2:16:19

2、python基础:数据类型、变量与常量详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2、python基础:数据类型、变量与常量详解

摘要:本篇继续Python零基础入门,讲解Python内置基础数据类型:整数、浮点数、字符串、布尔值、空值;介绍变量命名规则、动态语言特性、变量在内存中的引用机制;常量约定以及Python中的两种除法。文末附带课后练习,适合新手巩固基础。

目录

1 数据类型

1.1 整数(int)

1.2 浮点数(float)

1.3 字符串(str)

转义字符 \

原始字符串 r''

多行字符串 ''' ''' / """ """

1.4 布尔值(bool)

1.5 空值(None)

2 变量

2.1 变量命名规范

2.2 动态语言特性

2.3 变量内存引用机制

3 常量

4 Python的两种除法

5 练习

小结


1 数据类型

计算机可以处理数值、文本、图形、音频、视频等各类数据,不同种类的数据需要区分不同的数据类型。Python内置可直接使用的基础数据类型如下。

1.1 整数(int)

Python的整数支持任意大小,包含负整数,写法与数学一致:1,100,-8080,0。

  • 十六进制表示:以0x开头,使用0-9、a-f,例如0xff00、0xa5b4c3d2。
  • 数字分隔下划线:为方便阅读大数,可用_分隔数字,不影响数值。
10_000_000_000 # 等价于10000000000 0xa1b2_c3d4

1.2 浮点数(float)

浮点数就是小数,名称来源于科学计数法中小数点位置可以浮动。

  • 常规写法:1.23、3.14、-9.01
  • 科学计数法:用e代表10的幂次
1.23e9 # 等价于 1.23 × 10^9 1.2e-5 # 等价于 0.000012

⚠️ 重要区别: 整数在计算机中运算永远精确;浮点数存储存在精度问题,运算可能出现四舍五入误差。

1.3 字符串(str)

字符串是用**单引号'或者双引号"**包裹的任意文本。引号本身只是标记,不属于字符串内容。

  • 示例:'abc',"xyz"
  • 字符串内部包含单引号,可用双引号包裹:"I'm OK"
转义字符\

\用来转义特殊字符:

  • \'单引号
  • \"双引号
  • \n换行
  • \t制表符(Tab)
  • \\反斜杠本身
print('I\'m \"OK\"!') # 输出:I'm "OK"!
原始字符串 r''

r''内部所有字符不做转义,适合路径等大量反斜杠场景。

print(r'\\\t\\')
多行字符串''' '''/""" """

三引号可以直接写多行文本,不用手动加\n换行。

print('''line1 line2 line3''')

也可以组合原始字符串:

print(r'''hello,\n world''')

1.4 布尔值(bool)

布尔值只有两种取值:True和False(大小写敏感),可以直接定义,也可以通过比较运算得到。

3 > 2 # True 3 > 5 # False

布尔运算:

  1. and与运算:全部为True结果才是True
  2. or或运算:任意一个为True结果就是True
  3. not非运算:取反,单目运算符
True and True True or False not 1 > 2

布尔值最常用于条件判断:

age = 20 if age >= 18: print('adult') else: print('teenager')

1.5 空值(None)

None是Python特殊的空值。

❗ 注意:None不等于0,0是有效数字,None代表“空、不存在”。

补充:Python还有列表、字典、集合等复合数据类型,后面章节讲解,还支持自定义数据类型。

2 变量

变量可以理解为一个名字,可以指向任意类型的数据。

2.1 变量命名规范

变量名只能由**大小写英文字母、数字、下划线_**组成,不能以数字开头。

a = 1 t_007 = 'T007' Answer = True

2.2 动态语言特性

Python属于动态语言:变量不需要提前声明类型,同一个变量可以多次赋值,并且可以更换数据类型。

a = 123 # a是整数 print(a) a = 'ABC' # a变为字符串 print(a)

对比静态语言如Java,变量声明时必须指定类型,类型不匹配直接报错:

int a = 123; a = "ABC"; // 编译报错,类型不匹配

⚠️ 赋值=不是数学等号!

x = 10 x = x + 2

执行逻辑:先计算等号右侧表达式,再将结果赋值给左边变量。

2.3 变量内存引用机制

a = 'ABC'做两件事:

  1. 在内存创建字符串对象'ABC'
  2. 创建变量a,让变量a指向'ABC'

变量之间赋值,传递的是指向关系,不是复制对象:

a = 'ABC' b = a a = 'XYZ' print(b) # 输出 ABC

执行过程拆解:

  1. a = 'ABC':a指向字符串ABC
  2. b = a:b也指向ABC
  3. a = 'XYZ':新建字符串XYZ,修改a的指向;b的指向不变。

    结论:修改a,不会影响b。

3 常量

常量指运行中不会改变的值。Python约定全部大写变量名代表常量:

PI = 3.14159265359

⚠️ Python没有语法层面强制保护常量,只是编码规范,代码依然可以手动修改PI的值。

4 Python的两种除法

  1. /普通除法:结果永远是浮点数,即使刚好整除
>>> 10 / 3 3.3333333333333335 >>> 9 / 3 3.0
  1. //地板除:只保留整数部分,结果为整数
>>> 10 // 3 3
  1. %取余运算,获取除法余数
>>> 10 % 3 1

整数使用//地板除与%取余运算,结果永远是整数,运算精确。

5 练习

打印下面变量的值,补全代码:

n = 123 f = 456.789 s1 = 'Hello, world' s2 = 'Hello, \'Adam\'' s3 = r'Hello, "Bart"' s4 = r'''Hello, Bob!''' print(n) print(f) print(s1) print(s2) print(s3) print(s4)

小结

  1. Python基础内置类型:int整数、float浮点数、str字符串、bool布尔值、None空值。
  2. Python一切数据都是对象,变量是对象的引用,赋值操作修改变量的指向。x=y是让x指向y所指向的对象。后续修改y不会影响x。
  3. Python整数没有大小上限;浮点数超出范围会变成inf(无穷大)。
  4. 动态语言变量无固定类型,静态语言声明时强制指定类型。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 2:14:16

从 B/S 到 Electron:平面排版套料系统桌面版开发实战

一、引言 在制造业中,平面排版套料是提高材料利用率、降低生产成本的关键环节。传统的套料系统大多采用 B/S(浏览器 / 服务器)架构,用户通过浏览器访问系统进行排版和生成 NC 代码。 然而,B/S 架构在实际使用中存在一…

作者头像 李华
网站建设 2026/10/22 2:14:15

认识元器件 · 钽电容· 规格书解读

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 2:13:15

认识元器件MLCC分类筛选条件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 2:11:32

000P2DR 模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 2:08:45

Harnessing the Reasoning Economy: A Survey of Efficient Reasoning for Large Language Models

文章总结 主要内容 本文系统探讨了大型语言模型(LLMs)在推理任务中的推理经济性问题,即在提升推理能力的同时优化计算成本。主要内容包括: 基础分析: 训练后方法:通过监督微调(SFT)和强化学习(RL)塑造模型行为,如过程奖励模型(PRM)和结果奖励模型(ORM)的设计。…

作者头像 李华