购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 Python基础

3.3.1 Python简介

Python是由荷兰数学和计算机科学研究学会的Guido van Rossum于 1989 年年底、1990 年年初设计的编程语言。

作为ABC语言的替代品,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。随着版本的不断更新和语言新功能的添加,其逐渐被用于独立的、大型项目的开发。

Python解释器易于扩展,可以使用C或C++或者其他可以通过C调用的语言扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

Python从 2021 年年初TIOBE指数的第 3 位开始,热度不断上升。在 2022 年年初,其把原来分别位居前两名的C和Java甩在了后面,跃升到了TIOBE指数第一名,领先其他语言 1%以上,Python已成多个领域的编程实战语言。

(1)Python优点

①简单易学、易读易维护。

Python是一种代表简单主义思想的语言,阅读一个良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题而不是去搞明白语言本身。Python极其容易上手,因为Python有极其简单的说明文档。Python风格清晰划一、强制缩进。

②可扩展性、可移植性。

Python的可扩充性很强,除了核心语言,还提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器也可以被集成到其它需要脚本语言的程序内。人们可以把Python嵌入C / C++程序,从而向程序用户提供脚本功能。

③免费、开源。

Python是开放源码软件之一。使用者可以自由地拷贝、阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。

④资源丰富,功能齐全。

Python标准库很庞大,它可以帮助人们处理各种工作。除了标准库以外,它还有许多其他高质量的库,如wxPython、Twisted和Python图像库等。Python中有MATLAB的大部分常用功能相应的扩展库。

⑤高层语言、解释性语言。

人们使用Python语言编写程序时无需考虑如何管理程序使用的内存等的底层细节。一个用编译性语言比如C或C++写的程序,需要从源文件转换到一个计算机使用的语言(二进制代码,即 0 和 1),而Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。

⑥面向对象。

Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

(2)Python常用的库(见图 3-2)

图3-2 Python常用的库

3.3.2 Python基本规则

(1)基本规则

①严格区分大小写。Python标识符英文字母是严格区分大小写的,即同一单词大小写不同代表不同的对象。

②必须用英文标点符号。Python语句中所使用的标点符号,必须是英文状态的标点符号,不能是中文状态的。

③多条语句分号分隔。Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。

④不能混用单双引号。字符串可以使用单引号或双引号括起来,但开头和结尾不能使用不同的符号,即不能混用单引号和双引号。

⑤严格缩进。Python语句需要使用缩进来编写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,否则会报错。

number、Number、NUMBER三个变量名代表着三个完全不同的独立的变量。

正确示例:

错误示例:

●多行语句

Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句。

在[],{},或()中的多行语句,不需要使用反斜杠\

示例:

●空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分

●Python标识符(变量、函数、类、模块及其他对象的名称)可以由英文字母、下划线及数字组成,但是不能以数字开头,不能包含空格、@、%、$等特殊字符,不能与Python关键字(即在Python中代表一定功能的专用词)相同。

正确示例:

错误示例:

●Python语言中,以下划线开头的标识符有特殊含义,除非特定场景需要,应避免使用以下划线开头的标识符。

例如以单下划线开头的标识符(如_width),表示不能直接访问的类属性,其无法通过from...import∗的方式导入;以双下划线开头的标识符(如__add)表示类的私有成员;以双下划线作为开头和结尾的标识符(如__init__),是专用标识符。

(2)Python的标准数据类型

①数字(Number):Python中的数字有整型、浮点型、布尔型和复数四种类型。

int:整型。

整型即整数,包含正整数,负整数和 0,整型小数点后无值。

如:-1、-2、0、1、2

float:浮点型。

浮点型由小数部分和整数部分组成,小数点后有值,即使是整数,也会以“.0”显示小数位。

如:1.23、1.0

bool:布尔型。

布尔型即是和否的判断。在数字运算中,我们可用“1”表示True,用“0”表示False。如:True、False。

complex:复数。

复数由实数部分和虚数部分构成,我们可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。

如:1.1 + 2.2j

②字符串(String):字符串是由一个个字符组成的。

