1.基础知识类
基础课程的课程清单
Python基础 7weeks
数据类型,流程控制,常用模块
函数,迭代器,装饰器
面向对象
网络相关部分编程 4~5weeks
socket编程
生产者消费者模型
审计堡垒机系统的开发,WCGI的web基础开发
算法与设计模式
冒泡,二叉树,链表,哈希和图
Py Web框架
MVC,Django与Flask,权限管理开发
2. Python基本知识
指定一个Python的系统解释器
根据操作系统的不同,Windows和Linux指定系统解释器的方式并不相同。Windows中,需要把.py扩展名的文件关联到Python的程序,然后将python加入到环境变量中。Linux当中,除了要把python加入到系统变量中,还需要在py文件的第一行声明使用的解释器的位置。
#!/usr/bin/env python3 #!/usr/bin/python3 |
这两种写法都可以。第一种写法使用env去解析python3,需要用户确定系统命令env python3可以正常启动python解释器。第二条命令则hard code了python解释器的执行路径。根据不同的环境,可以灵活指定。
变量
一个在内存中存储数据的区段。变量提供了程序执行的中间结果或者中间状态,以便其他代码或者过程调用。所有的变量都必须先定义再调用。当一个变量名包含多个单词时,用下划线表示分隔,变量不能以数字开头,并且不能包括特殊字符。全大写的变量一般用于表示常量。
day_of_this_year = 213 year = 2016 |
变量的取名
任何的运算都应该有意义。预算代表了一个逻辑过程,除非必要,否则不应当用数值直接代替变量。下面例子是统计三天收入的例子。左侧的运算是有实际意义的,而右侧的运算,严格上讲,仅仅是算了数值运算。
day1 = 400 day2 = 350 day3 = 255 total = day1 + day2 + day3 |
a = 400 b = 350 c = 255 m = a + b + c |
输出的提示
print命令可以接受多个参数,在python的提示器里是这么说的:
print(value, ..., sep=‘ ‘, end=‘\n‘, file=sys.stdout, flush=False) |
如果要输出带有提示的信息,可以这样操作:
print (‘Your input message is:‘, your_input) |
字符集
字符集是用计算机显示字符的必经之路。标准的ASCII字符集当中,包括127个字符,包括特殊字符和英文字母,以及数字。通过表间映射的方式,产生了GB2312字符集。不同国家都有其各自的,基于ASCII的表间映射字符集。而后,通过扩展,单独发布了GBK大字符集,该字符集在Windows称为ANSI字符系统,包括21886个中文字符。二次扩展后得到GB18030字符集,包括27484个字符。成为国家强制标准。GB2312,GBK和GB18030都是双字节字符集,2Bytes,16bit。
为了实现所有字符集的大一统,人类开发了unicode字符系统,4Bytes,32bit长度,可以显示人类所有的文字。但是由于信息冗余量过大,unicode缩减为utf-16和utf-8两套独立的系统。utf-16,定长字符集系统,用2Bytes,16bit进行显示;utf-8,变长字符集系统,英文字符按照ASCII存储,中文3Bytes,拉丁文字符2Bytes。
字符串
一重单引号或者双引号包括的,叫字符串;三重单引号或者双引号包括的,是多行字符串。多行字符串可以显示多个\n信息。
input-基本的用户交互
input([prompt]) -> string |
input可以输出一串字符串作为提示信息,以\n结束输入。因此,用户是可以输入空格的,这一点需要注意。
字符串的拼接
字符串可以通过‘+’运算进行拼接。当需要进行字符串的变量合并的时候,可以用%进行占位,并通过元组进行填充:
‘String1 is %s and string2 is %s‘ % (string1, string2) |
流程控制
Python中,同一级别的代码的缩进必须保持一致,一个空格,一个tab或者四个空格都ok。
if condition: working something else: working something |
type()查看当前对象的类型,isinstance()用来对类型做测试。