python学习

python学习

    • 1.1python解释器
  • 二、基础语法
    • 2.1、字面量
    • 2.2、注释
    • 2.3、变量
    • 2.4、数据类型
    • 2.5、数据类型转换
    • 2.6、标识符
    • 2.7、运算符
    • 2.8、字符串扩展
      • 2.8.1、字符串的三种定义方式
      • 2.8.2、字符串拼接
      • 2.8.3、字符串格式化
      • 2.8.4、格式化的精度控制
      • 2.8.5、快速字符串格式化
      • 2.8.6、input函数
  • 三、python判断语句
    • 3.1、条件判断语句
    • 3.2、if-else语句
    • 3.3、if-elif-else语句
    • 3.4、判断语句的嵌套
  • 四、循环语句
    • 4.1、while循环基础语法
    • 4.2、while循环的嵌套
    • 4.3、for循环基础语法
      • 4.4.1、range语句
      • 4.4.2、变量作用域
    • 4.4、for循环的嵌套应用
    • 4.5、循环中断
      • 4.5.1、break
      • 4.5.2、continue
  • 五、函数
    • 5.1、函数的定义
    • 5.2、None的应用场景
    • 5.3、函数说明文档
    • 5.4、函数的嵌套
    • 5.5、变量的作用域
      • 5.5.1、局部变量
      • 5.5.2、全局变量
      • 5.5.3、global关键字
  • 六、数据容器
    • 6.1、数据容器:List(列表)
      • 6.1.1、列表的索引
      • 6.1.2、列表的方法
      • 6.1.3、List(列表)的遍历
    • 6.2、数据容器:tuple(元组)
      • 6.2.1、元组的相关操作
      • 6.2.2、元组的遍历
    • 6.3、数据容器:str(字符串)
      • 6.3.1、字符串的索引
      • 6.3.2、字符串的常用操作
      • 6.3.3、字符串的遍历
    • 6.4、数据容器(序列)的切片
    • 6.5、数据容器:set(集合)
      • 6.5.1、集合的操作
      • 6.5.2、集合的遍历
    • 6.6、数据容器:dict(字典、映射)
      • 6.6.1、字典的操作
      • 6.6.2、字典的遍历
    • 6.7、数据容器对比总结
    • 6.8、数据容器的通用操作
  • 七、函数进阶
    • 7.1、函数多返回值
    • 7.2、函数的多种传参方式
      • 7.2.1、位置参数
      • 7.2.2、关键字参数
      • 7.2.3、缺省参数
      • 7.2.4、不定长参数
        • 位置传递
        • 关键字传递
    • 7.3、匿名函数
      • 7.3.1、函数作为参数传递
      • 7.3.2、lambda匿名函数
  • 八、文件操作
    • 8.1、文件的编码
    • 8.2、文件的读取
    • 8.3、文件的写入
    • 8.4、文件的追加
  • 九、异常模块与包
    • 9.1、异常的捕获办法
    • 9.2、异常的传递
    • 9.3、python模块
      • 9.3.1、模块的导入
        • import 模块名
        • from 模块名 import 功能名
        • from 模块名 import *
        • as 定义别名
      • 9.3.2、自定义模块
        • if __name__ == “__main__”
        • __all__变量
    • 9.4、python包
      • 9.4.1、自定义包
        • 导入包方式一:import 包名.模块名
        • 导入包方式二:from 包名 import *
      • 9.4.2、安装第三方包
  • 十、数据可视化——折线图可视化
    • 10.1、json数据格式
    • 10.2、pyecharts模块安装
    • 10.3、pyecharts快速入门
  • 十三、面向对象
    • 13.1、类的定义和使用
    • 13.2、成员方法和变量的定义和使用
    • 13.3、构造函数
    • 13.4、魔术方法
      • __str__:字符串方法
      • __lt__:小于符号比较方法
      • __le__:小于等于符号比较方法
      • __eq__:等于符号比较方法
    • 13.5、封装
      • 私有成员
    • 13.6、继承
      • 单继承
      • 多继承
      • 复写
    • 13.7、类型注解
      • 13.7.1、变量的类型注解
        • 如何使用
        • 注:
      • 13.7.2、函数(方法)的类型注解
        • 形参注解
        • 返回值注解
      • 13.7.3、Union类型注解
    • 13.8、多态
      • 13.8.1、抽象类/接口
  • 十四、Python执行SQL语句操作MySQL数据库
      • 创建到mysql的数据库连接
      • 创建数据库
      • 查询
      • CRUD
  • 补充
    • print输出不换行
    • 制表符\t

