☰
Python变量和基础数据类型
2026/9/26 4:10:18 网站建设 项目流程

type()查看变量类型

a = 1

b = 2

print(a, type(a), id(a))

print(b, type(b), id(b))

a = b

print(id(a), id(b))

输出:

(1, , 140485927665320)

(2, , 140485927665296)

(140485927665296, 140485927665296)

“=”这个符号的含义是赋值, 而不是代表相等的概念。在当变量中的 a 的值被赋予为变量 b 的取值这样的情形之下, 实际上仅仅是表示 a 的标签指向了 b。

变量命名规则

原则上,见词知意。

硬性规则:

1.只能由字母、数字、下划线_组成

2.不能以数字开头

3.不能是保留字(比如 print)

4.严格区分大小写

浮点型

pi = 3.14

print(pi, type(pi))

输出:

(3.14, )

布尔类型

只能是True, 另外一种是False。

先把真这个值进行转化, 在转化为整数的时候得到的值是1, 接着处理假这个值, 当把假转化为整数后, 最终的结果是0。

任何非零的数值, 在转化为布尔类型的过程里, 都会被认定为 True , 而在这样的类型转换操作当中, 只有那些值为零的元素以及处于空值状态的项, 才会被转换成类型为 False 的结果。

a = True

b = False

print(a, int(a))

print(b, int(b))

print(bool(0), bool(1), bool(-1))

print(bool(' '), bool(''))

输出:

(True, 1)

(False, 0)

(False, True, True)

(True, False)

请注意, 空的那个字符串算是空的, 然而那个仅仅只包含有空格的字符串则被判定为非空。

print(True + 0, False + 0)

输出:

(1, 0)

当小类型的数据和大的数据类型进行运算的时候, 运算的结果会自动地转换成更大的那个数据类型。

字符串的索引和切片

s = "012345678"

print(s[1:6:2])

print(s[5:1:-1])

print("1" + "2" + str(3))

print(int("3") + int("4"))

输出:

135

5432

123

7

把列表拿出来, 用那个叫生成式的办法, 去读取里面存着的输入数据信息。

列表, 这是在中高频场景里使用非常多的一个数据类型, 不过在这一节里, 我们只是专门来讲解读取这一部分数据的方法。当我们在做算法竞赛题目的时候, 往往需要先把它按照固定的格式把给定的数据读进来, 接着再去编写程序进行相关的计算操作, 最后再把得到的结果给输出来。

举个例子来讲, 如果咱们现在给了一个整数叫作n, 接着就要把这个整数n的平方给输出来。

因为在使用input这个函数获取输入内容的时候, 那个结果它是作为一个字符串来处理的, 所以为了能够满足运算需求, 我们得把它先进行一下类型的转换, 具体的做法就是写出一行代码: n = int(input()), 这样就能把拿到的数据变成真正的整数了。

如果给定的数据里面包含了字母a和字母b, 并且它们中间隔开了一个空格, 接着我们要对这两个部分求和的话, 那么函数input()就会把所有读取到的那一行内容全都当作字符串来处理, 于是我们就得把这串字符串借助空格的特征来把它切开, 然后再把拆分出来的每一个小块单独地去转换成一个整数的样子。

r = [int(i) for i in input().split()]

print(r)

print(r[0], r[1])

输入:

3 4

输出:

[3, 4]

3 4

这个列表里面的各个元素, 它们的下标是从0开始计算的。

通常大家都会用到那些有关列表操作函数, 比如进行求和的sum、找出最小值的min、找出最大值的max, 还有计算长度的len。

格式化输出

name = "黑猫"

age = 28

score = 98.5975

print("姓名:%s 年龄:%d 分数:%.3f" % (name, age, score))

print("姓名:{} 年龄:{} 分数:{:.2f}".format(name, age, score))

print(round(score, 2))

输出:

姓名:黑猫 年龄:28 分数:98.597

姓名:黑猫 年龄:28 分数:98.60

98.6

想要把小数位数固定在特定的数值上, 就得用四舍五入的办法去处理才行, 因为round这种功能啊, 它自身其实是没办法直接锁定小数点位数的。

在那份文档里面, 同时也提到了推荐使用某个东西来完成格式化工作, 同时认为百分号会逐渐退场并被放弃, 可是就我个人的实际感受而言, 在很多情况之中, 我自己依然更倾向于去使用百分号这种方式, 主要的原因就是觉得这样做起来相对更加简便一些。

疯狂刷题

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询