python 如何返回多个值
如何写一个返回多个值的函数
函数的return 语句只能返回一个值,可以是任何类型。
因此,我们可以“返回一个 tuple类型,来间接达到返回多个值
”。
例: x 除以 y 的余数与商的函数
def F1 ( x, y ):
a = x % y
b = (x-a) / y
return ( a,b ) # 也可以写作
return a, b
(c, d )= F1( 9, 4) # 也可以写作 c , d
= F1 ( 9, 4 )
print c ,d
结果显示: 1, 2
Python
与大多数其它语言一样有局部变量和全局变量之分, 但是它没有明显的变量声明。变量通过首次赋值产生, 当超出作用范围时自动消亡。
例 3.17. 定义 myParams
变量
if
__name__ == "__main__"
:
myParams = {"server"
:"mpilgrim"
, \
"database"
:"master"
, \
"uid"
:"sa"
, \
"pwd"
:"secret"
\
}
首先注意缩进。 if
语句是代码块, 需要像函数一样缩进。
其次, 变量的赋值是一条被分成了多行的命令, 用反斜线 (“\
”)
作为续行符。
当一条命令用续行符 (“\
”) 分割成多行时,
后续的行可以以任何方式缩近, 此时 Python
通常的严格的缩近规则无需遵守。如果您的 Python
IDE
自由对后续行进行了缩近, 您应该把它当成是缺省处理, 除非您有特别的原因不这么做。
严格地讲, 在小括号, 方括号或大括号中的表达式 (如 定义一个 dictionary
) 可以用或者不用续行符 (“\
”) 分割成多行。甚至在不是必需的时候,
我也喜欢使用续行符, 因为我认为这样会让代码读起来更容易, 但那只是风格的问题。
第三, 您从未声明过变量 myParams
, 您只是给它赋了一个值。这点就象是 VBScript
没有设置 option
explicit
选项一样。幸运的是, 与 VBScript
不同的是, Python
不允许您引用一个未被赋值的变量,
试图这样做会引发一个异常。
3.4.1. 变量引用
例 3.18. 引用未赋值
的变量
>>>
x
Traceback (in
相关文档:
用Python实现简单的遗传算法
2010-02-15 14:00
这几天一直在用Python写一个简单的遗传算法,好自己拿来实验。断断续续的折腾了几天,今天下午终于写了一个简单的出来。整个代码还是仿照《游戏编程中的人工智能技术》中的代码来写的。如果想简单的学习一下遗传算法以及简单应用《游戏编程中的人工智能技术》是不错的选择。 ......
windows下
1 下载python安装包, 一路下去安装
2 下载mysqldb安装
3 下载django文件, dyango-admin.py install 完成
-----如果启动后报错import error: dll load failed. 需要在site-package下增加dll: libguide40.dll libmmd.dll libmySQL.dll
创建应用后, manage.py 的program argument中应 ......
David 在本文中将带领我们了解一下 setuptools 框架,它是 Python Enterprise Application Kit(PEAK)的一个副项目。 setuptools 替换了标准的 distutils 库,并为 Python 添加了版本化的包和依赖性管理。Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的 ez_setup 工具和随之而生的扩展后的 eas ......
PLY模块 是Lex/YACCPython 的实现,可以用来实现词法分析/语法分析,但如何用,还没研究,以后有时间再研究吧;
主页: http://www.dabeaz.com/ply/
pycparser模块 是使用PLY模块分析c语言语法的模块,没什么文档,但模块自带了例子和测试用例。
主页: http://code.google.com/p/pycpa ......
python的C、c++扩展
http://blog.chinaunix.net/u3/110228/showart_2148725.html
python的强大不仅表现在其功能上,而且还表现在其扩展能力上。
使用C/C++很容易编写python的模块,扩展python的功能。
同时将性能要求比较高的代码使用C/C++编写,能更好的弥补
脚本语言执行速度慢的缺陷。
1. python的C语言扩展
1.1 ......