1.1python解释器

作用:翻译代码,提交给计算机运行

二、基础语法

2.1、字面量

定义:固定的值,区别于变量。如整数,小数,字符串…

2.2、注释

单行注释:#
在这里插入图片描述

多行注释:
python学习_第1张图片

2.3、变量

定义:变量名称 = 变量的值
python学习_第2张图片

2.4、数据类型

type():可以查看数据的类型

2.5、数据类型转换

原因:从文件中读取的数字,默认是字符串,我们需要转换成数字类型;input()语句,默认结果是字符串,若需要数字也需要转换等等。
python学习_第3张图片
注:浮点数转整数会丢失精度。

2.6、标识符

  • 定义:在编程的时候所使用的一系列名字,用于给变量、类、方法等命名,用来做内容的标识。
  • 规则:
    1内容限定:字母,数字,下划线
    2大小写敏感
    3不可使用关键字
  • 变量命名规范:
    1多字母使用下划线
    2英文字母全小写

2.7、运算符

  • 算数运算符:
    //:整除,9//2为4
    %:取余
    :指数,22为4
  • 复合赋值运算符:
    +=、-=、*=、/=、//=、%=、**=
  • 比较运算符:

2.8、字符串扩展

2.8.1、字符串的三种定义方式

python学习_第4张图片
问:如果字符串内部本身包含单引号,双引号呢?
python学习_第5张图片

2.8.2、字符串拼接

使用“+”号连接字符串变量或字符串字面量即可。
注:无法和非字符串类型进行拼接,会报错。

2.8.3、字符串格式化

问题:
在这里插入图片描述
python学习_第6张图片
python学习_第7张图片

  • 常用占位符:
    1字符串%s
    2整数%d
    3浮点数%f

2.8.4、格式化的精度控制

python学习_第8张图片

2.8.5、快速字符串格式化

作用:不理会类型,不做精度控制。适合对没有精度要求的快速使用
python学习_第9张图片

2.8.6、input函数

  • input()语句的功能是,获取键盘输入的数据
  • 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。
  • 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型

三、python判断语句

3.1、条件判断语句

python学习_第10张图片
python学习_第11张图片

3.2、if-else语句

python学习_第12张图片

3.3、if-elif-else语句

python学习_第13张图片

3.4、判断语句的嵌套

嵌套的关键在于空格缩进。
python学习_第14张图片

四、循环语句

4.1、while循环基础语法

python学习_第15张图片

4.2、while循环的嵌套

python学习_第16张图片

4.3、for循环基础语法

在这里插入图片描述
python学习_第17张图片

4.4.1、range语句

python学习_第18张图片
python学习_第19张图片

4.4.2、变量作用域

python学习_第20张图片
python学习_第21张图片

4.4、for循环的嵌套应用

python学习_第22张图片

4.5、循环中断

4.5.1、break

直接结束所在循环

4.5.2、continue

中断本次循环,直接进入下一次循环

五、函数

5.1、函数的定义

python学习_第23张图片

  • 注:参数或返回值不需要可以省略。

5.2、None的应用场景

相当于java中的null,
python学习_第24张图片

5.3、函数说明文档

python学习_第25张图片
python学习_第26张图片

5.4、函数的嵌套

python学习_第27张图片

5.5、变量的作用域

5.5.1、局部变量

定义在函数体内的变量,只在函数体内生效(注意区别for函数的变量作用域)
python学习_第28张图片

5.5.2、全局变量

python学习_第29张图片

5.5.3、global关键字

