基本掌握python编程语言
基础常用快捷操作
1.完成python的环境配置测试python的环境配置是否成功
2.完成第一个python程序“你好世界”
3.PyCharm的基础设置
A.更换主题:设置+Theme
B.更改字体:设置+Editer+Font
C.常用快捷键:ctrl+alt+s:打开设置
Ctr+d:复制当前行代码
Shift+shift+上/下:将当前行代码上移或者下移
Ctr+shift+f10:运行当前行代码
Shift+f6:重命名文件
Ctr+a:全选
Ctr+f:搜索
字面量
字面量:在代码中,被写下来的固定的值,称之为字面量
Python中有六种常用的值(数字,字符串,列表,元组,集合,字典)
数字:整数(int),浮点数(float),复数(complex),布尔(bool)
字符串(String):描述文本的一种数据类型
列表(List):有序的可变序列
元组(Tuple):有序的不可变序列
集合(Set):无序的不重复集合
字典(Dictionary):无序的Key-Value集合
注释
单行注释:# 一般用于解释单行代码或者一小段代码
多行注释:”””注释内容””” 一般用于解释整个python代码文件,方法,类。
变量:变量名称=变量的值(变量存储的值可以发生改变)
查看数据类型:type()它会输出结果必须有一个变量进行接收
数据类型的转换:数据类型()注意浮点数转整数时会发生精度的丢失,都需要使用变量接收。
标识符(最常使用的标识符就是变量):注意不推荐使用中文,数字不能开头,不可使用关键字。
运算符://整除
复合赋值:+=,-=,*=,/=其他的同理
注意有的时候/是转义字符
字符串的拼接:+
字符串格式化(方便字符串的拼接):占位拼接%s(多个变量占位需要用()连接用,进行分割)。%d将内容转换成整数,放入占位位置,%f将内容转换成浮点型,放入占位位置。
字符串格式化对于精度的控制:“m.n”m控制宽度,n控制小数点的精度。例%5.2f。
字符串的格式化2:print(f”......{变量}.......{变量}”)即可。
对于表达式的格式化:与字符串的格式化一致,将变量直接替换成表达式即可。
数据输入(input语句):变量=input()
if语句的基本格式
if else
If 要判断的条件:
(四个缩进)条件成立时,要做的事情
条件成立时,要做的事情2
条件成立时,要做的事情3
else:
不满足条件时,要做的事情1
不满足条件时,要做的事情2
不满足条件时,要做的事情3
If elif else使用用法
If 条件1:
满足条件1应做的事情
elif 条件2:
满足条件2应做的事情
elif 条件3:
满足条件3应作的事情
else:
所有条件都不满足时应做的事情
条件嵌套
循环
while循环语句:
While 条件:
满足条件,做的事情1
满足条件,做的事情2
满足条件,做的事情3
While嵌套:
for循环语句(遍历循环)
For临时变量 in 待处理数据集
循环满足条件时执行的代码
for a in name:
print(x)
range语句
A.range(num)
B.Range(num1,num2):包含num1不包含num2
C.Range(num1,num2,step)不包含num2,step表示取得间隔
For语句嵌套:
for x in range(1,10):
for y in range(1,x+1):
print(f"{x}*{y}={x*y}\t",end='')
print()
循环中的continue和break
continue(临时中断的作用):中断所在循环的当次执行,直接进入下一次只能作用于当层循环
Break的作用直接结束所在的循环,只能作用于当层循环。
随机数:import random
Score=random.randint(1,10)
函数
A.函数是组织好的,可重复的,用来实现特定功能的代码段。
使用函数的好处:a.将功能封装在函数中,可供随时随地重复利用。
B.提高代码的复用性,减少重复代码,提高开发效率。
函数的定义:
Def 函数名(传入参数):
函数体
Return 返回值
调用函数:
函数名(传入参数)
函数要配用相应的函数说明
函数的嵌套:
直接在函数体中调用另一个函数即可。
函数中的变量:
A.局部变量:作用范围在函数的内部
B.全局变量:在函数的内部外部均可使用
C.如何将函数内定义的变量声明为全局变量:使用global关键字即可:global 变量
数据容器:
一种可以储存多个元素的Python数据类型(list,tuple,str,set,dict)
列表(list)定义语法:
[元素1,元素2,元素3....]元素类型没有限制。
列表的下标索引:
a.从前向后方向,编号从0开始递增
b.从后向前方向,编号从-1开始递减
列表的常规操作方法:
列表.append(元素):向列表中追加一个元素
列表.extend(容器):将数据容器的内容依次取出,追加到列表的尾部
列表.insert(下标,元素):在指定下标处,插入指定元素
del列表[下标]:删除指定那个下标元素
列表.pop(下标):删除列表指定下标的元素
列表.remove(元素):从前向后,删除此元素第一个匹配项
列表.clear():清空列表
列表.count(元素):统计此元素在列表中出险的次数
列表.index(元素):查找指定元素在列表的下标,找不到抱错valueerror
Len(列表):统计容器内有多少元素
列表的遍历:for循环
元组
元组的定义:
(元素1,元素2,元素3)
元组的操作方法:
1.index()查找某个数据如果数据存在则返回下标值,否则报错
2.Count()统计某个数据在当前元组出现的次数
3.Len(元组)统计元组内的元素个数
注意元组内容不可修改,但是元组中的列表内容可以修改
字符串
字符串的定义:
“字符串”
字符串操作:
1.字符串[下标]:根据下标索引取出特定位置的字符
2.字符串.index(字符串):查找给定字符的第一个匹配项的下标
3.字符串.replace(字符串1,字符串2):将字符串内的全部字符串1,替换成字符串2,不会修改原字符串,而是等到一个新的字符串
4.字符串.split(字符串):按照给定的字符串,对字符串进行分割,不会修改原字符串,而是得到一个新的列表
5.字符串.strip()/(字符串):移除首位的空格和换行符或者指定的字符串
6.字符串。Count(字符串):统计字符串内某字符串的出现次数
7.Len(字符串):统计字符串的字符个数
数据容器的切片语法:
序列[起始下标:结束下标:步长]注意步长为负数时下标也要反向标记,步长的默认值是1。
集合
集合的定义
变量名称={}
注意集合时无序的不支持下标索引,集合和列表一样是允许修改的。
集合的修改方法:
A.添加新元素:集合.add(元素)
B.移除元素:集合.remove(元素)
C.随机选出一个元素:集合.pop()
D.清空集合:集合.clear()
E.取两个集合的差集:集合1.difference(集合2)
F.消除两个集合的差集:集合1.difference_update(集合2)在集合1内删除与集合2相同的元素
G.2个集合合并:集合1.union(集合2)
H.统计集合的元素数量:len(集合)
I.集合的遍历:for循环遍历即可
字典
字典的定义:
{key1:value1,key2:value2,key3:value3}
使用字典语法:
字典[key]可以取得对应的value。字典.[key]
字典嵌套:
{key:{key:value}}即可
字典的常规操作:
1.字典[key]:获取指定key对应的value值
2.字典[key]=value:添加或更新键值对
3.字典.pop(key):取出key对应的value并在字典内删除此key的键值对
4.字典.clear():清空字典
5.字典.keys():获取字典的全部key,可用于for循环遍历字典
6.Len(字典):统计字典内的元素数量
数据容器的通用操作:
len(容器),max(容器),min(容器)
函数多返回值:
一一对应接收即可
函数的多种参数使用形式:
a.键值对传参
b.位置传参
c.默认传参必须在最后。
位置传参不定长:(*args)接收使用元组即可
键值对传参不定长:(**kwargs)接收使用字典即可
函数作为参数传入:
就是函数的嵌套
Lambda匿名函数:
lambda 传入参数:函数体
文件操作
Open()打开文件:
使用open函数可以打开一个已经存在的文件,或者创建一个新文件。
Open(name,mode,encoding)name:是要打开的文件名的字符串;
mode:设置打开文件的模式(只读r,写入w,追加a等);decoding:编码格式
对象
对象:在python中一种特殊的数据类型:类被实例化之后所得到的一个实例。
Read()方法语法:
文件对象.read(num),num表示要从文件中读取的数据长度,如果没有传入num,那么就表示读取文件中所有数据。
Readlines()方法语法:
文件对象.readines(),readlines可以按照行的方式把整个文件中的内容进行一次型读取,并且返回的是一个列表,其中每一行的数据为一个元素。
关闭文件:
文件对象.close()
For循环读取文件行语法:
for line in 文件对象:遵循for的基本语法即可。
With open语法:
with open()as f:可以完成操作之后自动关闭文件。
Time sleep():
程序休眠。
文件的写入文件
文件对象.write(“写入内容”)注意此时进写入缓冲区,文件存在是会清空原文件。
文件内容刷新:
文件对象.flush()注意此时才真正写入硬盘,close内置了flush。
文件的追加模式:
与写入模式一样将w替换为a即可。
异常,模块,包
异常捕获的作用:
提前假设某处会出现异常,做好提前准备,当真的出现异常的时候,可以有后续的手段。
异常捕获的语法:
try:
可能发生错误的代码
Except:
如果出现异常执行的代码
捕获指定异常语法:
try:
Print(name)
Except NameError as e:
Print(‘name变量名称未定义错误’)
捕获多个异常语法:
try:
Print(1/0)
Except(NameError,ZeroDivisionError)as e:
Print(‘ZerrorDivision错误’)
捕获所有异常语法:
try:
Except Exeption as e:
Print(“出现异常”)
Else:
未出现异常时的操作
Finally:
无论怎么样都要执行的操作
注意异常具有传递性
python模块:
模块就是一个python文件,里面有类,函数,变量等,我们可以拿过来用(导入模块去使用)
模块的导入方式:
import 模块名
From 模块名 import功能名
From 模块名 import*:这个与import模块名的区别是,它可以直接调用函数,不需要time.。
As:改名
python自定义模块:
自定义一个python文件(函数集合)即可。注意内置变量main否则导入模块是,会运行模块内的代码段,——all——变量:from xxx import *导入时,只能导入all列表中的元素。
自定义python包
Python包:
python文件夹,在该文件夹下包含了一个_init_.py文件,该文件可用于包含多个文件模块。
从逻辑上看,包的本质依然是一个模块。_init_.py模块中写——all——变量(——all——=[模块名])。
第三方python包:
非python官方设计的包,可以极大提高我们的开发效率(我们需要安装第三方包才能导入使用)。
安装第三方包:
打开命令提示符程序,输入pip install 包名称 即可通过网络快速安装第三方包。
如科学计算:bumpy包;数据分析pandas包;大数据计算pyspark,apace-flink包;
图形可视化matplotlib,pyecharts包;人工智能tensorflow包等。
(国内快速下载网址:pip install -i http://pypi.tuna.tsinghua.edu.cn/simple包名称)
Pycharm也可以直接安装第三方包:解释器设置中下载即可。
Json数据格式:
json本质上是一个带有特定格式的字符串,是一种轻量级的数据交互格式。可以按照json指定的格式去组织和封装数据。
Json主要功能:是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。(字典或者是列表(多字典))
将python数据转换成json数据:
data=json.dump(data,ensure_ascii=False)
将json数据转换成python数据:
data=json.loads(data)
数据可视化开发
Pyecharts模块:
如果想要做出数据可视效果图,可以借助pyecharts模块来完成。(第三方需要下载安装,参考第三方包。)
Pyecharts-gallery:
画廊网站:http://gallry.pyecharts.org/#/README
全局配置:
set_global_opts(通用配置)可以配置图表标题,配置图例,配置鼠标移动效果,配置工具栏等整体项配置。
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
得到折线图
line = Line()
# 添加x轴数据
line.add_xaxis(["张毅","蜡笔小屁","小西"])
# 添加y轴数据
line.add_yaxis("零花钱",[50,25,30])
# 设置全局配置
line.set_global_opts(
title_opts=TitleOpts(title="零花钱评选",pos_left="center",pos_bottom="1%"),
legend_opts=LegendOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(is_show=True),
)
# 生成图标
line.render()
通过json模块对数据进行处理
(懒人工具网:ad173 )
动态柱状图的开发
基础柱状图(Bar):与基础折线图类似
from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
bar = Bar()
# 添加x轴
bar.add_xaxis(["中国","美国","英国",])
# 添加y轴
bar.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
# 反转x轴,y轴
bar.reversal_axis()
# 绘图
bar.render("基础柱状图.html")
B.基础时间线柱状图:创建时间线(timeline)
对象(程序中的数据组织)
设计类(class)
创建对象
对象属性赋值