Python基础:语法
谨以此博客记录入门Python的笔记
变量
字符串
1 | name = " a " |
小数
在python中,输出小数会碰到这样奇怪的事情:1
2print(3*0.1)
输出:0.30000000000000004
这与计算机计算浮点数的方法有关
为解决这个问题,引入格式化输出
格式化输出
1 | a = 100.3 |
先提供一个$f$,告知解释器你准备使用一个格式化字符串,然后用和C++风格类似的格式控制符控制浮点数的输出位数1
2
3
4print(f"|{'左对齐':<15}|{'居中对齐':^15}|{'右对齐':>15}|")
< 左对齐控制符,15是宽度,不足的用空格补齐
^ 居中对齐控制符 不足用空格补齐
假如超出限制,会正常输出
列表:list
列表相当于数组,是Python内部的可变长度数组数组类,自带一系列操作,如尾插元素,删除某个元素
需要注意的是,Python的print提供了输出整个列表的重载
基本方法
访问
列表访问下标从0开始,可以访问负数 a[-1]代表倒数第一个,如果列表为空会报错。
可以使用for循环访问,在循环体前端通过一个变量在循环过程中接受list的成员值,此变量的作用域不只局限于for循环内,而是整个代码块(class、module)
1 | cats = ['a','b','c'] |
增添/删除
1 | a = ["first",'second','third'] |
pop()
pop()弹出列表最后一个元素
pop(2)弹出列表索引为2的元素1
2
3
4
5
6
7
8
9
10a = ["first",'second','third']
print(a)
b = a.pop()
print(a)
print(b)
输出:
['first', 'second', 'third']
['first', 'second']
third
remove()
删除列表里面第一个指定的值,是列表的方法1
2
3
4
5a = ["first",'second','third']
a.remove('first')
print(a)
输出:['second', 'third']
切片
列表可以通过切片实现不同步长的访问,具体格式是[start:end:step]
如果不指定的话,start默认0,end默认len,step默认1,从end是len可以看出,这是一个左闭右开的访问区间1
2
3
4a = [1,2,3,4,5,6,7,8,9,10]
print(a[1:7:2])
输出:[2, 4, 6]
我们可以通过一段简单的代码检查切片这个方法的返回值:1
print(type(b)) # <class 'list'>
循环的其他操作
我们还可以通过其他的操作来实现一个循环,如range()方法
1 | for i in range(1,10) |
range的返回值是range类而不是list,这一点可以通过此代码验证1
2r = range(5)
print(type(r)) # <class 'range'>
当执行以下操作时,是list根据可迭代协议,可以通过所有可迭代(通过索引、迭代器访问)的类初始化
1 | a = list(range(5)) |
列表解析
1 | a = [i**2 for i in range(5)] |
第一个表达式$i^2$是和循环变量i相关的一个表达式,在$i$遍历的同时将$i^2$存入a这个list中。
range(5)可以换成任意可迭代对象
元组
元组通常用小括号实现,和列表的不同之处在于元组可哈希,并且元组元素不可被删除