|
课程大纲:
5 b R# ?4 y9 g; l6 P) o1 o; ^) f1 |/ x! Y( s
0. 课程介绍及聊聊编程:
7 E. @( Z" S! K3 \* q' q2 I/ x 讲师介绍4 X& J, ~8 S; m# q2 h
课程目标
; H2 u' D9 O. f; @ 为什么有编程
3 _2 b$ k5 v8 r/ V& M3 p% g 编程是什么3 p5 O) [: u' h! W
怎么编程) @: b& Q* S/ {
# f, B( \+ c }# T9 X# p
1. 背景介绍:1 y: l, c4 D n7 K, J: E, X0 F/ T
Python的诞生, S3 S8 [; R( K7 E% T
Python近期的发展
& p8 [: S/ Q+ G& _+ j! J F8 p Python的应用范围3 ]" M! n n% \+ x/ v
什么是脚本语言* b2 S( z/ c6 ~1 X+ Z. Y
关于CPython! s& c8 t: h/ A" C/ [$ j+ h5 i
2和3的差别- B, y8 ?# r3 q% O7 Z- ~+ `/ E
社区状态
# s: [2 O3 d9 Y, f: ~ 如何查找资料/ ~! a4 }8 q+ J) Z3 T( G- F
如何混社区" T) }5 C/ `4 Y' g
到哪问问题
% W2 `' W. R! C0 h+ ~* l! ]' W# i+ Y+ c8 U, l0 M; V
课后练习:( _6 p& M/ v" N- M
Python有多少种实现版本,分别是什么?基于什么运行。各自优缺点5 K" y) e9 }2 ~9 ?$ n$ A
交流Python的中英文社区有哪些?( Z% x% _& |: Q
国内外有哪些基于Python的大型网站?) M5 c8 }0 w, f3 }3 K
( B( V* F, ]7 c9 s6 D2. 安装:/ u0 Y5 o! s) H, Y
python包管理器 pip 安装
( Z# p" Z9 L- ` 不同版本的安装,基于用户
- v# T, S. b a/ I% h- w pyenv的使用
6 K, d: ~* Q) ]% g w python shell的使用,目前的各种shell + `) m. M: I7 T" h1 R4 v5 P5 e
- B9 U' f+ a$ n0 ]+ o* \
课后练习:安装各种shell进行尝试,说出各种shell的特点。
5 w! @# u8 J! o2 W' }# E0 z- `& P* L. K8 u
3. 编程热身:
. g8 G4 J4 l% @) ]7 r 变量定义% B: ~3 S9 J0 L
加减乘除计算,阶乘,* Y1 C7 D' T7 R: i1 } z
列表,元祖,字典,字符串操作,
) T; C' [; F1 J* E if语句,for循环,while循环。
}0 |6 a3 ~# i$ b
6 D: g1 S# k0 I1 V. |先熟悉各种操作,不求甚解,只需要有个印象。$ S0 X* l+ A. q- ^& F0 }: U
7 L7 N& h/ Q- @! W. q2 \6 }课后练习:熟练实用python交互模式进行练习。( o' ~( j; O9 f5 l; p$ s# a6 R
$ s ~& {. q0 D# Y" c, k* g4. 语言基础:9 g2 v- E: ^* z, Q, Q1 P
关键字
i- k! d$ Y/ c: C 变量定义,% a4 n) p) M" Z0 W
语法
' M" ^; ]* u; |! O' c) \2 J# r+ m9 H 流程控制
+ m; F/ B: F ~. R7 \8 V首先了解有哪些关键字 每个关键字的用法 另外注意版本差别
+ M$ {; i/ g6 e! E$ H7 U+ s: ^变量的概念
4 S# `( q$ _, c7 P定义变量 c+ S; Q( y$ m; ~5 K+ H3 s# g
/ q6 m- T! o& O* ?
几个例子:计算器,定时器,猜谜游戏。
0 R; h3 X- L; s0 v; n5 g/ _: z2 f5 B* V( L, \
课后练习:
' l- V6 E0 C: Q& c8 I* Q+ l
3 _( W6 v |7 E @' f I8 E5. 函数:4 [' \$ M3 g/ c* |
函数是什么
7 T. T( ^+ M& p. E1 n, W 为什么需要函数9 h1 o2 o& R, T! ^ t
如何定义函数
- [/ J) B4 P: C9 ?. X 函数参数说明:形参,实参,函数解析,
! j! H- d% I, f1 { docstring是什么?专业的象征。$ w+ {/ K" a0 N4 J
- W0 }9 g9 e% H* n9 w8 g6 B: Q* G6. 数据结构:, [$ r f6 Q9 M7 @5 q( V
为什么要有数据结构
. _& k: |, \- j. q5 ?# d* e* K list的使用. L) C2 i$ @" L7 N
tuple的使用' G) ~, h R" O1 X5 {$ Z, R) j
set的使用
+ W% O/ {9 Y, B, w, r& ` dict的使用
- G$ b6 d% |# {/ S) l- i
. l7 ?9 k: u: e8 B" Q7. 模块(Modules):( I* T( ^% ^7 c7 @; L8 j( d
模块是什么
' ?! i z u# d/ q 怎么定义模块; n5 B) Z0 w7 C
怎么使用模块: o. J, ?0 K/ `4 w" F9 ?. _
Python怎么查找模块6 A" ?. h" X) H j9 Y- ?
介绍一个标准模块sys
2 H0 l8 e" d: n 使用dir查看模块内容4 k' ^- G9 O6 c" ?: C) ^
控制模块对外接口 __all__
( C/ W1 L4 q2 v: G% z& c* d, i+ K) d, t, z3 X# F2 Y
8. 包(Package):
2 Q, d$ P. V, {* e# C4 } 什么是包
- K6 D0 y# l+ m# O9 u [- E 如何使用- B3 e9 S& X* G) j% G5 n
. K) H$ d( l+ F6 ^8 e( S$ e
9. 开始使用IDE
) v; \' _# K, R' g1 r 常用IDE介绍8 c& u9 U$ o: a, H
IDE管理项目
$ j$ N G5 z3 { IDE编写代码4 e& y# x/ L" D
IDE运行代码7 r! T' F; y: B
3 B2 P( i+ V3 [( i# H
10. 输入和输出:* ^* P, C: P# C9 [; L
什么是输入输出6 B" Q+ d$ R* J3 x, E I
接受用户输入9 F8 e# ~+ w9 O3 I8 R. _% G. ^ M2 s
输出内容
+ v; u1 c0 o5 T: J+ O% p0 @% g 格式化输出内容9 X. J- L. k% z! n) ~7 z, c- p
读取文件. V7 n" r3 x1 J* i Y# f4 A2 f
写入文件
0 }+ S% J( k9 w$ v
3 I; w! W! K( [2 Q9 x11. 错误和异常处理:
: X- E$ U5 r8 e% f7 S5 ? 为什么需要错误处理6 m/ g U: g( L* W+ x8 w, k
语法错误
% D G: H2 w' R9 a+ Q F 异常
# N+ O/ x6 s8 l9 [2 ^6 O 处理异常0 U0 C# @, C+ ^. }
抛出异常
% J' q$ s/ t5 x) Z 用户自定义异常
; F8 K7 ^3 S+ E L' C" y# t 定义清理动作
: q, Q: i' k! y 预先定义清理动作
7 }5 Q0 K% I; |
! x# {, b* F! Q: b& U12. 类(对象):0 v* m: m/ I$ H
什么是面向对象' t! o& S& Z2 _7 a! J, z) [
为什么要面向对象, C6 Q! }2 _, i9 \
Python中怎么定义对象
5 H/ u' ? R5 C9 @* c1 [/ ]1 p Python的作用于和命名空间' c. p+ {0 t) S d% u4 V+ d0 c
细聊一下Class
4 \/ o, E2 X' u7 y" k 继承和多重继承
$ T) F$ u/ {* F/ u8 i% o& H 私有变量和类内引用! @$ R6 ?# M$ |! _; w
动态添加类属性! C X+ i8 d c( _# K% k9 ?! N/ p2 P4 s
迭代器) j4 Z; n/ `) n; j5 N
生成器
/ {- R# d( e0 B/ M% R' f. i 生成器表达式, e" ?! n; O# e' N9 ?; Q
4 c6 w2 R: I9 {% j& _9 `
13. 让自己再专业点——由编码规范说起的PEP这个东西& c6 H( V: ?2 t, r4 ]6 n+ B( M
编码规范PEP8
$ P* E1 a7 B6 [' x 编程之禅import this
3 T% `& O! @" |4 w; u/ K$ l) _ 各种PEP
' B, z1 O6 b c, Q8 ?, C2 m5 G! w( r" |% i
13. 标准库. 库基础:os库,io库,网络库
7 p/ C9 F3 O6 m# x8 c* o 编程不可避免的操作:输入和输出. m$ x2 T. n# U. ^
操作系统文件6 F6 ?9 U. _8 ~* r/ H
操作网络5 A; o' G$ x3 G. w/ @
! Y! t1 C" D* b) o( y% C/ }
14. 脚本实践1 l1 k# x% W% e1 X1 u
网站爬虫
8 B3 S" N9 l* ?4 C, X- A 系统资源监控程序& g5 L0 A9 G4 k2 @' j, }
发送电子邮件
( u6 t, p% o! q 命令行局域网聊天工具
. ]* ?( A \8 { ^: X3 Y) J; n8 N1 r3 c* Z) R! F
15. 初始Web开发
% L+ R, D) ~+ D 什么是Web开发. [( ^' c+ a8 P1 p! x# V* k2 r
HTTP协议5 l) S, [% p# {. S6 t
WSGI介绍& Q* L7 Q9 O2 z# n( [; l4 U
HTML介绍
, ?" p8 O$ i0 U 两个简单的Web程序——基于socket和基于内置库
a, P7 g4 ]% u( T" V2 V7 t" g 数据库介绍
- Y3 P5 T* K' t4 P1 B- n+ x$ |$ ~! v. B
16. 附加:浅尝Django
8 O# @& b9 g, e/ M% n" d% k 15分钟能写一个Blog?! h X, W) C. _* i V
各模块讲解
2 n" } L7 r" Y% K3 ]5 _6 P+ Q% a& [# }' T6 O9 a* l& d, Z! W9 V
I2 R2 S$ N) }$ c
2 N9 B8 b0 A. B# b! G4 i$ [
, Z- r5 Q5 B6 w- B# m; K
, ]8 m9 [; o& V; i: u, X, R" \3 p9 P( t. {
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见' C2 \5 z) ^3 r# V2 W8 e
2 h8 a6 ~ e, U
: ]; ^$ Z# ]9 }
9 e4 p: ^" ?. v/ K2 o4 m) O本资源由Java自学网收集整理【www.javazx.com】 |
|