指定字符串需要用引号括起来,Python中单引号'和双引号"使用完全相同。使用三引号('''或""")可以指定一个多行字符串。

如:x ='HELLO!'

③列表(List):列表是Python中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号[]之间、用逗号分隔开的元素列表。

如:list = ['abcd',786,2.23,‘hello',70.2 ]

④元组(Tuple):Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号(),列表使用方括号[]。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

如:tup1 =('Google',‘Baidu',1997,2000)

⑤字典(Dictionary):字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key = >value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在大括号{}中。

如:d = {key1:value1,key2:value2,key3:value3 }

⑥集合(set):集合是一个无序的不重复元素序列。

我们可以使用大括号{}或者set()函数创建集合。注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。

如:parame = {value01,value02,...}或者set(value)

3.3.3 Python基本语句

(1)Python关键字(见表 3-1)

表 3-1 Python关键字

表3-1(续)

注:print函数默认是换行输出的,如果要实现不换行,则需要在末尾加上end = ""。

(2)任务实战

①print输出。

输出:print

print(要输出的对象)

内容写在一个print语句中,并在要输出的多个对象中间用逗号(,)分割。

除了使用多个print语句实现换行输出,还可以使用转义符号“\n”,或者使用三引号实现。

示例:

输出对象类型:print +type

Print(type(要输出类型的对象))

示例:

输出:

②数据类型转换。

Python数据类型转换:将数据类型作为函数名即可实现数据类型的转换。

示例:

③字符串处理。

Python中的字符串有两种索引方式:从左往右以 0 开始,从右往左以-1 开始。截取字符串的语法格式如下:变量[头下标:尾下标],截取出的字符包含“头下标”对应的元素,不包含“尾下标”对应的元素。

字符串可以用+运算符连接在一起,用“(∗)”运算符重复。

示例:

输出:

索引号:0 1 2 3 4 5

H E L L O!

包含头下标“2”对应的元素“L”

不包含尾下标“5”对应的元素“!”

④列表处理。

和字符串一样,列表同样可以被索引和截取,截取规则与字符串相同,列表被截取后返回一个包含所需元素的新列表。

同样,加号+是列表连接运算符,星号∗是重复操作。

示例:

输出:

⑤导入库、导入功能、导入文件。

安装第三方库:

Python中的标准库,不需要安装,可以直接进行导入,而第三方库,则需要先安装才能导入。安装一个新库时可以使用pip install。

如:#安装pyecharts库pip install pyecharts。

导入库:

在python中用import或者from...import来导入相应的库及功能,用import ... as在导入库及其功能的同时给其命名。导入整个库,格式为:import库名。

如:#导入pandas库并命名为pd import pandas as pd。

从某个库中导入某个功能:

格式为:from库名import功能名或import库名.功能名。

如:#导入matplotlib库中的绘图功能并命名为plt。

from matplotlib import pyplot as plt

#第二种写法:

import matplotlib.pyplot as plt

从某个包中导入多个函数:

格式为:from库名.包名import功能 1,功能 2,功能 3。将某个库中的全部功能导入,格式为:from库名import ∗,注意尽量少用∗,避免冗余。

如:

#导入pyecharts库charts包中的折线图功能、柱形图功能、饼图功能。

from pyecharts.charts import Line,Bar,Pie

#导入pyecharts库charts包中的所有功能,注意尽量少用∗,避免冗余。

from pyecharts.charts import ∗

导入文件:在python中,使用pandas导入外部文件,使用read_文件格式,在read前面要指定要读取文件的库,并用“.”链接。

在pandas库中导入excel文件的数据import pandas as pd df = pd.read_excel(‘文件名')。

pd.read_excel利用pandas库中的封装函数“read_excel”读取excel文件。

df =将读取的数据赋值给变量df

如:

#导入文件《明康生物 2021 年销售区域汇总表. xlsx 》中的数据,赋值给变量df import pandas as pd df = pd.read_excel('明康生物 2021 年销售区域汇总表.xlsx')

⑥可视化。

常见图形:折线图plot

import pandas as pd #导入pandas库,用于数据处理

import matplotlib.pyplot as plt #导入matplotlib库中的绘图功能并命名为plt

plt.rcParams['font.sans-serif']= ['SimHei'] #设置中文字体为黑体,避免中文字符显示异常

df = pd.read_excel(‘大数据审计技术与工具/明康生物 2021 年销售区域汇总表.xlsx’)#导入数据表

y = [“东北”,“华北”,“华东”,“华南”,“华中”,“西北”,“西南”]#定义Y轴

plt.plot(df[‘月份’],df[y])#定义X轴、Y轴数据内容

plt.legend(y)#添加图例

plt.xlabel(‘月份’)#添加X轴标签

plt.ylabel(‘销售金额’)#添加Y轴标签

plt.title(‘2021 年月度区域销售趋势图',fontsize = 18)#添加标题

plt.show()#显示图形

运行结果见图 3-3。

图 3-3 运行结果——2021 年月度区域销售趋势

⑦条件语句。

Python中的条件语句,主要由if、else、elif构成。

当判断条件比较简单时,只使用if、 else即可。

if判断条件:

(缩进)当符合条件时要执行的代码

else:

(缩进)当不符合条件时要执行的代码

示例:

输出:

if语句中常用的操作运算符(见表 3-2)

表 3-2 if语句中常用的操作运算符

Python中的条件语句,主要由if、else、elif构成。

有多个判断条件时,就需要结合使用if、 elif、else。

if判断条件 1:

(缩进)当符合条件 1 时要执行的代码

elif判断条件 2:

(缩进)当不符合条件 1,符合条件 2 时要执行的代码

else:

(缩进)当不符合条件 1,也不符合条件 2 时要执行的代码

示例:

输出:

可修改“score”值,验证不同的运行结果。

可在第一个“elif”后面添加多个“elif”,添加更多的判断条件。

⑧循环语句。

Python中的循环语句有while和for。

while判断条件:

(缩进)当符合条件时要执行的代码重复执行以上脚本,直至不符条件时,停止循序,执行后面的代码。

示例:

输出:

for循环一般和in结合使用,在in后面写循环的范围。

for要循环的变量in限定的循环范围:

(缩进)当变量值在循环范围内时要执行的代码重复执行以上脚本,直至变量值不在循环范围时,停止循序,执行后面的代码。

range()函数可以指定数字区间,它是一个左闭右开的区间,即包含左边的值,不包含右边的值。

range(start,stop,step),数字从start开始,缺省时默认为 0,到stop结束,但是不包含stop,step为步长,即数字间的间隔,缺省时默认为 1。

示例:

输出:

循环结束

Python中for循环可以遍历任何可迭代的对象,如一个列表或者一个字符串。

示例:

输出:

⑨数据表处理。

常用数据表处理:读取表、去除空值、分组统计、输出数据表。

import pandas as pd #导入pandas库,用于数据处理。

df = pd.read_excel('大数据审计技术与工具/新道物流 202101 加油对账单. xlsx',header = 5)#读取数据表,以第 6 行为表头。

df = df.dropna(axis = 1,how ='all')#去除空值,1 表示去除空列,0 表示去除空行;all删除全部为空,any删除包含空。

df['卡号']= df['卡号'].astype(str)#将卡号转换为字符串格式

df['金额']= df['金额'].astype(float)#将金额转换为浮点格式

df_groups = df.groupby('卡号')#按照卡号分组

amount = df_groups["金额"].sum()#分组金额求和

amount = amount.reset_index()#转换为数据表,重置索引

amount.to_excel('大数据审计技术与工具/卡号加油金额汇总. xlsx',index = False,encoding ='utf-8-sig')#输出数据表

⑩SQL数据库操作。

Python可以通过mysql-connector来连接MySQL数据库,实现对MySQL数据库的相关操作。

接下来就可以使用“mycursor.execute”加SQL语言来对数据库相关操作啦。 FML5JHUWnqnjcjNvK0X8yqpKoAsHBqrJpw7nlAoJuLPEKeMyh5I+IzCGN6uobdve

点击中间区域
呼出菜单
上一章
目录
下一章
×