在函数内部声明变量为全局变量
python学习_第30张图片
python学习_第31张图片

六、数据容器

作用:可以容纳多份数据的数据类型,可以容纳任意数据类型的数据(和java进行区别,数据容器什么类型都能一起放入)。类似java中的集合、数组。
分类:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict

6.1、数据容器:List(列表)

python学习_第32张图片
python学习_第33张图片

6.1.1、列表的索引

  • 正向索引
    python学习_第34张图片
  • 方向索引
    python学习_第35张图片
  • 嵌套列表下的索引
    python学习_第36张图片

6.1.2、列表的方法

python中函数和方法的区别在于:方法是函数作为类的成员。
python学习_第37张图片
python学习_第38张图片

  • 查找某元素的下标
    python学习_第39张图片
  • 修改特定位置的索引值
    python学习_第40张图片
  • 插入元素
    python学习_第41张图片
  • 追加元素1
    python学习_第42张图片
  • 追加元素2
    python学习_第43张图片
  • 删除元素
    python学习_第44张图片
  • 删除某元素在列表中的第一个匹配项
    python学习_第45张图片
  • 清空列表内容
    python学习_第46张图片
  • 统计某元素在列表中的数量
    python学习_第47张图片
  • 统计列表内元素数量
    python学习_第48张图片

6.1.3、List(列表)的遍历

  • while循环
    python学习_第49张图片
  • for循环
    python学习_第50张图片

6.2、数据容器:tuple(元组)

定义:元组一旦定义完成,就不可修改。适用于希望在程序中封装数据,又不希望封装的数据被篡改。
特点:不可以修改
python学习_第51张图片

6.2.1、元组的相关操作

python学习_第52张图片

  • 注:
    python学习_第53张图片

6.2.2、元组的遍历

python学习_第54张图片

6.3、数据容器:str(字符串)

字符串是字符的容器,一个字符串可以存放任意数量的字符。
特点:只可以存储字符串,不可以修改
python学习_第55张图片

6.3.1、字符串的索引

python学习_第56张图片

6.3.2、字符串的常用操作

python学习_第57张图片

  • 查找特定字符串的下标索引值
    python学习_第58张图片
  • 字符串的替换
    python学习_第59张图片
  • 字符串的分割
    python学习_第60张图片
  • 字符串的规整操作(去掉前后空格)
    在这里插入图片描述
  • 字符串的规整操作(去前后指定字符串)
    python学习_第61张图片
  • 统计字符串中某字符串的出现次数
    python学习_第62张图片
  • 统计字符串的长度
    python学习_第63张图片

6.3.3、字符串的遍历

python学习_第64张图片

6.4、数据容器(序列)的切片

序列是指:内容连续、有序,可使用下标索引的一类数据容器。列表、元组、字符串,均可以可以视为序列。
切片:从一个序列中,取出一个子序列。
python学习_第65张图片
python学习_第66张图片
python学习_第67张图片

6.5、数据容器:set(集合)

特点:不重复且无序
python学习_第68张图片

6.5.1、集合的操作

python学习_第69张图片

  • 添加新元素
    python学习_第70张图片
  • 移除元素
    python学习_第71张图片
  • 从集合中随机去除元素(会得到一个元素的结果,同时集合本身被修改,元素被移除)
    python学习_第72张图片
  • 清空集合
    python学习_第73张图片
  • 取两个集合的差集
    python学习_第74张图片
  • 消除2个集合的差集
    在这里插入图片描述
  • 2个集合合并
    python学习_第75张图片
  • 查看集合的元素数量
    python学习_第76张图片

6.5.2、集合的遍历

python学习_第77张图片

6.6、数据容器:dict(字典、映射)

特点:key-value且不能重复,重复会进行覆盖
python学习_第78张图片

6.6.1、字典的操作

