Python主页一进去用了五段代码简单展示了这种语言的特性,其中有一段代码吸引了我的注意
def fib(n):
a,b = 0,1
while a < n:
print(a,end=" ")
a,b = b,a+b
fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
这段代码是用来求Fibonacci数列,其中输出的是a值的变化,但其中赋值式
a,b = b,a+b
有两个数在同时赋值而且a值的改变不影响b的改变。同时我也在C++尝试了同样的写法,结果输出为0,也就是c++不支持这种写法。
#include <iostream>
using namespace std;
int main()
{
int a=0,b=1;
while (a<1000)
{
cout<<a<<" ";
int temp = a+b;
a = b;
b = temp;
}
}
在c++中与上面式子等价的是这段代码,看得出来c++需要一个中间变量来储存a+b的值,因为c++是顺序执行的,值会变化。但是在python中,b,a+b先变成了一个元组,即(b,a+b),a和b再分别和这个元组的相应位置相互匹配赋值,这样a+b这个中间值就存起来了,这比c++显得更加的简洁。
f = fib
f(1000)
如果把上面的python函数改一下,让f等于这个fib函数,那么同样f(1000)也能输出结果,根据官方的文档说这是函数的重命名,这个特性c++是没有的,而且函数中1000这个参数是作为一个对象引用传递的而不是值传递,这在c++要加引用符号&。
总的来说python相对于c++有很多比较简洁、方便的地方,有些操作很有趣。
----------------------------------------------------------------------------------------------------------------------------------
Python在日常生活中还有很多用处,比如说使用爬虫来找到一些资料和数据而不用手动录入。例如使用爬虫爬取网上一些图片并将其设置为桌面壁纸。另外我知道python也可以写游戏,去年一个免费的恐怖游戏《Doki Doki Literature Club》就是使用python2.7写出来的。
作为一个python大神再加上美工,后期等等可能这个小团队就能写出一个好玩的游戏。对我来说目标可能只是写一个小游戏,类似于小时候玩过的坦克大战可能比较简单,毕竟写一个metagame的代码量可能一学期都写不完。