导图社区 Python机器学习基础
纯干货!你要的Python基础知识点整理好了!本文对变量、语法、条件循环、面向对象、函数、语法规则符、文件的读取及保存、错误异常这些方面进行了全量笔记整理,这些知识点你还记得吗?
编辑于2021-05-19 23:55:39Python 机器学习基础
Python 程序设计
程序设计概要
①什么是程序,程序设计?
②如何进行一次程序设计?
①选择一门合适的计算机语言
计算机语言的分类
机器语言
机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言指令是一种二进制代码,由操作码和操作数两部分组成
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等,但大都不具备调试功能
高级语言
高级语言(High-level programming language)是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。本次课所学习的Python就是这样一门高级语言
②按照一定的步骤进行设计
程序设计六大步骤
③程序设计时应该遵守什么规范?
《Python参考手册》
程序与程序设计语言
①复习:什么是程序,什么是程序设计
②认识本次课程序设计语言:Python
Python语言特点
Python是一个怎么样的高级语言?
Python集成开发环境
①什么是集成开发环境,为什么需要集成开发环境
②掌握:Pycharm\jupyter\spyder
Python语言基本语法
思考:Python作为高级语言,其实就像我们学数学一样,需要从最基础的“+-*/”开始学习,相当于最底层的逻辑
①基本字符、标识符、关键字
基本字符可以理解为构成Python语言最基础的符号,相当于英语的ABC。而标识符其实最大的作用就是起到一个让别人看到,就懂的作用,通常用来对变量命名,比如df = pd.read_csv(),这个df就算是一个标识符。而关键字就是Python内置的一些有作用的词,比如if,False等
②对象和数据类型
①什么是对象,有哪些对象种类:Python是一门面向对象的语言,我简单地可以认为所谓对象,就是一个被创建并储存在内存中的一些东西,他们是客观存在的
②Python的数据类型有哪些,又有哪些规则?
简单数据类型(数字)
简单数据类型其实可以理解为对单个的,独立的一个对象进行界定,在Python中有①整型int②浮点型float③复数complex④布尔类型bool等多中
整形int
5
浮点型float
5.15
复数complex
5.14j
布尔类型bool
True
序列对象
序列对象顾名思义就是有序的一系列的对象的组合
字符串str
'hello world'
元组tuple
('hello','world')
元组其实相当于一个只读列表
列表list
['hello','world']
其他类型
集合类型set
字典类型dict
考察点
①各种对象如何被创造和更改?
②各种对象的差别和适用范围?
③各种对象之间的转化?
④序列对象如何被提取
③可变对象与不可变对象
可变对象:可变对象的值可以被修改。list、dict、set等
考察点:如何进行修改?
不可变对象:一旦创建其值就不能被改变。int、float、str、tuple等
③表达式和语句
表达式
概念:数据对象和运算符按照一定的规则写出的式子,描述计算过程。这一点很好理解,就像数学中的y=x+1,这就是一种表达式,x和y就是数据对象,+和=就是运算符
运算符
考察点:不同运算符的规则与应用
表达语句
概念:说白了就是用来表达的一句话,只不过是用高级语言写的
简单语句
考察点:简单语句的书写规则,注释的应用
复合语句
考察点:复杂语句的组成与书写逻辑 PPT中第二讲20页有语句实例
④赋值语句
概念:说白了就是给一个变量赋值,其基本语法为:<变量> = <表达式>
三种类型:连续赋值、同步赋值、复合赋值
考察点:如何进行赋值
⑤字符串
概念:字符串或串(String)是由数字、字母、下划线组成的一串字符。
创建字符串:创建一个字符串变量(关键点是引号)——通过连接操作获取字符串——通过print获取带引号的字符串
获取字符串
获取字符(考察点):直接用下标切取
获取子串(考察点):通过起、始、步长的下标方式切取
⑥输入、输出语句
输入语句
考察点:①通过input函数输入语句 ②通过int()\float()等函数对数据类型进行转换(通常是字符串转数字)
输出语句
考察点:①通过print()函数输出语句 ②多个变量同时输出与组合 ③格式化函数的用法:即%s%的用法与format函数的用法
⑦模块和函数系统
概念:模块可以理解为是工具包,分为内置的工具包和外置的工具包
考察点:①通过import、from xx import xx等导入方法的使用 ②对某一个模块或者函数系统整体性的了解。比如import matplotlib\import matplotlib.pyplot as plt等形式的差别
程序的控制结构
程序的结构化流程控制
结构类型:三种基本结构
顺序结构
特点:可以理解为自上而下的,一条一条对代码进行执行
例题:已知一个圆的半径,求其内切正五边形的面积
程序包:math
被用到的函数或功能:float、input、math.sin、math.pi、math.tan、format
选择结构
特点:类似于英语中的条件状语从句
一般结构形式
if XX
例题:求一个整数的绝对值,当这个整数小于零的时候需要处理,取它的相反值。其它情况都不需要作处理
if + else
例题:判断一个点在圆内还是圆外。
if + elif +else
例题:根据任意一个实数x的取值,决定y的值为-1、0和1。
循环结构
特点:用同一个逻辑对某一个目标进行不断地处理
一般结构形式
while XX:
例题:total=0i=0while i<=100: total=total+i i=i+1print("1~100的累加和为:{}".format(total))
for <var> in <sequnence>:
例题:S=0for i in range(1,101): S=S+iprint("1~100的累加和为:{}".format(S))
特殊结构示例
return、break与continue语句的辨析
break:直接结束本次循环,且退出循环
continue:结束本次循环,并重新开始下一轮循环
return:return 语句就是讲结果返回到调用的地方,并把程序的控制权一起返回
else语句的使用:s=0for i in range(5): x=int(input("输入一个正整数:")) if x<0 : print("{}不是正整数".format(x)) break else: s=s+xelse: print("5个正整数的和为:{}".format(s))
try——except——finally
基本思路:简单程序——三种基本结构组合,复杂程序——三种基本结构嵌套
三种基本结构的特点
一个出口
一个入口
结构中每一部分都有机会被执行
结构中不存在死循环
程序的模块化设计
认识模块化设计
什么是模块化设计:模块是指提供特定功能的相对独立的单元。
举例:生活中的活动板房,每一个房间就是一个模块,或者智能手机中的不同的APP
模块化设计思想:模块化设计的基本思想:对产品进行功能分析的基础上,将产品分成若干个功能模块,再将预制好的模块进行组装,形成最终的产品。
模块的特点:独立、抽象、互换、灵活
模块化开发的一般过程:”逐步递进的思想“。在模块化设计中,运用自顶向下,逐步细化的分析方法分层设计,得到功能独立的模块再以功能块为单位进行程序设计,实现其求解算法。
函数的定义与调用
什么是函数:python中的函数更像是一个实现某种功能的模块,一个被定义的函数是由其底层代码构成的,正如上一章节中讲到的程序基本结构的特征中的一个出口和一个入口,函数就是我们在入口处输入一些参数,然后返回我们一些结果
函数的基本构成
函数名称
形参
定义函数的语法(底层逻辑)
例子:math.pi(x)中math.pi就是函数名称,x是形参,计算pi的底层逻辑代码就是语法
函数的调用
有返回值的函数调用:有时候出口得到的结构会是一个返回值,此时需要通过某种方法去接收返回值
赋值语句:将返回值赋值给一个变量
z=gcd( 28,70)
表达式语句:将返回值作为表达式的一个数值,继续参与运算
print(gcd(28,70)*gcd(26,65))
作为参数实参
z=gcd(gcd(28,70),21)
无返回值的函数调用
print函数和pause函数的调用,仅仅执行一个输出操作
实例展示
见PPT
Python 数据分析处理
批量数据的算法设计
为什么要单独将批量数据提出:因为在python的实际运用过程中,针对批量数据的处理才是常态,虽然第一章节中对数据进行了初步的认识,但是对每一种数据结构的应用还不足,因此,在Python数据分析处理的第一部分,需要重新认识数据结构
组合数据类型
元组和列表
序列:序列是字符串,列表,元组的统称,他们都可以通过索引得到每一个元素 ---默认索引值总是从零开始---可以通过切片的方法得到一个范围内的元素的集合
考察点:序列的函数方法
列表
列表的创建
L = []的直接创建
for X in Y的创建方法
列表的序列操作
联接:通过+号,将两个列表的表项连接为一个列表
复制:通过*号与数学相乘,将列表的内容进行复制。注意:无论是连接还是复制,都是对列表的内容进行操作,所谓列表的内容,就是两个逗号之间的那个符号
索引:下标访问[5],嵌套结构访问[5][5],切片访问[2:5]
元组
元组的创建:T=()
元组的序列操作(与列表一致)
其他功能(序列的函数操作,见ppt)
序列函数
逻辑判断
遍历
列表和元组、字符串根本区别:列表是可变对象,每一个数据项可以视为一个变量,通过下标访问修改变量的值,所以列表元素可以读取,可以修改,元组和字符串的元素是不能通过下标访问修改的
列表和元组的批量数据算法设计实例:见PPT
字典与集合
集合
集合的创建
可变集合
S = {},利用标识符直接创建,每一项用逗号分隔
S = set()的创建方法
不可变集合
FS = frozenset()的创建方法
特别说明:①创建一个空集合必须用S = set()而不是 S={},因为{}是用来创建一个空字典的。②因为集合中所有元素必须可hash,所以可变对象(set、list、dict)不能作为集合的元素
字典
子主题
子主题
子主题
子主题
子主题
子主题
Python 机器学习