python学习_第79张图片

  • 字典数据的获取
    python学习_第80张图片

  • 嵌套字典的获取
    python学习_第81张图片

  • 新增元素
    在这里插入图片描述

  • 更新元素
    在这里插入图片描述

  • 删除元素
    python学习_第82张图片

  • 清空字典
    python学习_第83张图片

  • 获取全部的key
    python学习_第84张图片

  • 计算字典内键值对的数量
    python学习_第85张图片

6.6.2、字典的遍历

python学习_第86张图片

6.7、数据容器对比总结

python学习_第87张图片

6.8、数据容器的通用操作

python学习_第88张图片

七、函数进阶

7.1、函数多返回值

在这里插入图片描述

7.2、函数的多种传参方式

7.2.1、位置参数

调用函数时根据函数定义的参数位置来传递参数
python学习_第89张图片

7.2.2、关键字参数

python学习_第90张图片

7.2.3、缺省参数

缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)
python学习_第91张图片

7.2.4、不定长参数

不定长参数也叫可变参数. 用于不确定调用的时候会传递多少个参数(不传参也可以)的场景

位置传递

python学习_第92张图片

关键字传递

python学习_第93张图片

7.3、匿名函数

7.3.1、函数作为参数传递

定义:函数本身是可以作为参数,传入另一个函数中进行使用的。
作用:传入计算逻辑,而非传入数据。
python学习_第94张图片

7.3.2、lambda匿名函数

python学习_第95张图片
python学习_第96张图片

八、文件操作

文件:如一篇文章,一段视频,一个可执行文件等。操作系统以文件为单位管理磁盘中的数据。

8.1、文件的编码

计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中。同时也需要编码, 将计算机保存的0和1,反向翻译回可以识别的内容
常用的是UTF-8编码

8.2、文件的读取

python学习_第97张图片

  • open()打开函数
    python学习_第98张图片
    python学习_第99张图片
  • read()方法
    在这里插入图片描述
  • readlines()方法:会读取到换行
    python学习_第100张图片
  • readline():一次读取一行内容
    python学习_第101张图片
  • for循环读取文件行
    python学习_第102张图片
  • close():关闭文件对象
    python学习_第103张图片
  • with open语法
    python学习_第104张图片

8.3、文件的写入

python学习_第105张图片

  • 注:
    w模式,文件不存在,会创建新文件
    w模式,文件存在,会清空原有内容
    close()方法,带有flush()方法的功能

8.4、文件的追加

python学习_第106张图片

  • 注:
    可以使用”\n”来写出换行符

九、异常模块与包

异常定义:当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示。

9.1、异常的捕获办法

异常捕获(异常处理):对可能出现的bug,进行提前准备、提前处理。

  • 基本语法:
    python学习_第107张图片
  • 如何捕获所有异常
    except:/except Exception:

9.2、异常的传递

python学习_第108张图片

9.3、python模块

  • 模块:一个python文件,以.py结尾。内部可以定义类、函数、变量,还有可执行代码。
  • 模块的作用:一个模块就是一个工具包,可以帮我们快速实现一些功能。

9.3.1、模块的导入

在这里插入图片描述

import 模块名

python学习_第109张图片

from 模块名 import 功能名

python学习_第110张图片

from 模块名 import *

python学习_第111张图片

as 定义别名

python学习_第112张图片

9.3.2、自定义模块

Python中已经帮我们实现了很多的模块. 不过有时候我们需要一些个性化的模块, 这里就可以通过自定义模块实现。
python学习_第113张图片

if name == “main
  • 问:在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,这个开发人员会自行在py文件中添加一些测试信息,例如,在my_module1.py文件中添加测试代码test(1,1)。
    此时,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行test函数的调用
    python学习_第114张图片
  • 解决方法:
    python学习_第115张图片
__all__变量

如果一个模块文件中有__all__变量,当使用from xxx import *导入时,只能导入这个列表中的元素
python学习_第116张图片

9.4、python包

  • 作用:如果Python的模块太多了,就可能造成一定的混乱,通过Python包的功能来管理。 包的作用就是包含多个模块,但包的本质依然是模块
    init.py文件的作用:创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python的包,而非普通的文件夹。
    python学习_第117张图片

9.4.1、自定义包

