易语言与python
① 易语言好用还是python语言好用
当然是python好用了,不论是易还是python都不可以编写手机软件python对中文支持不好,这个不好办,不过网上很多相关解决方法的。=====================================================本文原创,如需转载,请注明出处。在本文中,以'哈'来解释作示例解释所有的问题,“哈”的各种编码如下: 1. UNICODE (UTF8-16),C854; 2. UTF-8,E59388; 3. GBK,B9FE。一、python中的str和unicode
一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢?在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为u'\u54c8\u54c8'而str,是一个字节数组,这个字节数组表示的是对unicode对象编码(可以是utf-8、gbk、cp936、GB2312)后的存储的格式。这里它仅仅是一个字节流,没有其它的含义,如果你想使这个字节流显示的内容有意义,就必须用正确的编码格式,解码显示。例如: 对于unicode对象哈哈进行编码,编码成一个utf-8编码的str-s_utf8,s_utf8就是是一个字节数组,存放的就是'\xe5\x93\x88\xe5\x93\x88',但是这仅仅是一个字节数组,如果你想将它通过print语句输出成哈哈,那你就失望了,为什么呢?因为print语句它的实现是将要输出的内容传送了操作系统,操作系统会根据系统的编码对输入的字节流进行编码,这就解释了为什么utf-8格式的字符串“哈哈”,输出的是“鍝埚搱”,因为'\xe5\x93\x88\xe5\x93\x88'用GB2312去解释,其显示的出来就是“鍝埚搱”。这里再强调一下,str记录的是字节数组,只是某种编码的存储格式,至于输出到文件或是打印出来是什么格式,完全取决于其解码的编码将它解码成什么样子。这里再对print进行一点补充说明:当将一个unicode对象传给print时,在内部会将该unicode对象进行一次转换,转换成本地的默认编码(这仅是个人猜测)二、str和unicode对象的转换
str和unicode对象的转换,通过encode和decode实现,具体使用如下: 将GBK'哈哈'转换成unicode,然后再转换成UTF8三、Setdefaultencoding
如上图的演示代码所示:当把s(gbk字符串)直接编码成utf-8的时候,将抛出异常,但是通过调用如下代码:import sysreload(sys)sys.setdefaultencoding('gbk')后就可以转换成功,为什么呢?在python中str和unicode在编码和解码过程中,如果将一个str直接编码成另一种编码,会先把str解码成unicode,采用的编码为默认编码,一般默认编码是anscii,所以在上面示例代码中第一次转换的时候会出错,当设定当前默认编码为'gbk'后,就不会出错了。至于reload(sys)是因为Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入。四、操作不同文件的编码格式的文件
建立一个文件test.txt,文件格式用ANSI,内容为:abc中文用python来读取# coding=gbkprint open("Test.txt").read()结果:abc中文把文件格式改成UTF-8:结果:abc涓�枃显然,这里需要解码:# coding=gbkimport codecsprint open("Test.txt").read().decode("utf-8")结果:abc中文上面的test.txt我是用Editplus来编辑的,但当我用Windows自带的记事本编辑并存成UTF-8格式时,运行时报错:Traceback (most recent call last):File "ChineseTest.py", line 3, in print open("Test.txt").read().decode("utf-8")UnicodeEncodeError: 'gbk' codec can't encode character u'\ufeff' in position 0: illegal multibyte sequence原来,某些软件,如notepad,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。因此我们在读取时需要自己去掉这些字符,python中的codecs mole定义了这个常量:# coding=gbkimport codecsdata = open("Test.txt").read()if data[:3] == codecs.BOM_UTF8:data = data[3:]print data.decode("utf-8")结果:abc中文五、文件的编码格式和编码声明的作用源文件的编码格式对字符串的声明有什么作用呢?这个问题困扰一直困扰了我好久,现在终于有点眉目了,文件的编码格式决定了在该源文件中声明的字符串的编码格式,例如:str = '哈哈'print repr(str)a.如果文件格式为utf-8,则str的值为:'\xe5\x93\x88\xe5\x93\x88'(哈哈的utf-8编码)b.如果文件格式为gbk,则str的值为:'\xb9\xfe\xb9\xfe'(哈哈的gbk编码)在第一节已经说过,python中的字符串,只是一个字节数组,所以当把a情况的str输出到gbk编码的控制台时,就将显示为乱码:鍝埚搱;而当把b情况下的str输出utf-8编码的控制台时,也将显示乱码的问题,是什么也没有,也许'\xb9\xfe\xb9\xfe'用utf-8解码显示,就是空白吧。>_<说完文件格式,现在来谈谈编码声明的作用吧,每个文件在最上面的地方,都会用# coding=gbk 类似的语句声明一下编码,但是这个声明到底有什么用呢?到止前为止,我觉得它的作用也就是三个:
1.声明源文件中将出现非ascii编码,通常也就是中文;
2.在高级的IDE中,IDE会将你的文件格式保存成你指定编码格式。
3.决定源码中类似于u'哈'这类声明的将‘哈’解码成unicode所用的编码格式,也是一个比较容易让人迷惑的地方,看示例:
#coding:gbk
ss = u'哈哈'print repr(ss)print 'ss:%s' % ss将这个些代码保存成一个utf-8文本,运行,你认为会输出什么呢?大家第一感觉肯定输出的肯定是:u'\u54c8\u54c8'ss:哈哈但是实际上输出是:u'\u935d\u581d\u6431'ss:鍝埚搱为什么会这样,这时候,就是编码声明在作怪了,在运行ss = u'哈哈'的时候,整个过程可以分为以下几步:1) 获取'哈哈'的编码:由文件编码格式确定,为'\xe5\x93\x88\xe5\x93\x88'(哈哈的utf-8编码形式)2) 转成unicode编码的时候,在这个转换的过程中,对于'\xe5\x93\x88\xe5\x93\x88'的解码,不是用utf-8解码,而是用声明编码处指定的编码GBK,将'\xe5\x93\x88\xe5\x93\x88'按GBK解码,得到就是''鍝埚搱'',这三个字的unicode编码就是u'\u935d\u581d\u6431',至止可以解释为什么print repr(ss)输出的是u'\u935d\u581d\u6431'了。好了,这里有点绕,我们来分析下一个示例:#-*- coding:utf-8 -*-ss = u'哈哈'print repr(ss)print 'ss:%s' % ss将这个示例这次保存成GBK编码形式,运行结果,竟然是:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb9 in position 0: unexpected code byte这里为什么会有utf8解码错误呢?想想上个示例也明白了,转换第一步,因为文件编码是GBK,得到的是'哈哈'编码是GBK的编码'\xb9\xfe\xb9\xfe',当进行第二步,转换成unicode的时候,会用UTF8对'\xb9\xfe\xb9\xfe'进行解码,而大家查utf-8的编码表会发现,utf8编码表(关于UTF-8解释可参见字符编码笔记:ASCII、UTF-8、UNICODE)中根本不存在,所以会报上述错误。 本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/kiki113/archive/2009/04/10/4062063.aspx
② 你好大神就单纯的易语言和python多线程的话哪个效率更快呢
个人理解是python效率更高。因为python是脚本语言。易语言一定是需要先编译在执行,所以多一步效率相对低一些
③ 编程小白应该学python还是易语言还是其他
学习python,因为python语言的包容性很大,学习起来也比较容易,至少比C语言容易
④ 业余娱乐,是学python还是易语言
职坐标学易语言还是python,实战教学,名企实训,0基础4个月速成Python开发工程师!职坐标学易语言还是python,签约,毕业即就业,打造高薪Python工程师!
⑤ 可以用易语言设计gui,python写代码吗
理论上是可以的,可以嵌入一个python的解释器来被调用运行python的代码。
但是直接用python 设计GUI现写代码不是更好么。
python有多个GUI库的。
通常python自带一个简易的TKinter库,做个简单的窗口应用就够了。
wxPython是Python语言的另一套优秀的GUI图形库
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。
⑥ 易语言与Python哪个抢购好
易语言。
python适合做框架程序,就是把其他编程语言的程序组合起来。不要用python做太多行的代码,python不适合写超长程序。
易语言(EPL)是一种使用中文作为其程序代码的编程语言。它被称为“简易”,其创始人是吴涛。简易语言的早期版本的名称为E语言。其最早版本的发布可追溯到2000年9月11日。
⑦ python和易语言有什么相似之处
说道相似之处,还是先来看看不同之处:
python是脚本语言,可以用任何编辑器编写,即使是txt文档也可以。但易语言是IDE,也就是集成开发环境,当然如果你了解易语言的结构也可以直接用txt编写,但是必须放到易语言中运行。
python应用范围比较广,虽然易语言很容易就可以学会,但是因为性能等各种原因,就业前景不是很好,但是用来开发小工具很不错,现在也有相应的易语言游戏引擎可以帮助您开发游戏,或者使用优化很好的模块来优化易语言程序。
python是英文版的,易语言是中文的,易语言更容易学会,python学起来有一定的难度,但是功夫不负有心人,只要了解一定的语法结构,就能学会。
易语言其实就是IDE,之前看到有人说易语言就是一个VB翻译器,其内核都是VB的,但是我只是看到别人说,并不代表我的观点。而python就是一门纯正的编程语言。
相同之处:
都是可以开发程序的编程语言
都是需要写代码
都可以使用dll,当然python的功能更强大
其实还有很多,如果楼主觉得还不够,请追问。
如果楼主想要进入编程领域,我就说几点个人的小建议:
如果楼主想要进入编程领域,并且是想要一份可以赚钱的工作,但是时间很充足,就可以研究一下python,现在网上有很多的相关教程网站,比如菜鸟教程,慕课网等,也有很多相关书籍。
如果想要一份赚钱的工作,但是时间并不是很充足,比如正在待业,或者即将就业等,那就需要多下点功夫去学习编程语言,但是并不一定要学习python,可以学习一下其他的更容易掌握的语言比如java等。
如果楼主只是想体验软件开发,玩玩这种感觉,就可以从易语言开始,易语言虽然当前就业并不是多好,但是却可以很好的锻炼楼主的编程思维,有了编程思维,基本上学习编程就不难了。
如果楼主已经掌握其他的编程语言,想要转型或者想要学习更多的技术,当然要从python下手,然后再学习易语言。
如果楼主想要快速开发小工具,但是程序的质量并不需要多好,易语言是比较不错的选择。
⑧ 易语言和python比哪个更好更容易
虽然我很支持国产,但我不得不说,易语言一无是处,它甚至不能称为一门语言,顶多算个IDE工具。python是一门脚本语言,功能还不错,但目前还不能编写手机软件。编程中出现乱码是非常正常的,基本所有的编程语言,都会有中文乱码这个问题,这个问题大多出在出入口编码不一致这个问题上。
若是想做C/S
也就是桌面应用程序,建议学C(C/C++/C#),如果想做B/S
也就是WEB应用程序,建议学Java或者PHP
⑨ python简单还是易语言简单
一个是英文的,另一个是中文的,你说呢?
比如Python写个提示信息:
def showMsg(): #提示框
tkinter.messagebox.showinfo('提示', '信息内容')
tkinter.messagebox.showwarning('警告', '信息内容')
tkinter.messagebox.showerror('错误', '信息内容')
易语言写个提示信息:
信息框(“中文简单吗?”,#信息图标,“消息”,)
信息框(“中文简单吗?”,#警告图标,“消息”,)
信息框(“中文简单吗?”,#错误图标,“消息”,)
那个语言简单些,你觉得呢?