当前位置: 首页 > news >正文

网站做淘宝推广收入买衣服网站排行榜前十名

网站做淘宝推广收入,买衣服网站排行榜前十名,北京住总第一开发建设有限公司网站首页,怎样在一个虚拟服务器里做两个网站我初学Python时#xff0c;听到的关于Python的第一句话就是#xff0c;Python是一门解释性语言#xff0c;我就这样一直相信下去#xff0c;直到发现了*.pyc文件的存在。如果是解释型语言#xff0c;那么生成的*.pyc文件是什么呢#xff1f;c应该是compiled的缩写才对啊听到的关于Python的第一句话就是Python是一门解释性语言我就这样一直相信下去直到发现了*.pyc文件的存在。如果是解释型语言那么生成的*.pyc文件是什么呢c应该是compiled的缩写才对啊为了防止其他学习Python的人也被这句话误解那么我们就在文中来澄清下这个问题并且把一些基础概念给理清。2. 解释型语言和编译型语言计算机是不能够识别高级语言的所以当我们运行一个高级语言程序的时候就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类第一种是编译第二种是解释。编译型语言在程序执行之前先会通过编译器对程序执行一个编译的过程把程序转变成机器语言。运行时就不需要翻译而直接执行就可以了。最典型的例子就是C语言。解释型语言就没有这个编译的过程而是在程序运行的时候通过解释器对程序逐行作出解释然后直接运行最典型的例子是Ruby。通过以上的例子我们可以来总结一下解释型语言和编译型语言的优缺点因为编译型语言在程序运行之前就已经对程序做出了“翻译”所以在运行时就少掉了“翻译”的过程所以效率比较高。但是我们也不能一概而论一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化从而在效率上超过编译型语言。此外随着Java等基于虚拟机的语言的兴起我们又不能把语言纯粹地分成解释型和编译型这两种。用Java来举例Java首先是通过编译器编译成字节码文件然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。再换成C#C#首先是通过编译器将C#文件编译成IL文件然后在通过CLR将IL文件编译成机器文件。所以我们说C#是一门纯编译语言但是C#是一门需要二次编译的语言。同理也可等效运用到基于.NET平台上的其他语言。3. Python到底是什么其实Python和Java/C#一样也是一门基于虚拟机的语言我们先来从表面上简单地了解一下Python程序的运行过程吧。当我们在命令行中输入python hello.py时其实是激活了Python的“解释器”告诉“解释器”你要开始工作了。可是在“解释”之前其实执行的第一项工作和Java一样是编译。熟悉Java的同学可以想一下我们在命令行中如何执行一个Java的程序javac hello.javajava hello只是我们在用Eclipse之类的IDE时将这两部给融合成了一部而已。其实Python也一样当我们执行python hello.py时他也一样执行了这么一个过程所以我们应该这样来描述PythonPython是一门先编译后解释的语言。4. 简述Python的运行过程在说这个问题之前我们先来说两个概念PyCodeObject和pyc文件。我们在硬盘上看到的pyc自然不必多说而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了继续向下看。当python程序运行时编译的结果则是保存在位于内存中的PyCodeObject中当Python程序运行结束时Python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时首先程序会在硬盘中寻找pyc文件如果找到则直接载入否则就重复上面的过程。所以我们应该这样来定位PyCodeObject和pyc文件我们说pyc文件其实是PyCodeObject的一种持久化保存方式。5. 运行一段Python程序我们来写一段程序实际运行一下程序本身毫无意义。我们继续看然而我们在程序中并没有看到pyc文件仍然是test.py孤零零地呆在那那么我们换一种写法我们把print_str方法换到另外的一个python模块中然后运行程序这个时候pyc文件出现了其实认真思考一下不难得到原因我们考虑一下实际的业务情况。6. pyc的目的是重用回想本文的第二段在解释编译型语言和解释型语言的优缺点时我说编译型语言的优点在于我们可以在程序运行时不用解释而直接利用已经“翻译”过的文件。也就是说我们之所以要把py文件编译成pyc文件最大的优点在于我们在运行程序时不需要重新对该模块进行重新的解释。所以我们需要编译成pyc文件的应该是那些可以重用的模块这于我们在设计软件类时是一样的目的。所以Python的解释器认为只有import进来的模块才是需要被重用的模块。这个时候也许有人会说不对啊你的这个问题没有被解释通啊我的test.py不是也需要运行么虽然不是一个模块但是以后我每次运行也可以节省时间啊OK我们从实际情况出发思考下我们在什么时候才可能运行python xxx.py文件A. 执行测试时。B. 开启一个Web进程时。C. 执行一个程序脚本。我们逐个来说第一种情况我们就不用多说了这个时候哪怕所有的文件都没有pyc文件都是无所谓的。第二种情况我们试想一个webpy的程序把我们通常这样执行抑或者然后这个程序就类似于一个守护进程一样一直监视着8181/9002端口而一旦中断只可能是程序被杀死或者其他的意外情况那么你需要恢复要做的是把整个的Web服务重启。那么既然一直监视着把PyCodeObject一直放在内存中就足够了完全没必要持久化到硬盘上。最后一个情况执行一个程序脚本一个程序的主入口其实很类似于Web程序中的Controller也就是说他负责的应该是Model之间的调度而不包含任何的主逻辑在内如我在http://www.cnblogs.com/kym/archive/2010/07/19/1780407.html中所提到Controller应该就是一个Facade无任何的细节逻辑只是把参数转来转去而已那么如果做算法的同学可以知道在一段算法脚本中最容易改变的就是算法的各个参数那么这个时候给持久化成pyc文件就未免有些画蛇添足了。所以我们可以这样理解Python解释器的意图Python解释器只把我们可能重用到的模块持久化成pyc文件。7. pyc的过期时间说完了pyc文件可能有人会想到每次Python的解释器都把模块给持久化成了pyc文件那么当我的模块发生了改变的时候是不是都要手动地把以前的pyc文件remove掉呢当然Python的设计者是不会犯这么白痴的错误的。而这个过程其实就取决于PyCodeObject是如何写入pyc文件中的。我们来看一下import过程的源码吧这段代码比较长我们只来看我标注了的代码其实他在写入pyc文件的时候写了一个Long型变量变量的内容则是文件的最近修改日期同理我们再看下载入pyc的代码不用仔细看代码我们可以很清楚地看到原理其实每次在载入之前都会先检查一下py文件和pyc文件保存的最后修改日期如果不一致则重新生成一份pyc文件。8. 写在最后的其实了解Python程序的执行过程对于大部分程序员包括Python程序员来说意义都是不大的那么真正有意义的是我们可以从Python的解释器的做法上学到什么我认为有这样的几点A. 其实Python是否保存成pyc文件和我们在设计缓存系统时是一样的我们可以仔细想想到底什么是值得扔在缓存里的什么是不值得扔在缓存里的。B. 在跑一个耗时的Python脚本时我们如何能够稍微压榨一些程序的运行时间就是将模块从主模块分开。(虽然往往这都不是瓶颈)C. 在设计一个软件系统时重用和非重用的东西是不是也应该分开来对待这是软件设计原则的重要部分。D. 在设计缓存系统(或者其他系统)时我们如何来避免程序的过期其实Python的解释器也为我们提供了一个特别常见而且有效的解决方案。
http://www.sadfv.cn/news/149545/

