学习python。linux和win。系统下有区别吗?

玩具棒棒冰


虽然从Linux和Windows系统的角度来看差别很大,但是从Python的角度来看,区别并不大,因为Python相当于在操作系统的层面上做了一层抽象,如果你学过设计模式,这个就和Adapter类似。

Python语言本身有自己的一套标准,这个和系统无关,只是在不同的系统上实现起来不同罢了,比如说文件读写,你写同样的Python程序,不管是那个系统,它的运行结果一般都会相同。

此外,对于Python大量的第三方库来说,一般也都提供多个系统的支持,所以也不必担心这方面的差别。

唯一可能会存在差别的地方,就是涉及到对系统API的直接调用,这个会有很大的不同,但是对于Python这样的语言来说,这种情况比较少见。


有价值的思想传播者


python是跨平台的语言。如果只是学习语法,那么两个系统平台都可以。

但python的功能需要安装各种库才能发挥。而不同系统下,库有所区别,甚至有些库只有某个系统的版本,其它系统没有。

因此,要选择Linux还是windows,关键看你将来工作中需要要使用的库是支持Linux还是windows。当然,如果两者都兼容就更好,这样选择哪个系统都一样,哪个熟悉用哪个。

python是一种对缩进有严格要求的语言, Python脚本可以使用非常多的工具进行编写,笔者在使用JEdit进行Python,由于在Linux编写脚本比较痛苦,比如想一眼看出相同的变量在哪个地方使用就非常不方便,所以想转到Window系统上进行编写,在Windows上有一个非常轻量级的工具:Note Pad++, 还有一个Eclipse上的插件pydev。但是直接将linux上的Python脚本直接移到window上编写时出现了大量的缩进问题,因为Linux和window上对待tab是不同的方式,有的是看做是一个space有的看作是几个space,非常的麻烦。如何解决呢?方法就是各个工具都有一个功能叫是否将tab看做space的功能,只要在linux上的JEdit编写工具中进行统一处理,如JEdit统一调整缩进的方式是:Edit - Indent - Spaces to Tabs 或 Tabs to Spaces 这里可以选择Tabs to Spaces,调整后,放到windows打开,此时就会发现,缩进的格式就统一了。反之,在Pydev 上也有这样的统一调整缩进的方式:Source - Convert space-tabs to tabs 或 Convert tabs to space-tabs而NotePad ++ 上也有这样的统一调整缩进的方式:Edit - Blank Operations - Tab to Space 或 Space to Tab (All) 或 Space to Tab (leading)下面附带介绍 :Eclipse + pydev:依靠强大的eclipse,pydev显得格外耀眼。强大的调试功能和舒服的编辑环境让pydev赢得了许多人的青睐。不过eclipse本来就是耗资源大户,pydev在这一点上毫无办法,但现在的电脑都很快了,跑eclipse根本就是小case,不用担心太多。除了强大的调试功能,依靠eclipse,pydev的代码浏览能力是其它所有IDE所不能比的,比如按住再点击一个类就能自动跳到该类的定义,这对于阅读代码非常有用。现在pydev extension也开源了,所以一些(我不知道的)高级的功能也被融入到pydev里了。


航空航天视频


啥也不多说,实践见真理!很多人遇到python语言在Linux系统和Windows系统语言转换的问题,这里我将进行一系列记录遇到python代码从Linux系统下移到Windows系统下,将如何修改,能达到代码运行通畅,bug轻松解决。

Windows系统与Linux系统比较显而易见的区别就在于文件路径名的问题,Windows下,文件路径用 ‘ \\’ 连接;而Linux下,文件路径用 ‘ /’连接;有人觉得这很好解决,只要遇到写文件路径的地方就把 ‘\\’ 改成‘ /’ 就可以了,然而,这样很容易出错,可能会出现错误类型如下:

(unicode error):'unicodeescape' codec can't decode

![send_file.py](https://img-

blog.csdnimg.cn/20181217203538577.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODI1NTY0,size_16,color_FFFFFF,t_70)


【出错代码示例】](https://img-

blog.csdnimg.cn/20181217203050419.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODI1NTY0,size_16,color_FFFFFF,t_70)


其实只需要把open文件路径改成如下就可以了

f=open('\\\\Users\\\\Python\\\\Desktop\\\\第二阶段pythonnet\\\\day03\\\\ship.jpg','rb')

这样就不会出错了

因为,在python语言中‘ \\ ’有特殊含义,叫转义字符,常常遇到英文字符会解释成不同含义;

本文以python3编译器为例


Echa攻城狮


python作为一种跨平台的开发语言,win和linux都可以使用。语法一样。

1.比较之下,linux更加方便。linux下已安装python开发环境,可以直接使用。win必须自己安装。

2.linux下有许多接口,类库供python调用,可以实现更多的功能,实现软件快速开发。而这些接口在win下不一定能用。

3.linux下有许多优秀的ide,原生态支持python,方便调试编译等。

4.win下和linux下编写python还是有区别的,python是一种对缩进有严格要求的语言, 而win和linux下tab缩进是有区别的,这就是为什么linux编写的代码在win下调试时会出现一堆莫名其妙的错误。

5.字符编码。也是不一样的,即使调试编译通过,输出时一堆乱码。win使用gbk,linux使用unicode,最好在代码编写时处理好输出。


林悠居士


你好,很高兴为你解答。


理论上,python的运行是无关平台,在windows和linux都可以进行编程和运行。但是有几个点还是有区别的:


1. 如果是学习的话,建议在windows下进行

因为大多数人对windows还是比较熟悉的,而且还可以一边看教程一边进行编写代码;


2. 对于linux

如果你是从运维或者后端开发转过来python的(就是你之前工作大部分时间接触的是linux)。这时候用linux进行学习和开发,就有很大好处,就是开发环境和上线环境同时linux,而且之前掌握的linux知识都能用得上,更重要的是linux比windows要纯粹一些,不会卡壳;


3. 如果想学习python的话,后期是一定要学习linux的

因为你上线部署基本都是linux不会在windows。前期为了学习方便可以在windows,所以学习编程,要学的东西很多,需要一步一步来。


如果还有疑问,可以在底下评论,或私信我。

谢谢采纳。


IT可达鸭


程序的结构区别不大,只是一些涉及系统环境的操作的库和函数的使用和调用语法有区别


分享到:


相關文章: