[Dive into Python:]第一个 Python 程序程

[Dive into Python:]第一个 Python 程序

2016-09-10 [Dive into Python,Chapter 2:第一个Python程序]

def buildConnectionString(params):
    """Build a connection string from a dictionary of parameters.

    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)

def buildConnectionString(params):
首先,函数以 def 开头,紧接着是函数名(buildConnectionString),然后是括号中的参数,当函数需要多个参数时,使用都好隔开。再就是一个冒号,表示函数实体的开始。
其次,函数没有定义返回的数据。Python不需要指定返回值的类型,甚至不需要指定是否有返回值。如果函数执行过return,则返回指定值,否则返回None.

docstring:
在函数的第一行,用三个双引号包含的string,为此函数的doc string。可以使用函数名.__doc__来查看。如:print buildConnectionString.__doc__

if 语句:
__name__是一个魔术字符,如果文件不是被其他py文件调用,而是自己执行,__name__就为”__main__”

myParams = {…}语句:
定义一个字典,其中的”\”和C语言一样,表示续行符。一下语句与实例等同:
myParams={“server”:”mpilgrim”, “database”:”master”, “uid”:”sa”, “pwd”:”secret” }
myParams = dict(server=”mpilgrim”, database=”master”, uid=”sa”, pwd=”secret” )

return 语句:

return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
params.items():返回一个数组对象,内容为:[('pwd', 'secret'),('database', 'master'),('uid', 'sa'), ('server', 'mpilgrim')]
for k,v in...:表示使用键值对遍历上面的数组
取值之后,再对取得的键值进行格式化,join语句中的结果将是:
[('pwd=secret'),('database=master'),('uid=sa'), ('server=mpilgrim')]
";".join:把“;”插入list的键值对之间。

**

模块的导入与搜索路径:

**
将上面的代码写入odbchelper.py文件,在同一目录下,新建importODB.py,并写入如下代码:

import odbchelper
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
print odbchelper.buildConnectionString(params)
print odbchelper.buildConnectionString.__doc__

import odbchelper:导入odbchelper模块,可以通过odbchelper.func来调用该模块的函数。

import sys          #导入 导入 sys 模块,使得它的所有函数和属性都效。 Python 将搜索这些目录 (按顺序) 来查找一个与您正试着导入的模块 来查找一个与您正试着导入的模块名相匹配的.py文件
sys.path            #打印path值
sys.path.append("new_sys_path") #追加新的Python搜索路径

__name__:
当模块直接运行的时候,__name__的值为__main__。否则一般为模块的文件名。经测试,2.7的__name__在其他模块中调用的时候,为该文件的文件名(模块名),不带格式,不带路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值