|
课程大纲:
& R3 r* H" S6 J; z; t8 O2 S) d9 U% L) S- g9 t0 D4 l
0. 课程介绍及聊聊编程:
+ B- u" I/ B( L( z2 d R- @5 m 讲师介绍$ N5 F8 T' b& T( Y" C& G
课程目标5 t& I& a& z, u3 P1 v4 L. V s
为什么有编程5 i$ e. ^ _9 Q$ t$ k' o" }
编程是什么1 E, @' ]( D0 F1 Q
怎么编程
! \( {+ ]( E+ d# |
% x: X$ G# m4 [" u- C1. 背景介绍: X8 F9 n @. m" d9 D9 `
Python的诞生
/ D+ [, p: K4 {# ?% \& k Python近期的发展 j0 O8 \- V9 D# [. M/ L, w5 t
Python的应用范围
* [5 h6 {7 V& D; V5 i3 S9 q 什么是脚本语言
3 `$ T3 y9 w* z; Y2 i1 o3 C( N 关于CPython
! \2 m( S5 v2 R$ [ 2和3的差别
4 [/ c& ~" r$ Q5 g) f4 N7 k 社区状态
( b1 _( r: ?3 O9 w+ ^: H 如何查找资料2 U* g4 }; p6 s0 E$ G
如何混社区) `+ {5 Q$ f4 t- [1 V. K3 ], d
到哪问问题$ w0 O5 L2 j- Y& p
8 R4 u' u& @2 S. K; ?
课后练习:! H0 O, `) x" e
Python有多少种实现版本,分别是什么?基于什么运行。各自优缺点5 ^; A. K W0 V* \/ Q4 M
交流Python的中英文社区有哪些? z" x/ }, M$ \9 P) v
国内外有哪些基于Python的大型网站?# }* H* |& M/ j7 M. }
- x P7 A- |: H/ @
2. 安装:
/ y- n6 ~ m/ E$ S9 Z2 P" q python包管理器 pip 安装
2 p9 Z& W6 p6 j/ C. T3 Q9 a2 ? 不同版本的安装,基于用户7 I8 I+ p; ?) s8 L" @2 b
pyenv的使用
' ?. Q3 z F* T python shell的使用,目前的各种shell * x1 q. W- L# ~# q/ Y* Q" t
M2 O9 Y3 C$ c# r课后练习:安装各种shell进行尝试,说出各种shell的特点。/ T* p$ d t. t7 Z& m+ Y
. y" Y! a% c# [" Q6 h7 v3. 编程热身:
, o6 W3 @# ]# |3 N0 S 变量定义
5 U u' A$ f* P& N1 W6 X 加减乘除计算,阶乘,
* O1 e. ]! K! J/ p 列表,元祖,字典,字符串操作,+ j( I) H! r/ T
if语句,for循环,while循环。
1 o! h, @' t. i* @0 @- M1 o( n# z9 ~( t& T) k5 v+ B* U4 `" h
先熟悉各种操作,不求甚解,只需要有个印象。
6 [4 m, n/ W9 ]4 {( O/ g9 a) h! ]5 j
课后练习:熟练实用python交互模式进行练习。
+ ]0 N/ X& S9 U) S; W& w" h5 f$ P6 n: e' E
4. 语言基础:4 K5 c2 \% {0 P3 T E
关键字6 O' Z: l5 s8 Q7 P/ e' n
变量定义,
( i. v! L6 e* W. B/ G7 j; Q 语法
6 s G8 x* Z/ N4 |$ i# H# W 流程控制2 C8 F7 m! b- _* }& L" B
首先了解有哪些关键字 每个关键字的用法 另外注意版本差别
9 Q+ {& Q* e7 M变量的概念
' v7 i5 t5 D. a+ Y/ R+ M定义变量, X, u( U+ E% J0 y9 ]
- `" H4 q$ p6 g( d3 v
几个例子:计算器,定时器,猜谜游戏。& ]3 r$ f2 i$ C. v" B
8 l6 j# \0 x" g9 J* C课后练习:
/ w, B" ?1 h. \7 D) B# M1 u1 A5 V
8 C" P% S& y7 Z9 j q5. 函数:
/ `3 R+ d- u* t 函数是什么/ B4 P; O. i7 V- _
为什么需要函数: }$ T7 W8 b$ E6 {
如何定义函数
S1 L$ {$ R1 I% t, r# q 函数参数说明:形参,实参,函数解析,* M2 O2 [) W9 F9 A; f" ^3 v
docstring是什么?专业的象征。
1 F6 }3 L% a2 k) M. y! |1 |) e
0 e* X4 {6 X4 z6. 数据结构:
4 f5 t8 d$ @1 j9 L' P 为什么要有数据结构
* C1 D7 a/ k: H list的使用
" L! M# t' {7 U4 R tuple的使用6 B( D; B/ q1 P! T
set的使用- z, v/ k1 L. w/ y6 _
dict的使用) w3 a: N- b+ J2 o" A
" _) H; g2 ]0 s4 c7. 模块(Modules):
) d& F2 ]& l9 ?" W8 y, ` 模块是什么
+ X% \' d( I* v c# y 怎么定义模块/ S7 f) G4 g. U" c$ ]" L8 K
怎么使用模块
2 P& g7 G4 C- h% B& b( d Python怎么查找模块
, }$ V9 O/ F0 _0 R% h# _ 介绍一个标准模块sys
) x! a& o4 e' v. J7 H- j 使用dir查看模块内容+ o: B# P p4 J- v2 M% [' j
控制模块对外接口 __all__0 j* K: ~( P3 |1 Z9 ?+ V2 i
2 e# d. x& |1 v+ R# K2 r1 n6 u
8. 包(Package):
. a; m) H' f& B) T( V# l6 k6 g1 t: Y 什么是包
5 g* q+ Q& `+ `7 j: M 如何使用. ?! L4 ^/ h7 i: y
3 X v0 \5 L/ q* T
9. 开始使用IDE
" h; q* Q/ f: i8 i) z+ c3 E9 _ 常用IDE介绍+ E: E. [4 \$ r" \7 z- V# z
IDE管理项目
. ]) a% J9 R" ^7 w+ [/ l IDE编写代码4 `7 w2 ~1 B4 J
IDE运行代码
! t7 y( |, k/ ?. F6 E) q6 n2 @3 i# I3 D f
10. 输入和输出:
( R$ n* }4 q! j& D4 `' D 什么是输入输出
) H+ h0 h3 |- k8 w 接受用户输入3 J' d, U7 h" h" d' B
输出内容
$ {" `" S! D* ^# Q 格式化输出内容) {; E5 V( Z' W1 B: }# \9 [
读取文件
3 @" z. ?8 E0 I' R" T) F3 r T 写入文件
1 e- n3 x1 x' o4 x, B: E0 f0 @: L0 {+ I9 W& ~9 V; d$ e
11. 错误和异常处理:
/ |( }- n# F6 R/ t3 Q& w1 n 为什么需要错误处理% G1 N* I: D/ R! F5 l
语法错误4 {0 Y. ~5 B0 K1 E; V
异常
) M. `6 x [5 Q. Q$ C 处理异常+ W5 }6 R- A% f6 M& |8 x* j
抛出异常5 m# Z* u& u2 \
用户自定义异常% `! z$ c- r: l$ O5 D
定义清理动作0 A) R' `9 R% ?2 V6 Z" j ~
预先定义清理动作+ w* w9 {: b7 d8 p
% p% P- ~" l2 {9 Q
12. 类(对象):
# d: z; L. R! r3 ^/ B 什么是面向对象
& d: w B6 Y, }8 E; G; h 为什么要面向对象
2 s' O. d& \- D Python中怎么定义对象' Z$ T/ _- w2 [$ O; R$ F G! u
Python的作用于和命名空间3 O) G' l E0 |4 O6 z/ A/ o H
细聊一下Class
) I% U2 b& H7 L9 } 继承和多重继承
7 f; b( [$ V& ]0 l( O 私有变量和类内引用4 [9 h; X1 L* b
动态添加类属性
: f2 u1 o. N0 t) [% K! `7 W 迭代器 u+ \- g: v8 `8 [8 i0 p9 q
生成器
8 q: u/ M0 ?# |+ L9 x 生成器表达式0 B; E: x! x0 Q0 e8 M
# `* Z3 M4 u; H/ j13. 让自己再专业点——由编码规范说起的PEP这个东西
% z; B7 k3 j8 ^* p 编码规范PEP8
- m; v$ i/ Q# w0 u% X* q 编程之禅import this& E0 }; ^# R6 ]' J( ? L* ~
各种PEP% N3 ?! O) S4 m8 z/ e3 ]' n* N
7 u) S, P5 ~' j2 ~. ?+ R) C
13. 标准库. 库基础:os库,io库,网络库
! Q9 Y" u0 s, \( J/ t5 U 编程不可避免的操作:输入和输出
* J! t0 t! ~) {5 |1 P! c 操作系统文件' d W7 ~/ r, C* p2 X3 e6 e
操作网络. }: I. m1 h+ J
4 _$ u" J3 H, F3 H0 h/ V14. 脚本实践4 B$ a/ L$ r0 I/ ?$ p* e/ h/ p
网站爬虫- G$ t/ H( ?1 l8 V; g( m7 Y
系统资源监控程序
$ d" B6 L' t2 a/ ?. j 发送电子邮件
8 b( s! t5 M8 S s- a8 l 命令行局域网聊天工具# ]) ^7 `5 I, ~3 ^
$ l+ K9 A& |5 O: a
15. 初始Web开发* k& O" }" Q1 U6 S# V$ i
什么是Web开发) E) A2 x7 a# K' O% C8 f" r! h; n) `
HTTP协议
9 T- e$ M h- p7 s) g3 s WSGI介绍
- O% [8 ~% y9 `6 U1 Y0 g2 J HTML介绍
7 D& A8 u8 H+ n0 T0 Q 两个简单的Web程序——基于socket和基于内置库% t/ V u* S) ?" ]. q- I6 n
数据库介绍
8 M! o" o( ]$ R/ m
# s9 E. D9 X2 ?) h% u5 H16. 附加:浅尝Django
8 p* G8 u3 e i2 d1 y 15分钟能写一个Blog?8 C8 o: y! Z; X( X- T/ q. g3 B7 p
各模块讲解1 j- z, W6 U H. m. p9 n
+ v" `1 G3 u$ M/ n" }- k/ {
$ D9 B. [& S2 f- |" t, q* W6 \+ c( k+ Z& T. y$ p" ^+ N
5 ]* j3 {7 O- L' I2 j+ d! q1 @/ R
7 G! K& ^; Y2 ]4 ^, o0 A
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见, @4 N+ h; P; V# U! v3 u, l$ F; m3 a! t6 _
7 X4 _1 |( B; V! `. V% J3 z+ T. g5 U% U$ n6 t, ^3 R( i" ~- j
( @; g- O* a! q6 Z7 k本资源由Java自学网收集整理【www.javazx.com】 |
|