Python解释器启动
一,python[options][-c cmd | filename | - ] [args]
选项 描述
-3 启用将从python 3中删除或更改某些功能的警告
-B 阻止在导入时创建.pyc或.pyo文件
-E 忽略环境变量
-h 打印所有可用命令行选项的列表
-i 在程序执行后进入交互模式
-m module 以脚本的形式运行库模块module
-O 优化模式
-oo 优化迷失,在创建.pyo文件时删除文档字符串
-Qarg 指定Python2找那个除法运算符的行为,值为-Qold(默认值),-Qnew,-Qwarn或-Qwarnall之一
-s 阻止将用户站点目录添加到sys.path
-S 阻止包含site初始化模块
-t 报告关于不一致的标签使用警告
-tt 由于不一致的标签使用而导致TabError异常
-u 未缓冲的二进制stdout和stdin
-U Unicode字面量,所有字符串字面量都以Unicode形式处理(仅在Python2中使用)
-v 详细模式,跟踪导入语句
-V 打印版本号并退出
-x 跳过源程序的第一行
-c cmd 以字符串形式执行cmd
环境变量 描述
PythonPath 以后号分隔的模块搜索路径
PythonStartup 在以交互方式启动时执行的文件
PythonHome Python安装的位置
Pythonsopect 相当于-i选项
PythonBufferd 相当于-u选项
PythonToencoding 针对stdin,stdout和stderr的编码和错误处理。这是一个encoding[:errors]形式的字符串,如utf-8或utf-8:ignore
PythonDontWriteByteCode 相当于-B选项
PythonOptimize 相当于-O选项
PythonNouserSite 相当于-s选项
PythonVerBose 相当于-v选项
PythonUserBase 每个用户站点包的根目录
PythonCaseoK 指示为导入所使用的模块名称使用不区分大小写的匹配方式。
Python 代码的测试,调试与探查
一,如果函数,类或模块的第一行是一个字符串,这个字符串就称为文档字符串(docstrings)
二,内置函数help()或对象的默认方法__doc__可以显示这些文档字符串
def Sum(num1,num2):
“”"the sumary of num1 and num2.sum(2,5)
7sum(12,77)
89
“”"
return num1 + num2help(sum)
help on function sum in module main:
Sum(num1,num2)
the sumary of num1 and num2.Sum(2,5)
7Sum(12,77)
89
Sum.doc
‘the sumary of num1 and num2.\n\t>>> Sum(2,5)\n\t7\n\t>>> Sum(12,77)\n\t89\n\t’
doctest模块
一,doctest模块允许在文档字符串内嵌入注释以显示各种语句的期望行为,尤其是函数和方法的结果
1,此处的文档字符串看起来如同一个交互式shell会话
2,可用于测试文档是否与程序主体保持同步,或基于文档对程序本身做测试
自定义模块test:
#!/usr/bin/python
def add(num1,num2):
“”">>> add(12,43)
55
“”"
return num1 + num2
注意:"""的缩进跟其它缩进保持一致
使用doctest模块进行测试
>>> import test
>>> import doctest
>>> doctest.testmod(test)
TestResults(failed=0,attempted=1)
>>> doctest.testmod(test,verbose= True)
Trying:
add(12,43)
Expecting:
55
ok
doctest模块
一,创建可自测试的模块
1,在模块的尾部添加如下代码即可
·if name == ‘main’:
import doctest
doctest.testmod()
2,此类模块在python解释器中直接运行时即能进行自我测试
例如:
[root@Mymaster /]# vim test.py
#!/usr/bin/python
def add(num1,num2):
“”" >>> add (12,43)
55
“”"
return num1 + num2
if name ==‘main’:
import doctest
doctest.testmod()
[root@Mymaster /]# ./test.py
File “./test.py”, line 4, in main.add
Failed example:
add (12,43)
Expected:
55
Got:
55
1 items had failures:
1 of 1 in main.add
Test Failed 1 failures.
[root@Mymaster /]# python test.py
File “test.py”, line 4, in main.add
Failed example:
add (12,43)
Expected:
55
Got:
55
1 items had failures:
1 of 1 in main.add
Test Failed 1 failures.
[root@Mymaster /]#