导入包方式一:import 包名.模块名

python学习_第118张图片

导入包方式二:from 包名 import *

引用方式:模块名.目标
注意:必须在__init__.py文件中添加__all__ = [],控制允许导入的模块列表
python学习_第119张图片

9.4.2、安装第三方包

  • pip慢速安装
    python学习_第120张图片
  • pip慢速安装
    python学习_第121张图片
  • pip快速安装
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
    python学习_第122张图片
  • pycharm中安装
    python学习_第123张图片
    python学习_第124张图片
    python学习_第125张图片

十、数据可视化——折线图可视化

10.1、json数据格式

  • 定义:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。类似国际通用语言-英语。
  • 原因:各种编程语言存储数据的容器不尽相同,如python有字典dict,其他语言可能没有对应的字典。
    python学习_第126张图片
  • Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表
    python学习_第127张图片

10.2、pyecharts模块安装

做数据可视化效果图

  • 安装:
    python学习_第128张图片

10.3、pyecharts快速入门

十三、面向对象

13.1、类的定义和使用

python学习_第129张图片

13.2、成员方法和变量的定义和使用

python学习_第130张图片

  • self的作用:
    1表示类对象本身的意思
    2只有通过self,成员方法才能访问类的成员变量和成员方法
    3self出现在形参列表中,但是不占用参数位置,无需理会
    在这里插入图片描述
    python学习_第131张图片

13.3、构造函数

创建对象后,一个一个对成员变量赋值过于麻烦。

  • Python类可以使用:init()方法,称之为构造方法。
    python学习_第132张图片

13.4、魔术方法

内置的类方法,如__init__ 构造方法
python学习_第133张图片

str:字符串方法

类似于java中的toString方法
python学习_第134张图片

lt:小于符号比较方法

python学习_第135张图片

le:小于等于符号比较方法

python学习_第136张图片

eq:等于符号比较方法

python学习_第137张图片

13.5、封装

面向对象的三大特性:封装,继承,多态
封装:将现实事物的属性行为封装为类的成员变量和成员方法。

私有成员

python学习_第138张图片
python学习_第139张图片

13.6、继承

单继承

python学习_第140张图片

多继承

python学习_第141张图片

  • 注:
    1多个父类中,如果有同名的成员,那么默认以继承顺序(从左到右)为优先级。即:先继承的保留,后继承的被覆盖

复写

相当于java中的重写
python学习_第142张图片
python学习_第143张图片

13.7、类型注解

  • 定义:在代码中涉及数据交互的地方,提供数据类型的注解(显式的说明)
  • 作用:
    1帮助第三方IDE工具(如PyCharm)对代码进行类型推断,协助做代码提示
    2帮助开发者自身对变量进行类型注释(备注)
  • 为什么使用类型注解:
    python学习_第144张图片

13.7.1、变量的类型注解

  • 基础语法1: 变量: 类型
    python学习_第145张图片
    python学习_第146张图片

  • 基础语法2:# type: 类型
    python学习_第147张图片

如何使用

python学习_第148张图片

注:

python学习_第149张图片

13.7.2、函数(方法)的类型注解

形参注解

python学习_第150张图片
python学习_第151张图片

返回值注解

python学习_第152张图片

13.7.3、Union类型注解

定义联合类型注解
python学习_第153张图片
python学习_第154张图片
python学习_第155张图片

  • 注:使用Union需要导包,from typing import Union

13.8、多态

定义:完成某个行为时,使用不同的对象会得到不同的状态。
python学习_第156张图片

13.8.1、抽象类/接口

python学习_第157张图片

十四、Python执行SQL语句操作MySQL数据库

  • pymysql
    python学习_第158张图片

创建到mysql的数据库连接

python学习_第159张图片

创建数据库

python学习_第160张图片

查询

python学习_第161张图片

CRUD

python学习_第162张图片

  • 注:
    python学习_第163张图片
    python学习_第164张图片

补充

print输出不换行

python学习_第165张图片

制表符\t

python学习_第166张图片

你可能感兴趣的:(python)