目录
前言
1 关于Python
1.1 简介
“Python”又称“胶水语言”:Python+Java 、 Python+C++…
在数据分析和人工智能等方面运用广泛,例如火车抢票、四足机器人、网站开发等。
特点:跨平台、解释型语言、交互式语言、面向对象语言…
1.2 提供工作
1.3 学习分类
2 开发环境搭建
Python解释器和开发工具和安装下载参考如下:
2.1 Python解释器
Module Docs:模块文档
IDLE(Integrated Development and Learning Environment集成开发与学习环境):Python自带的简单开发环境
Manuals:官方技术文档
(Python3.7):交互式命令程序
2.2 PyCharm(windows)
- 新建一个项目:
2. 新建一个文件:(No Python interpreter configured for the project)
3. 添加永久注释:(File—>settings—>editor—>File snd Templates—>Python Script)
#注释,${DATE} ${TIME}实时日期
此时显示:
No Python interpreter configured for the project即 没有为项目配置Python解释器
解决方法:
添加Python解释器:
添加成功后:
1 字符操作
1.1 Print() 函数
1.1.2 输出内容
1.1.3 输出到文件
1.2 转义字符(ESC——Escape character )
总结:
1.3 二进制与字符编码(Binary & Character Encoding)
1byte(字节)=8bit(比特即位)
1024byte=1kb(千)
1024kb=1mb(兆)
1024mb=1gb(吉)
1024gb=1tb(太)
(Win+R+calc = 计算器)
ASCII码、Unicode、Utf-8…
1.4 标识符与保留字(Indentifiers & Reserved Words)
2 变量与数据类型
2.1 变量(Variable)
2.2 数据类型(Data Type)
2.2.1 常用数据类型
2.2.1.1 整型类型(int——integer)
2.2.1.2 浮点类型
2.2.1.3 布尔类型(Boolean)
2.2.1.4 字符串类型
2.2.2 数据类型转换
解决方案:类型转换
2.3 注释
2.4 总结
2 input()函数与运算符
2.1 input()函数
2.2 运算符
2.2.1 算术运算符
2.2.2 赋值运算符
2.2.3 比较运算符
2.2.4 布尔运算符
布尔运算符包括:and、or、not、in、not in。
2.2.5 位运算符
2.3 运算符优先级
2.4 总结
3 程序的组织结构
3.1 程序的组织结构
3.2 顺序结构
3.3 对象的布尔值
3.4 分支结构(if)
3.4.1 单分支结构
3.4.2 双分支结构
3.4.3 多分支结构(及其嵌套)
3.4.5 条件表达式(if)
3.4.6 pass语句
3.4.7 for循环
(注:可迭代序列:字符串string、序列range()、列表)
3.4.7.1 内置函数range()
3.4.7.2 while() 循环
break 跳出最近循环:
continue 到最近一次循环:
3
Else可与while、for循环搭配师用
嵌套循环:多个循环嵌套使用
3.5 总结
4 列表
列表中可列表元素:
4.1 列表的创建
4.2 列表的查询
4.3 元素的增加
4.4 元素的删除
4.5 元素的修改
4.6 元素的排序
4.7 列表生成式
4.8 总结
5 字典
内部数据结构采用hash()表
5.1 什么是字典
Python3.6后的版本字典变为有序
5.2 字典的创建
5.3 字典元素的获取(获取)
5.4 键值的判断、元素的删除/清空/增加
5.5 字典视图的获取
5.6 元素的遍历
5.7 字典的特点
5.8 字典生成式
5.9 总结
6 元组
6.1 什么是元组
6.2 元组的创建
6.3 元组的遍历
7 集合
内部结构采用hash()表
7.1 集合的创建
7.2 集合的判断/增加/删除
7.3 集合间的关系
7.4 数学操作
7.5 集合生成式
7.6 总结(含列表/字典/元组/集合总结)
8 字符串
8.1 字符串的驻留机制
8.2 常用操作(查询/大小写转换/内容对齐/劈分/判断/替换/合并)
8.2.1 查询操作的方法
8.2.2 大小写转换操作的方法
8.2.3 内容对齐操作的方法
8.2.4 劈分操作的方法
8.2.5 判断操作的方法
8.2.6 替换和合并操作的方法
8.3 比较操作
8.4 切片操作
8.5 格式化操作
8.6 编码转换
8.7 (拓展)精度/宽度的表示+总结
9 函数
9.1 函数的创建和调用
9.2 参数传递
内存分析:
内存分析图:
代码内存分析:
9.3 函数的返回值
9.4 函数的参数定义
9.5 变量的作用域
9.6 递归函数
9.7 总结
10 BUG
10.1 Bug的由来与分类
10.2 不同异常处理方式
10.3 异常处理机制
10.3.1 try: … except BugName: …
10.3.2 多except结构
10.3.3 try: … except: … else: …
10.3.4 try: … except: … else: … finally: …
10.3.5 traceback 模块
异常编辑 异常内容 可自我编辑(后续深入)
10.4 PyCharm的调试方式
程序调试(program debugging):
代码段前左键设置断点—>左键小虫图标(debug)—>左键step into一步一步运行调试。
11 面向对象编程
11.1 两大编程思想
11.2 类和对象的创建
11.2.1 类的创建
11.2.2 对象的创建
11.3 类属性、类方法、静态方法
11.4 动态绑定属性和方法
11.5 总结
12 三大特征
12.1 封装
12.2 继承
12.3 方法重写
12.4 object 类
12.5 多态
12.6 特殊方法和特殊属性
12.7 new() 和 init() 演示创建对象的过程
总结:
创建一个实例时,会先调用__new__ 方法产生一个实例,再调用__init__方法对实例进行初始化。 (new会先于init被调用);__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。
通过重载new方法,实现对 不可变对象(如int、str、tuple等)的一系列自定义操作,达到所需目的。
new 和init方法总结
{
__new__必须有返回值,返回一个实例
__init__不需要返回值
new__是一个静态方法,而__init__是一个实例方法
new__方法会返回一个创建的实例,而__init__什么都不返回
只有在__new__返回一个cls的实例时,后面的__init__才能被调用
当创建一个新实例时调用__new,初始化一个实例时用__init
}
//总结参考文章:http://t.csdn.cn/G3XK9
12.8 类的深/浅拷贝
12.9 总结
13 模块化编程
13.1 什么叫模块
13.2 自定义模块
导入方法:在右键文件当前目录:
所导入模块所在目录图标变蓝色,则可成功导入:
13.3 以主程序的形式执行
被导入结模块结果也输出,要求此模块中部分语句不被导入运行,解决方法:
13.4 包
解释器安装路径:
13.5 第三方模块的安装与使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
//参考文章:https://blog.csdn.net/miss85246/article/details/81069276
pip install schedule(多用于 定时任务 串行执行):
13.6 总结
14 文件
14.1 编码格式介绍
14.2 文件的读写原理
14.3 文件读写操作
’ r '——只读:
’ w '——可写:(文件不存在则新创建,存在则覆盖原有内容)
’ a '——追加:(向后追加,文件不存在则创建)
’ b '——二进制方式打开:
14.4 文件对象的常用方法
14.5 with语句(上下文管理器)
14.6 目录操作
14.6.1 os模块 基础操作
14.6.2 os模块 操作目录相关函数
14.6.3 os.path模块 操作目录相关函数
14.6.4 eg:列出指定目录下的所有py文件
拓展:os.walk():(遍历指定目录下所有目录、文件(顺序:路径、目录名、文件名))