炼数成金爬虫 学习笔记

炼数成金-目录

2012.11.23
Python 2.7.3
Nginx 1.1.5

01.解释性脚本语言初探.avi 46:42
02.1.Python开发环境windows.avi 21:30
02.2.Python开发环境linux.avi 21:40
02.3.Python开发环境wingide.avi 25:30
03.python使用基础.avi 1:53:25
04.python内置容器_.avi
05.并行开发.mp4
06.python正则表达式.avi
07.socket编程基础.avi
08.爬虫.mp4
09.django初探.wmv
10.django.avi
11.twisted.avi
12.Twisted综合应用.avi

03 Python使用基础

1)基本概念
2)运算符与表达式
3)逻辑控制结构
4)函数
5)面向对象编程
6)异常处理
7)模块与包
8)输入、输出、文件和目录操作

1)基本概念

  1. 常量
    常量无名
    不需要修饰

1.2)数
整数
长整数
浮点数
复数
1.3)字符串
单引号 ‘abc’
双引号 “abc”
三引号 ‘’’abc’’’

r前缀 不会转义内容
a =r”ss\n sd” 不会换行

dir()函数 可以查看类型所有的方法
a = “S”*5 SSSSS复制S5次
eval()字符串表达式转换成
1.4)变量
首字符为字母或下划线
其他字母、数字、下划线
区分大小写
1.5)数据类型
数值
字符串
线性容器

  • 字符串也是一种线性容器
  • list
  • tuple
    Hash容器
  • dict
  • set
    None
    逻辑类型(True,False)
    1.6)逻辑行与物理行
    物理行是在遍历器中所看见的,逻辑行是python能够识别的。
    一个物理行使用多个逻辑行用分号;
    多个物理行使用一个逻辑行用反斜杠\
    1.7)缩进
    缩进在Python中是重要的,缩进使用4个空格,表示不要用制表符。

2)运算符与表达式

  1. 运算符
  2. 运算符的优先级
  3. 表达式
  4. repr()

2.1)运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
& 按位与 5 & 3 得到 1
| 按位或 5 | 3 得到 7
^ 按位异或 5 ^ 3 得到 6
~ 按位翻转 ~5 得到 -6
< 小于
> 大于 
<= 小于等于
>= 大于等于
== 等于
!= 不等于
not 不是
and 并且
or 或着
1
2
3
4
5
位移 << >>
a = 10000
a<<10

a>>10

2.2)运算符的优先级

1
讲的不明所以

2.3)表达式
字符串表达式
数值表达式
逻辑表达式
函数式表达式
eval()和repr()

2.4)repr()

3)逻辑控制结构

4)函数
4.1)简单函数
4.2)带形参函数
4.3)变量作用域
4.4)默认参数值
4.5)关键参数
4.6)文档字符串
4.7)lambda
4.8)闭包

5)面向对象编程
5.1)面向对象编程
5.2)类的定义
5.3)类的实例化
5.4)类的封装
5.5)专用类方法
5.6)类属性介绍
5.7)私有函数

5.1)面向对象编程
封装(Encapsulation)
继承(Inheritance)
多态(polymorphism)

5.2)类的定义
5.3)类的实例化
5.4)类的封装
5.5)专用类方法
5.6)类属性介绍
5.7)私有函数

6)异常处理
什么叫防御式编程
try
except
finally

7)模块与包

1
2
3
4
5
6
7
__init__.py
文件、模块与包
编码问题
#!
导入
import
from import

8)输入、输出、文件和目录操作

1
2
3
4
5
6
7
open
write
read
readlines
seek
os.listdir
os.walk

尝试一下。

尝试着做一下。

挑战下自己。做一下。

04 Python内置容器

1)列表-list
定义 []
访问
切片操作
嵌套
内置函数

2)元组-tuple
定义 ()
类似list的访问方式
不可变对象
类型转换
隐式tuple调用
数据交换
拆封与解封

3)字典-dict
定义{}
字典的声明
简单使用
keys()和values()
排序问题及解决
e = sorted(a,key=lambda t:t[0])

4)集合-set
定义方式set()
set–唯一集合
演示合并功能
类型转换

5)map,reduce,filter
map

1
2
3
a=[1,2,3,4,5,6]
map(lambda x:x*2,a)
map(lambda x:x^2,a)

reduce

归并,收敛操作

1
2
a=[1,2,3,4,5,6]
reduce(lambda x,y:x+y,a)

filter

1
2
3
a=[1,2,3,4,5,6]
filter(lambda x:x%2 + 1,a)
filter(lambda x:not x%2 + 1,a)

笛卡尔方法论
拆分
排序
分别处理每一个问题
归并

6)生成器与迭代器
yield

1
2
3
4
5
6
7
8
def fab(m):
a,b=1,1
while a<m:
yield a
a,b=b,a+b

b=fab(6)
b.next()

05 并行开发

1)并行的世界
2)多进程开发
3)多线程开发

1)并行的世界
串行与并行
阻塞与非阻塞任务
共享与冲突
多线程与多进程的区别和特点

2)多进程开发
Linux、unix平台专属
fork
wait
waitpid
pipe和singal
守护进程

fork

1
2
3
4
5
6
7
8
9
10
11
import os

def myfork():
pid = os.fork()
if pid==0:
print("this is child %d %d" %(pid,os.getpid()))
else:
print("this is parent %d" %pid)

if __name__ == "__main__"
myfork()

3)多线程开发
Thread
Threading
共享变量与临界资源
锁机制

07 socket编程基础

tcpdump
netstat

TCP/IP协议卷一

select
poll
同select类似,没有文件描述符的限制
epoll
内核直接支持,基于事件就绪,注册和callback

09 django初探

1:05:38 电商网站需求分析

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 03 Python使用基础
  2. 2. 04 Python内置容器
  3. 3. 05 并行开发
  4. 4. 07 socket编程基础
  5. 5. 09 django初探
,