目录
第一个Python程序
输入与输出
Python基础
数据类型和变量
字符串和编码
第一行代码的输出如下
解释如下:
'%2d-%02d'
是格式化字符串。%2d
表示一个整数(d
代表十进制),它至少占用2个字符的宽度。如果整数不足2位,则默认在左侧填充空格以达到2位的宽度。-%02d
表示一个整数,它至少占用2个字符的宽度,如果整数不足2位,则在左侧填充0以达到2位的宽度。注意,-
是字符串的一部分,用于在两个数字之间添加连字符。
使用list和tuple
这里直接全部看原文,全是新东西
条件判断
模式匹配
也就是使用第一行的args
会匹配到第二个case
,使用第二行的args
会匹配到第三个case
,使用第三行的args
会匹配到第一个case
这里可能会产生一个疑问,就是为什么这里不用在后面写上一个if
而是可以直接变量绑定了?实际上,tuple
和list
都可以这么做,比如下面的代码是OK的
point = (1, 2)
match point:
case (0, 0):
print("Origin")
case (x, 0):
print(f"Point on the x-axis: {x}")
case (0, y):
print(f"Point on the y-axis: {y}")
case (x, y):
print(f"Point: ({x}, {y})")
循环
如果执行print(range(5))
会输出range(0,5)
使用dict和set
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
当然如果存在,get()
就返回键对应的值
也就是说list
真的是链表而不是数组
也就是说,对于一个作为键的对象(也就是一个变量,注意在Pyhton中,一切皆对象)指向的值如果改变了的话,我们重新计算这个对象的hash值肯定就会改变,就没有办法在字典中找到这个键对应的值了(实际上在Python中,可变对象的哈希值是不可计算的)
在Python中可变对象的哈希值是不可计算的,而set
需要通过哈希值去判重,一个不可计算的东西怎么能用呢?所以set
不可以放入可变对象。并且有如下代码
a = (1, 2, 3)
b = (1, [2, 3])
s = set()
s.add(a)
print(s)
#没问题,正常输出{(1,2,3)}
ss = set(b)
print(ss)
#不行,因为b里面的[2,3]是一个可变的元素,所以会报错
#剩下换成dict再试一遍同理
标签:case,set,python,list,C++,Python,dict,print,一些
From: https://www.cnblogs.com/dingxingdi/p/18462953