PYTHON_GITCHAT

  现有最基本最基本的Python概念点(看一遍都懂, 就记不住)整理了, Mark在文章中, 日后有更丰富的经验, 可以以此为基础添加上去, 使枝叶丰茂. (P.s. 重要的是, 摆脱Java和C++等编译语言的长期影响!)


  


Section 00: Python简史(略)



Section 01: 预备知识, 开发环境(略)



Section 02: 数字, 运算符

数字:

Python中有三种数字: int, float, complex;

运算符:

1.算术(7种): 加(

减(```-```), 乘(```*```), 除(```/```), 取模(```%```), 幂运算(```**```)和取整预算(```//```);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

**2**.比较(6种, 结果是布尔值): ```>```(大于), ```<```(小于), ```==```(等于), ```!=```(不等于), ```>=```(大于等于), ```<=```(小于等于);

**3**.赋值运算("="与算术运算符搭配使用): ```+=```, ```-=```, ```*=```, ```/=```, ```%=```, ```**=```, ```//=```;

**4**.逻辑运算: ```and or not```(与或非);

**5**.位运算(操作的是二进制上的bit): ```&```与, ```|```或, ```^```异或, ```~```取反, ```>>```右移(几位), ```<<```左移(几位, 高位丢弃, 低位补0);

**6**.成员运算: 某元素是否在一个数据结构(如字符串,列表,元组,字典)中, 关键字```in```;

**7**.身份运算符: 比较两个标识符所引用对象的存储单元, 判断它们是否引用自同一个对象, 关键字```is```和```is not```;
<br>
<br>

---
### Section 03: 字符串, 列表, 栈
数据结构(包含的是数据元素): 包括字符串, 列表, 元组, 字典, 栈, 队列和集合; 很多时候, 确定了数据结构后, 算法就容易得到了.

**1**.字符串: 注意(很多)内建方法;

**2**.列表: 最基本最重要的数据结构, 访问列表中的元素可以是以"切片"的形式, 列表的迭代, 则是熟悉的"for ele in list:"的"for循环"形式;

**3**.栈: 列表的两个内建函数的组合: ```append()```和```pop()```, 即列尾添加和列尾取出(先进后出);
<br>
<br>

---
### Section 04: (数据类型)元组, 字典, 集合, 队列

**1**.元组, 属于序列类别;

**2**.字典(可理解成'映射表'), 操作: 创建, 添加, 修改, 删除

**3**.集合: 一个或多个确定的元素(仅元素)所构成的整体, 基本功能包括关系测试和消除重复元素;
集合操作: 创建, 添加, 移除元素;
集合运算: 交/并/补集;

**4**.队列: "先进先出", 就好像排队打饭, Python中有专门的队列模块Queue(以及deque, etc.);
```python
from collections import deque
queue = deque(['A','B','C'])
# 操作;
queue.append('D')
queue.popleft()



Section 05: 条件, 循环, 其它语句;



Section 06: Python抽象 -> 函数, 对一组需求进行囊括(他们说抽象)

1.定义与调用, 2.参数传递(变量与引用/不可变/可变类型), 3.函数的参数类型(必须参数, 关键字参数, 默认参数和不定长参数), 4.Return语句(变量作用域: Local>Enclosing>Global>Build-in, 详见)




Section 07: 抽象 -> 类(略)



Section 08: 错误和异常(略)



Section 09: 模块和标准库

1.Import语句与模块, 2.编写一个极简的模块, 3.模块的位置, 4.from…import语句, 5.深入模块, 6.用help获取帮助, 7.文档__doc__, 8.标准库;




Section 10: 文件和流

一些场景下, 程序需要和外部进行交互, 如: 1.input和print函数等标准I/O类的交互, 2.此处的新的交互方式: 文件和流(读/写);
1.打开文件, 2.文件模式, 3.缓冲, 4.读写文件, 5.读写行, 6.使用fileinput进行迭代, 7.文件迭代器;




Section 11: 数据库与网络编程(略)

1.数据库支持, 2.网络编程(如自带的Socket模块);




Section 12: 图形用户界面(略)

(自带的: TKinter), Py不用来做图形界面开发, GUI工具包”很一般”;




Section 13: 抢票软件(略)





Section 14: 爬虫(略)




References

1.参考博文