type()查看变量类型
a = 1b = 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.14print(pi, type(pi))
输出:
(3.14, )
布尔类型
只能是True, 另外一种是False。
先把真这个值进行转化, 在转化为整数的时候得到的值是1, 接着处理假这个值, 当把假转化为整数后, 最终的结果是0。
任何非零的数值, 在转化为布尔类型的过程里, 都会被认定为 True , 而在这样的类型转换操作当中, 只有那些值为零的元素以及处于空值状态的项, 才会被转换成类型为 False 的结果。
a = Trueb = 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这种功能啊, 它自身其实是没办法直接锁定小数点位数的。
在那份文档里面, 同时也提到了推荐使用某个东西来完成格式化工作, 同时认为百分号会逐渐退场并被放弃, 可是就我个人的实际感受而言, 在很多情况之中, 我自己依然更倾向于去使用百分号这种方式, 主要的原因就是觉得这样做起来相对更加简便一些。
疯狂刷题