Dive into python 实例学python (1) —— 函数和测试
odbchelper.py
def buildConnectionString(params):
"""Build a connection string from a dictionary Returns string.
"""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()]) if __name__ == "__main__":
myParams = {"server":"mpilgrim", \
"database":"master", \
"uid":"sa", \
"pwd":"secret"
}
print buildConnectionString(myParams)
1、'''...'''是docstring
2、join()函数是连接字符串,这里用";"分号来连接,参数是字符串列表list。
测试代码:
odbchelpertest.py
import unittest
import odbchelper class GoodInput(unittest.TestCase):
def testBlank(self):
"""buildConnectionString handles empty dictionary"""
self.assertEqual("", odbchelper.buildConnectionString({}))
def testKnownValue(self):
"""buildConnectionString returns known result with known input"""
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
knownItems = params.items()
knownItems.sort()
knownString = repr(knownItems)
result = odbchelper.buildConnectionString(params)
resultItems = [tuple(e.split("=")) for e in result.split(";")]
resultItems.sort()
resultString = repr(resultItems)
self.assertEqual(knownString, resultString) class BadInput(unittest.TestCase):
def testString(self):
"""buildConnectionString should fail with string input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, "") def testList(self):
"""buildConnectionString should fail with list input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, []) def testTuple(self):
"""buildConnectionString should fail with tuple input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, ()) if __name__ == "__main__":
unittest.main()
Dive into python 实例学python (1) —— 函数和测试的更多相关文章
- Dive into python 实例学python (2) —— 自省,apihelper
apihelper.py def info(object, spacing=10, collapse=1): """Print methods and doc strin ...
- Python必学Django框架,入门到精通学习视频教程全都在这可以领
“人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!? 据说Django还是由吉普赛的一个吉他手的名字命名的呢,有 ...
- 通过游戏学python 3.6 第一季 第三章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码 import random secrst = random.rand ...
- 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数 #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile
通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...
- 通过游戏学python 3.6 第一季 第八章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数
通过游戏学python 3.6 第一季 第八章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账 ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
随机推荐
- vi 整行 多行 复制与粘贴
vi编辑器中的整行(多行)复制与粘贴就非常必要了. 1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制: 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按 ...
- Android获取手机制作商,系统版本等
在开发中 我们有时候会需要获取当前手机的系统版本来进行判断,或者需要获取一些当前手机的硬件信息. android.os.Build类中.包括了这样的一些信息.我们可以直接调用 而不需要添加任何的权限和 ...
- random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串
openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...
- Http响应code
Http响应报文 HTTP响应也由三个部分组成,分别是:状态行.消息报头.响应正文. 其中,HTTP-Version表示服务器HTTP协议的版本:Status-Code表示服务器发回的响应状态代码:R ...
- 横屏EditText问题
给edittext 加属性android:imeOptions="flagNoExtractUi"
- Oracle横向纵向汇总
Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80 001 张三 数学 86 001 张三 英语 75 0 ...
- Dynamics AX Read OLEDB
static System.Data.DataTable getOLEDB_Record(str _dbPath,str _query) { System.Data.OleDb.OleDbConnec ...
- js获取div中的文本框数据
通过div得到div里的所有数据 大神的世界无需解释,当然不是说我,当我看到这些代码的时候我惊呆了! 这是一个工具方法js: js: /* * 获取指定对象下的所有input.textarea值 * ...
- iOS获取设备型号、设备类型等信息
摘自 :http://www.mamicode.com/info-detail-1165460.html 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然 ...
- sqlserver 在脚本中,为所有字符前没有N标记的字符增加N
{[^N]}{'[\u4e00-\u9fa5]|[\u4e00-\U9fa5]|[0-9]|[A-Z]} \1N\2