摘要:本篇继续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_c3d41.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布尔运算:
and与运算:全部为True结果才是Trueor或运算:任意一个为True结果就是Truenot非运算:取反,单目运算符
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 = True2.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'做两件事:
- 在内存创建字符串对象
'ABC' - 创建变量
a,让变量a指向'ABC'
变量之间赋值,传递的是指向关系,不是复制对象:
a = 'ABC' b = a a = 'XYZ' print(b) # 输出 ABC执行过程拆解:
a = 'ABC':a指向字符串ABCb = a:b也指向ABCa = 'XYZ':新建字符串XYZ,修改a的指向;b的指向不变。结论:修改a,不会影响b。
3 常量
常量指运行中不会改变的值。Python约定全部大写变量名代表常量:
PI = 3.14159265359⚠️ Python没有语法层面强制保护常量,只是编码规范,代码依然可以手动修改PI的值。
4 Python的两种除法
/普通除法:结果永远是浮点数,即使刚好整除
>>> 10 / 3 3.3333333333333335 >>> 9 / 3 3.0//地板除:只保留整数部分,结果为整数
>>> 10 // 3 3%取余运算,获取除法余数
>>> 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)小结
- Python基础内置类型:
int整数、float浮点数、str字符串、bool布尔值、None空值。 - Python一切数据都是对象,变量是对象的引用,赋值操作修改变量的指向。
x=y是让x指向y所指向的对象。后续修改y不会影响x。 - Python整数没有大小上限;浮点数超出范围会变成
inf(无穷大)。 - 动态语言变量无固定类型,静态语言声明时强制指定类型。