准备工作
想要运行Python,只需要下载一个Python解释器就可以了,如果使用的是Linux系统,那一般是自带Python的
运行python程序
1.打开终端直接输入python3,进入python的shell,在这里可以直接运行python指令
2.写好的名为xxx的python程序可以在命令行里使用python xxx的命令来运行
3.在程序前加入#!/解释器路径,然后在命令行里可以直接输入程序名来运行
Python有五种基本变量——字符串,数字,列表,元组,字典
数字
即数学中的数字,主要有整数,浮点数,复数和布尔型
算术运算符
除了数学上的+,-,*,/和%取模之外,Python以**表示取幂
1 | 3**2 = 9 |
//表示整除
1 | 9 // 2 = 4 |
优先级以幂最高,其次为乘除取模整除,最后为加减
复数
复数即为数学上的复数,python中的虚数单位用j表示。分别用.real和.imag来得到虚数的实部和虚部:
1 | >>>a = 1 + 2j |
布尔
Python中的布尔型必须大写首字母,即True和False,三种逻辑运算符为and,or和not
1 | >>>a = True |
x进制
Python中用0b开头的01字符串来表示二进制数,如:
1 | >>0b1111 |
二进制运算符和C语言基本一致
除此之外,Python中0x表示16进制,0o表示八进制
比较和赋值运算符
和C语言基本一致
注意python中没有自增和自减运算,a++,a–这种写法是错误的
字符串
字符串用单引号,双引号或者三引号包裹起来,使用+可以将两个字符串合并,*可以重复输出:
1 | >>>str1 = 'hello' |
字符串可以直接使用==来比较
数值转换
整数int,浮点数float,复数complex,字符串str,二进制bin,八进制oct,十六进制hex,ASCII字符chr,把字符转为十进制数ord
用法是直接函数调用,如:
1 | >>>int(3.2) |
整数的二元组可以直接转换为复数
1 | >>>complex(2,2) |
元组和列表
元组使用小括号表示,元组是静态的,无法更改
列表用中括号表示,可以更改其长度,也可以更改内部元素的值
字典
创建一个字典:
1 | d = dict( |
其它常用函数
切片
‘hello’[0:2] = ‘he’
‘hello’[-4:-1] = ‘ell’
‘hello’[::2] = ‘hlo’
len()
返回一个字符串,元组,列表或者字典的长度
r或R
在字符串前加r或者R,意义为将字符串原样输出,特殊转义字符将不起作用
del()
删除变量,如del(x)之后,再访问x将会出错
格式化字符串
和C语言的格式化稍有不同
1 | >>>print('Today is %d %d %d' % (2022, 4, 26)) |
numpy
np.arange
类似range,但它能和其它numpy的库函数联动
np.tile
表示将一个列表沿着某个轴重复
轴是什么呢?先来个简单的例子:
1 | a = [1, 2, 3] |
对一维列表来说,其实就是简单的重复而已
对多维列表,可以进行复杂的操作:
1 | b = [[1, 2], [3, 4]] |
元组第一个元素表示如何处置最外层的大列表,第二个元素作用于次外层,以此层层深入
好像列表内部必须是规整的:每个列表的元素之间长度必须相等
np.repeat
重复,和np.tile不同,tile会以整个数组为单位重复,repeat则是以元素为单位
np.repeat([1, 2], 3) = [1, 1, 1, 2, 2, 2]
np.array
数组,可以由列表转换而来,目的是用np库里的东西与之联动
处理excel
https://blog.csdn.net/weixin_44288604/article/details/120731317
使用python的openpyxl库,打开文件和表的方法如下
1 | import os |
字母是行,数字是列
想要知道几行几列使用sheet.dimensions,返回的是一个数组
如果想要返回数字的几行几列,可以使用sheet.max_column等
使用坐标可以获得表中元素
1 | for i in range(2, sheet.max_row + 1): |
除了直接sheet[A2]这种方式,也可以用sheet.cell(row=1, column=2)这种
想要改值的话,直接sheet[‘A1’]=……
然后workbook.save(文件名)
或者用cell函数
1 | for i in range(2, 33): |