Python基本语法

准备工作

想要运行Python,只需要下载一个Python解释器就可以了,如果使用的是Linux系统,那一般是自带Python的

运行python程序

1.打开终端直接输入python3,进入python的shell,在这里可以直接运行python指令

2.写好的名为xxx的python程序可以在命令行里使用python xxx的命令来运行

3.在程序前加入#!/解释器路径,然后在命令行里可以直接输入程序名来运行

Python有五种基本变量——字符串,数字,列表,元组,字典

数字

即数学中的数字,主要有整数,浮点数,复数和布尔型

算术运算符

除了数学上的+,-,*,/和%取模之外,Python以**表示取幂

1
2
3**2 = 9
2**3 = 8

//表示整除

1
2
9 // 2 = 4
26 // 3 = 8

优先级以幂最高,其次为乘除取模整除,最后为加减

复数

复数即为数学上的复数,python中的虚数单位用j表示。分别用.real和.imag来得到虚数的实部和虚部:

1
2
3
4
5
>>>a = 1 + 2j
>>>a.real
1.0
>>>a.imag
2.0

布尔

Python中的布尔型必须大写首字母,即True和False,三种逻辑运算符为and,or和not

1
2
3
4
5
6
7
8
>>>a = True
>>>b = False
>>>a and b
False
>>>a or b
True
>>>not a
False

x进制

Python中用0b开头的01字符串来表示二进制数,如:

1
2
>>0b1111
15

二进制运算符和C语言基本一致

除此之外,Python中0x表示16进制,0o表示八进制

比较和赋值运算符

和C语言基本一致

注意python中没有自增和自减运算,a++,a–这种写法是错误的

字符串

字符串用单引号,双引号或者三引号包裹起来,使用+可以将两个字符串合并,*可以重复输出:

1
2
3
4
5
6
>>>str1 = 'hello'
>>>str2 = "world"
>>>str1 + ''' ''' + str2
hello world
>>>'hello' * 2
hellohello

字符串可以直接使用==来比较

数值转换

整数int,浮点数float,复数complex,字符串str,二进制bin,八进制oct,十六进制hex,ASCII字符chr,把字符转为十进制数ord

用法是直接函数调用,如:

1
2
>>>int(3.2)
3

整数的二元组可以直接转换为复数

1
2
>>>complex(2,2)
(2+2j)

元组和列表

元组使用小括号表示,元组是静态的,无法更改

列表用中括号表示,可以更改其长度,也可以更改内部元素的值

字典

创建一个字典:

1
2
3
4
5
d = dict(
age = 20,
sex = '女',
name = '天音'
)

其它常用函数

切片

‘hello’[0:2] = ‘he’

‘hello’[-4:-1] = ‘ell’

‘hello’[::2] = ‘hlo’

len()

返回一个字符串,元组,列表或者字典的长度

r或R

在字符串前加r或者R,意义为将字符串原样输出,特殊转义字符将不起作用

del()

删除变量,如del(x)之后,再访问x将会出错

格式化字符串

和C语言的格式化稍有不同

1
2
>>>print('Today is %d %d %d' % (2022, 4, 26))
Today is 2022 4 26

numpy

np.arange

类似range,但它能和其它numpy的库函数联动

np.tile

表示将一个列表沿着某个轴重复

轴是什么呢?先来个简单的例子:

1
2
a = [1, 2, 3]
np.tile(a, 2) = [1, 2, 3, 1, 2, 3]

对一维列表来说,其实就是简单的重复而已

对多维列表,可以进行复杂的操作:

1
2
3
4
5
6
7
b = [[1, 2], [3, 4]]
np.tile(b, (2, 3)) = [
[1 2 1 2 1 2]
[3 4 3 4 3 4]
[1 2 1 2 1 2]
[3 4 3 4 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
2
3
4
5
6
7
8
9
10
import os
import openpyxl


if __name__ == '__main__':
path = r'C:\Users\gk\Desktop'
os.chdir(path)

workbook = openpyxl.load_workbook('北京市气温.xlsx')
sheet = workbook['Sheet1']

字母是行,数字是列

想要知道几行几列使用sheet.dimensions,返回的是一个数组

如果想要返回数字的几行几列,可以使用sheet.max_column等

使用坐标可以获得表中元素

1
2
3
4
for i in range(2, sheet.max_row + 1):
time = sheet['A' + str(i)].value
tem = sheet['B' + str(i)].value
print(time, tem)

除了直接sheet[A2]这种方式,也可以用sheet.cell(row=1, column=2)这种

想要改值的话,直接sheet[‘A1’]=……

然后workbook.save(文件名)

或者用cell函数

1
2
for i in range(2, 33):
sheet2.cell(1, i, i - 1)