这是一个完整的, 可执行的 IronPython程序。IronPython程序完全兼容Python,所以学习IronPython必须从Python脚本特性学起.

这是一个完整的, 可执行的 IronPython程序。

它可能对您来说根本无法理解。别着急, 我们将逐行的进行剖析。不过首先把代码通读一遍, 看一看是否有些可以理解的内容。

例2.1  first.py 这个程序来自IronPython的例子,添加了一点内容

def add(a, b):
"add(a, b) -> returns a + b"
return a + b
def factorial(n):
"factorial(n) -> returns factorial of n"
if n <= 1: return 1
return n * factorial(n-1)

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()])
hi = "Hello from IronPython!"

if __name__ == "__main__":
myParams = {"server":"shanyou.zhang", \
"database":"pubs", \
"uid":"sa", \
"pwd":"secret" \
}
print BuildConnectionString(myParams)
print add(hi,"Zhangshanyou")
print factorial(100)

现在运行一下这个程序, 看一看结果是什么。在命令行中切换到Tutorial目录,执行命令ipy first.py

first.py输出的结果如下:

server=shanyou.zhang;database=pubs;uid=sa;pwd=secret
Hello from IronPython!Zhangshanyou
93326215443944152681699238856266700490715968264381621468592963895217599993229915
608941463976156518286253697920827223758251185210916864000000000000000000000000


与其它大多数语言一样IronPython 有函数, 但是它没有像 C++ 一样的独立的头文件;或者像 Pascal 一样的分离的 interface/implementation

def BuildConnectionString(params):
首先, 函数声明以关键字 def

其次, 函数没有定义返回的数据类型。 IronPython 不需要提定返回值的数据类型;甚至不需要指定是否有返回值。实际上, 每个 IronPython 函数都返回一个值;如果函数执行过 return 语句, 它将返回指定的值, 否则将返回 None

最后需要指出的是, 在 IronPython 中参数, params

可以通过给出一个 doc string


例 2.2. 定义 BuildConnectionString 和factorial函数的 doc string
def factorial(n):
      "factorial(n) -> returns factorial of n"
def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.

Returns string."""

单个引号表示一个单行字符串,三重引号表示一个多行字符串。在开始与结束引号间的所有东西都被视为单个字符串的一部分, 包括硬回车和其它的引号字符。您可以在任何地方使用它们, 但是您可能会发现它们经常被用于定义 doc string


三重引号也是一种定义既包含单引号又包含双引号的字符串的简单方法。

在三重引号中的任何东西都是这个函数的 doc string, 它们用来说明函数可以做什么。 如果存在 doc string, 它必须是一个函数要定义的第一个内容( 也就是说, 在冒号后面的第一个内容 )。 在技术上不要求给出函数的 doc string, 但是您应该这样做。我相信在您上过的每一种编程课上都听到过这一点, 但是 IronPython 带给您一些额外的动机: doc string 在运行时可作为函数的属性。

​第一个IronPython程序(之二)​​​
​​​第一个IronPython程序(之一)​​​
​​​安装 IronPython​