当前位置:在线查询网 > 在线百科全书查询 > Python for s60

Python for s60_在线百科全书查询


请输入要查询的词条内容:

Python for s60


Python(KK 英语发音: /''pa?θɑn/, DJ 英语发音: /?paiθ?n/),是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。



简介


Python for s60是可以在诺基亚塞班S60系统上运行的Python 版本(基于Python 2.2.2)

虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,谷歌也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单编程任务的语言,如shell script、JavaScript等只能处理简单任务的编程语言,并不能与Python相提并论。

此外,由于Python对于C和其他语言的良好支持,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在谷歌内部的很多项目使用C++编写性能要求极高的部分,然后用Python调用相应的模块。

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。

就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

在编程语言中的定位


很多大规模软件开发计划例如 Zope,Mnet 及 BitTorrent. Google都在广泛地使用它。

通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

在实际开发中,python常被昵称为胶水语言,这不是说他会把你的手指粘住,而是说他能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面)进行Python for s60的开发

Python for s60的开发二


一、开发环境及安装

开发环境共又三个程序,分别为python for s60、PythonScriptShell和ped。python for s60是程序的运行环境,相当于java的虚拟机,PythonScriptShell为一个shell程序,主要负责人机交互,把用户输入的内容发送给内核执行同时把执行结果反馈给用户。而ped为python IDE环境(用python语言开发的python集成开发环境,有点绕口呵呵!!)我们以后的python脚本主要在这上面编写运行。

安装过程比较简单,首先运行python for s60,如果安装完成后没有发现程序图标请不要奇怪,因为作为程序运行环境它是不能与人直接交互的,因此也就不会有个图标让你来运行。然后安装PythonScriptShell,最后安装ped,整个开发环境就安装完成了。注意:在这里安装是有些人会说一定需要把python for s60以及相对应的python应用程序(如ped)安装到C盘,其实不然,我们只需将python for s60以及相对应的python应用程序安装到相同的盘符下即可,如python for s60安装到C盘,python应用程序也需要安装到C盘,同理也可安装到E盘(如果提示证书过期请把手机时间前调半年)(如图1)

文本如:IDLE(Integrated Development Environment,集成开发环境),

移动终端和PC间的连接(红外、蓝牙无线技术、USB,GSM或UMTS蜂窝连接)

向S60 SDK安装Python for S60 您可以向所有获支持的SDK版本分别安装Python模拟器和范例脚本。请选择下面的安装器:

Python or60_1_2_for_2ndEd_FP1_SDK.zip – 针对SDK version 2.1的安装器

Python orS60_1_2_for_2ndEd_FP2_SDK.zip– 针对SDK 2nd Edition, Feature Pack 2的安装器

PythonForS60_1_2_for_2ndEd_FP3_SDK.zip – 针对SDK 2nd Edition, Feature Pack 3的安装器

PythonForS60_1_3_17_SDK_3rdEd_selfsigned.zip – 针对SDK 3rd Edition的安装器

启动安装器程序并按照指示操作,安装器会询问客户文档和工具所安装的文件夹位置,它和所有SDK版本一样都在同一个目录。

二、python开发环境

先打开python,点选项--runscript,程序内置了几个demo小程序,可以试着运行一下。运行以后有些windows变成老鸟可能就会发现它仅仅提供了执行脚本的功能,既不能编写脚本又不能对错误的脚本返回错误信息。要想真正脱离电脑,用手机来编写脚本程序,就要用到ped。打开软件,点选项--file-new--python就创建了一个空白的python脚本文件,在这里面就可以编写脚本程序了。有时候我们可能想测试一句脚本的效果,或者想将一整段脚本一句一句运行(类似于单步执行),我们可以使用python shell模式,打开选项--python shell即可进入python shell模式。基本上编写脚本就运用到上述内容,未介绍的在脚本编写过程中有介绍。(注意:对于该环境不是太熟悉的读者请尽量不要更改settings中的内容,否则可能无法正常执行程序)

(由于在symbian系统中字符编码比较特殊,有些看着完全相同的字符,可能编码并不相同,如果含有这种字符的脚本在手机上执行可能会有意想不到的效果,因此安有其他输入法的用户一定要把输入法切换为系统自带的输入法,同时对于特殊字符一定在abc状态下输入)

三、手机端编写python

1、(1)首先我们编写一句最简单的hello world脚本:

建立空白python脚本文件输入:

print\\"hello\\"

然后点选项--run,效果如图2 [attach]1448667[/attach]

注意:在python中判断是否为一段语句的方法和c语言不同,c语言是同过判断是否有“;”,而python则是看一句脚本是否换行,如果换行则认 为是两句,因此python中每句句末是没有“;”的。

(2)创建一个具有图形界面的hello world脚本:

import appuifw

appuifw.note(u\\"hello\\",\\"info\\")

执行,效果如图3所示。 [attach]1448668[/attach]

appuifw是symbian提供的一个API函数库,主要包含一些输入输出函数,而import appuifw则说明后续脚本中使用到了appuifw库中的函数, appuifw.note(u\\"*****\\",\\"info\\")的效果为弹出一个信息提示窗口,星号为你想输出的内容。

3、创建一个单输入区对话框:appuifw.query()

appuifw.query(label,type)

创建文本:

appuifw.query(u\\"what is your name\\", \\"text\\")

执行效果如图4 [attach]1448669[/attach] [attach]1448670[/attach]

数字:appuifw.query(u\\"Typing your number:\\", \\"number\\")

日期:appuifw.query(u\\"Typing a date:\\", \\"date\\")

时间:appuifw.query(u\\"Typing a time:\\", \\"time\\")

密码: appuifw.query(u\\"Typing a code:\\", \\"code\\")

询问:appuifw.query(u\\"Are you ok:\\", \\"query\\")

Python for S60


S60 3rd Edition终端强制实施平台安全。这意味着,所有SISX文件的安装都需要经过事先认证。软件安装器将检查SISX包中的应用是否经过认证。有关认证方面的更多信息请参阅“认证与分发”一节。平台安全的基本概念是''capability'',这一术语指出正在终端中运行的进程能做什么。由于标准Python for S60应用与某个本地应用并无差别,它们都运行于某个独立的线程,如果它使用了一些受控的API或通过SISX包发行,就必须经过认证。一个Python独立应用的功能受限于分配给解释器DLL的capabilities。“认证与分发”一节中列出了这些capabilities。换句话说,这是使用诺基亚签名的Python for S60的所有Python应用的上限。如有需要,当然也可以为某些特殊目的以更大的capabilities对Python解释器DLL进行认证签名,但这不在本文讨论范围内。作为从终端主菜单看到的Python应用,脚本shell也需要经过认证。脚本shell不会让脚本程序以比自己大的capabilities运行,因而也就不会被诺基亚授予与解释器DLL同等的capabilities。这并不会影响开发工作,因为开发者可以用开发伙伴证书对脚本shell进行认证。由于需要对解释器DLL和脚本shell进行分别认证,就需要两个包(''X''表示版本号): PythonForS60-X_X_X_3rded.SIS – 含有解释器DLL、诺基亚提供的所有本地Python扩展和其他需要的文件;PythonScriptShell-X_X_X_3rded.SIS – 含有脚本shell应用,需要与上面的包一起运行。

开发伙伴们需要牢记的是:脚本shell只是一个普通应用,类似于您用py2sis包装了一个应用,必须遵循上文讲述过的那些安全先决条件。解释器DLL用于所有标准的Python应用,但为使一些Python应用能尽可能自由地访问受控资源,解释器DLL这一实体需要用更大的capabilities集合来认证。

相关分词: Python for s60 60