一、Python
Python 是一门解释性的编程语言,解释性既运行既得结果。底层是用C语言编写的。可移植性高,基本上所有操作系统都支持运行;
二、下载
下载Python: https://www.python.org/downloads/
2.1 Windows 安装
2.2 CentOs7 安装
图2.2.1
图2.2.2
图2.2.3
图2.2.4
图2.2.5
三、开发工具PyCharm
下载PyCharm社区版: https://www.jetbrains.com/pycharm/download/#sectinotallow=windows/
PyCharm快捷键
格式化代码:Ctrl + Alt + L
快捷注释:Ctrl + /
四、Hello Python
图4.1
五、数据类型
参考地址: https://www.runoob.com/python/python-numbers.html
类型 | 描述 | 说明 |
数值(Number) | 整数(int)浮点数(float)复数(complex)布尔值(bool) | int:如 a = 1 或 a = int(1)float:如 b = 13.14 或 b = (float)13.14complex:如 c = 1+2j,以j结尾表示复数bool: 1=true 真,0=false假 |
字符串(String) | 文本 | 如 "hello world" |
列表(List) | 有序的可变序列 | 如 [1,2,3,4,5] |
元组(Tuple) | 有序的不可变序列 | 如 tuple((1,2,3,4,5)) |
集合(Set) | 无序不重复集合 | 如 set(("apple","banana","cherry")) |
字典(Dictionary) | 无序Key - Value集合 | 如:{ key1 : value1, key2 : value2 } |
1. 数据类型
1.1 Int 整数
1.2 Float 浮点数
1.3 Complex 复数
1.4 Bool 布尔
1.5 String 字符串
1.5.1 字符串三种定义方式
1.5.2 字符串拼接
1.5.3 字符串占位符
1.5.4 快速格式化
1.5.5 常用函数
1. 字符串下标 str[x]
2. 获取元素位置 index()
3. 字符串替换 replace()
注意:替换后的字符串是返回一个新的字符串,并不是修改的原字符串
4. 字符串分割 split()
5. 去除前后空格和\n strip()
6. 统计元素次数 count()
7. 获取长度 len()
8. 遍历字符串
1.6 Array 数组
数组中的元素可以修改,有序、可重复
1.6.1 下标索引
获取列表指定位置数据使用“列表[x]”,x为整数数值类型
1. 正向索引
左→右(从前向后)
2. 反向索引
右→左(从后向前)
1.6.2 常用函数方法
Ⅵ. 函数总览
【图1.6.2.9】
1. 查询元素下标 index()
2. 追加元素 append() 与 extend()
append():追加一个元素
extend():追加n个元素
3. 修改元素值
4. 插入元素值 insert()
5. 删除元素 del 与 pop() 与 remove()
del 关键字
pop() 函数
remove() 函数
6. 查询元素个数 count()
7. 列表长度 len()
8. 清空列表 clear()
9. 自定义排序
10. 列表循环
while循环列表
for循环列表
1.7 Tuple 元组
1. 定义元组使用小括号,多个元素使用逗号隔开,数据可以是不同数据类型元素;2. 元组定义后元素不可修改,有序、可重复;
1.7.1 获取元组数据
通过下标索引获取和数组获取一致
1.7.2 常用函数方法
1.7.3 元组遍历
1.7.4 元组可修改特殊情况
1.8 Set 集合
集合:可修改元素、无序、不可重复
1.8.1 常用函数方法
1. 添加元素 add()
2. 移除元素 remove()
3. 随机取一个元素 pop()
4. 差集 difference()
差集并不是交集,而且正好是交集向反取值,取不相交的值
difference:不同;差异
intersection:相交;交接
5. 并集 union()
6. 统计元素数量 len()
7. 清空集合
8. 集合遍历
1.9 Dictionary - Hash
key不允许重复、有序
1.9.1 常用操作
1. 新增元素
语法方式
函数方式
2. 更新元素
3. 删除元素 pop()
4. 清空元素 clear()
5. 获取全部Key keys()
6. 遍历字典 for
7. 统计元素数量 len()
2. 获取数据类型
3. 数据类型转换
4. 变量
4.1 变量定义
4.2 变量命令
- 英文、
- 中文(最好不用, 未全部适配)、
- 数字(不可放在头)、
- 下划线(_ )、
- 大小写敏感(A、a)、
- 关键字不可使用、
4.3 变量作用域
变量作用域指的是变量作用的范围
- 局部变量
- 全局变量
4.4 修改全局变量问题
global:使用该关键字在局部变量先声明全局变量名称,在赋值即可修改全局变量值
全局变量衍生问题
全局变量衍生问题解决
5. 运算符
1. 基础运算符
运算符 | 描述 | 例如 |
+ 、 - 、 * 、 / | 加减乘除运算符 | 1+1、1-1、1*1、1/1 |
// | 取整除 | 返回商取整数;9 // 2 = 4 |
% | 取余 | 返回除法后的余数值;10 % 3 = 1 |
** | 指数 | a ** b 为a的b次方;2 ** 10 = 1024 |
2. 赋值运算符
运算符 | 描述 | 例如 |
= | 赋值运算符(右边赋值给左边) | num = 1 + 2 * 3 |
3. 复合运算符
运算符 | 描述 | 例如 |
-= | 减法赋值运算 | b -= a,等于 b = b - a |
/ | 除法赋值运算 | b /= a,等于 b = b / a |
%= | 取模(取余)赋值运算 | b %= a,等于 b = b % a |
//= | 取整赋值运算 | b //= a,等于 b = b // a |
...... |
6. 数据序列切片
序列是指:内容连续、有序,可使用下标索引得一类数据容器。比如:list数组、tuple元组、str字符串
序列切片:从一个序列中,取出一个新的序列【图5.6.1】
7. 集合类常用操作
1. len()
2. max()
3. min()
4. 类型转换
4.1 容器转列表 list(容器)
4.2 容器转元组 tuple(容器)
4.3 容器转Set集合 set(容器)
4.4 容器转字符串 str(容器)
5. 排序 sorted()
5.1 根据某一字段排序
8. Json数据转换
Python数据转成JSON数据:json.dumps(data)
JSON数据转成Python数据:json.loads(data)
六、注释
1.单行注释
2.多行注释
七、常用函数
1. exit()
2. input()
3. ASCII码获取
八、基础语句
1. if elif else
练习题
2. 循环语句
2.1 while
练习题
2.2 for
注意:一般是用于获取以存在的数据集合遍历
range()
练习题
2.3 嵌套循环
2.4 循环中断
2.4.1 continue
练习题
2.4.1 break
练习题
3. match
九、函数
函数:函数也叫功能,它是对数据与代码的封装,实现了代码的复用。当我们在pycharm中写代码时,假如先写了一个功能的代码,我们可以右键进行运行;如果我们又写了一个功能代码,点击运行时,两个功能代码都会运行,这时就可以把各个功能的代码块进行封装起来,写成函数。下次想要用哪个功能就调哪个函数。
类似Java中封装的方法
1. 函数分类
函数名称 | 作用 |
|
|
|
|
|
|
|
|
2. 函数语法
2.1 函数的返回
2.2 函数文档说明
说明文档添加后,调用时可查看
【图2.2】
【图2.2】
3. 函数多返回值
4. 函数传参方式
4.1 位置参数
4.2 关键字参数
4.3 缺省 (默认值) 参数
4.4 不定长参数
1. 位置不定长参数
2. 关键字不定长参数
5. 匿名函数 lambda
1. 函数作为参数传递
函数作为参数传递:函数本身,也可以作为参数传入另一个函数内
区别:平时函数接收的是数据,而函数违参数传递传入的是逻辑,正与传入数据的思想相反
2. 匿名函数
函数定义中:
- def 关键字,可以定义
带有名称
的函数。有名称的函数,可以基于名称重复使用 - lambda关键字,可以定义
匿名(无名称)
的函数。无名称匿名函数,只可临时使用一次
十、文件操作
1. 文件编码 UTF-8
编码:指电脑内部代表字母或数字的方式,常见的编码方式有:ASCII编码、GB2312编码(简体中文)、GBK、BIG5编码(繁体中文)、ANSI编码、Unicode、UTF-8编码等 ;
2. 文件读取关闭
2.1 读取 open()
python中使用open()
函数,可以打开一个已经存在,或创建一个新文件
2.2 关闭 file.close()
2.1 读取指定字节长度 file.read()
2.2 一次读取一行方式 file.readline()
2.3 读取全部行方式 file.readlines()
练习题目
3. 文件写入w模式
3.1 file.write()
4. 文件追加a模式
十一、异常
1. 异常捕获
2.1 捕获指定单个
、多个
、全部
异常
2.2 else 异常中的可选语法
2.3 finally 异常中的可选语法
十二、模块
模块:
模块既类,就是一个Python文件,里面有类、函数、变量等,我们可以直接使用
1. 模块导入
2. 内置变量
2.1 _ main _
2.2 _ all _
控制 import * 能导入使用的函数,非 * 的无效
2.3 模块调用优先级
3. 自定义python包
python包就是一个文件夹,文件夹下必须存在一个_ init _.py 文件(表示这是一个python包,不是一个单纯文件夹),才能说明该文件夹下是个python包(相当于java的package包概念),这样就可以通过import或from导入调用custom_package(包名).模块名
注意:文件夹下存在_ init _.py文件的包显示图标不一样
创建python包文件夹,自动生成_ init _.py文件
4. 第三方python包
4.1 常用第三方python包
第三方python包:极大的丰富了python生态,极大的提升开发效率;
常用的python第三方包 |
科学计算中常用的:numpy包数据分析中常用的:pandas包大数据计算中常用的:pyspark、apache-flink包图形可视化常用的:matplotlib、pyecharts包人工智能常用的:tensorflow包等等.... |
4.2 安装第三方python包
由于是第三方提供,所以python没有内置,我们需要安装他们才可以导入使用;使用python内置的pip程序即可
4.3 开发工具pycharm管理第三方包
1. 查看pycharm第三方依赖包
2. pycharm手动添加第三方依赖包
十三、python可视化图表
pyecharts模块:是由百度开源的数据可视化,良好的交互性、精巧的图表设计。当遇上数据分析时使用
pyecharts官网文档:https://pyecharts.org/#/zh-cn/
pyecharts画表浏览:https://gallery.pyecharts.org/#/README
1. 折线图
2. 地图可视化
3. 基础柱状图
4. 动态时间线柱状图
十四、
常见 Error :python报错
- TypeError: 'str' object does not support item assignment(一般指内容不可更改,更改不可更改内容导致)
- ZeroDivisionError(被除数不能为0)
- NameError(一般指名称未定义直接使用异常)
- NameError: name '函数名' is not defined(有时候指被all指定了的函数才可调用,该函数不可调用)