相关文章:

  • 营销导向的企业网站优化黄村网站建设
  • 长春建站网站商城网站seo
  • 朝城做网站公司营销型网站建设教程视频教程
  • 网站建设套餐价格阳江市招聘最新招聘
  • 手机网站存储登录信息网站没有备案做竞价吗
  • 吉他网站怎么做茂名网站建设维护
  • wordpress入门建站wordpress html5 win8
  • 婺源网站建设什么是网站收录
  • 网站设计维护合同企业手机网站建设讯息
  • 如何设计网站后台led动态视频网站建设
  • 成都地铁建设分公司网站怎么做网站引流
  • 新手如何建立网站建筑考试培训网
  • 免费虚拟主机网站网页设计个人网站设计
  • 建设银行网站注册用户名上海高品质网站建设公司
  • 初期做网站wordpress好用的企业展示主题
  • 南三环做网站的公司12306建网站多少钱
  • 文交所网站建设方案wordpress 仿手机商城模板
  • 网站地图的形式wordpress多页面统一头部
  • 做教学的视频网站网站建设公司如何找客户
  • 西安有几家做网站内江市建设培训中心网站
  • 俄文网站建设方案seo搜索引擎优化总结
  • 网站建设业务员怎么做抖音小程序怎么制作
  • 扬中网站推广服务微网站建设报价方案模板
  • 张梅 合肥网站建设色流网站如何做
  • 做购物网站 营业范围是什么荆门网站开发公司
  • 网站推广服务具体内容包括哪些开网站设计公司多少钱
  • 建邺做网站价格网站建设 招聘
  • 企业网站建设的类型有哪些想做设计师需要学什么
  • 北京做兼职网站网站建设滨江
  • wordpress 资源站点做商城网站合作合同