电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python動態強類型解釋型語言原理解析

瀏覽:5日期:2022-08-01 11:36:16

PYTHON是一門動態解釋性的強類型定義語言:編寫時無需定義變量類型;運行時變量類型強制固定;無需編譯,在解釋器環境直接運行。

動態和靜態

靜態語言:是指在編譯時變量的數據類型即可確定的語言,多數靜態類型語言要求在使用變量之前必須聲明數據類型。例如:C++、Java、Delphi、C# 、go等。

動態語言:是在運行時確定數據類型的語言。變量使用之前不需要類型聲明,通常變量的類型是被賦值的那個值的類型。例如:Python、Ruby、Perl等。

強類型和弱類型

強類型和弱類型主要是站在變量類型處理的角度進行分類的。

強類型是指不允許隱式變量類型轉換,弱類型則允許隱式類型轉換。

所以,關鍵在于變量數據類型的轉換。

什么叫隱式類型轉換?

隱式是指源碼中沒有明顯的類型轉換代碼,也就是說,一個變量,你可以直接給他賦值字符串,也可以直接給他賦值數值,你還可以直接讓字符串類型的變量和數值類型的變量相加,雖然得出的最終結果未必是你想象的那樣,但一定不會報錯。

這就是隱式類型轉換,弱類型語言,如javascript、php。

Java是強類型語言,不允許隱式類型轉換,也就是說,如果你需要拿一個字符串變量當做整型來用,你必須顯式地將變量類型轉換好。

換句話說:

強類型語言,當你定義一個變量是某個類型,如果不經過代碼顯式轉換(強制轉化)過,它就永遠都是這個類型,如果把它當做其他類型來用,就會報錯 弱類型語言,你想把這個變量當做什么類型來用,就當做什么類型來用,語言的解析器會自動(隱式)轉換。

優點:

Python的定位是“優雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復雜的程序。

開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫里都有相應的模塊進行支持,直接下載調用后,在基礎庫的基礎上再進行開發,大大降低開發周期,避免重復造輪子。

高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節 可移植性————由于它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴于系統的特性,那么你的所有Python程序無需修改就幾乎可以在市場上所有的系統平臺上運行 可擴展性————如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。 可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

缺點:

速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑于使用Python的主要原因,但其實這里所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須借助測試工具才能體現出來,比如你用C運一個程序花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常夸張了,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種情況下,當然還是建議你用C去實現的。

代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應該用Python來去實現。

線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用于同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平臺上,由于GIL的存在,所以禁止多線程的并行執行。關于這個問題的折衷解決方法,我們在以后線程和進程章節里再進行詳細探討。

編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然后,可直接運行這個程序。 解釋型語言:把做好的源程序翻譯一句,然后執行一句,直至結束!

區別:

編譯型語言,執行速度快、效率高;依靠編譯器、跨平臺性差些。 解釋型語言,執行速度慢、效率低;依靠解釋器、跨平臺性好。

個人認為,java是解釋型的語言,因為雖然java也需要編譯,編譯成.class文件,但是并不是機器可以識別的語言,而是字節碼,最終還是需要 jvm的解釋,才能在各個平臺執行,這同時也是java跨平臺的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要歸類的話,從概念上的定義,恐怕java應該歸到解釋型的語言中。附:

編譯型的語言包括:C、C++、Delphi、Pascal、Fortran 解釋型的語言包括:Java、Basic、javascript

編譯型語言要先編譯再運行,而解釋性語言直接“運行”源代碼。

Python是種強類型的語言。

有人可能會問,在python中,可以這樣寫而不報錯,所以是弱類型的:

i=1print(i)i='hello world'print(i)

實際上,這里python表現出的特性為,他是一種動態類型語言。動態類型語言是一種在運行期間才去確定數據類型的語言,與靜態類型相反。

VBScript 和 Python 是動態類型的,因為它們確定一個變量的類型是在您第一次給它賦值的時候。靜態類型語言是一種在編譯期間就確定數據類型的語言。大多數靜態類型語言是通過要求在使用任一變量之前聲明其數據類型來保證這一點的。Java 和 C 是靜態類型語言。

Python 是強制類型定義的。指的是加入我們有一個整數,如果不明確地進行轉換 ,不能將把它當成一個字符串,所以顯然,C/C++和Java都是強類型語言。 弱類型語言與強類型相反。VBScript 是弱類型的。在 VBScript 中,我們可以將字符串 ’12’ 和整數 3 進行連接得到字符串’123’,然后可以把它看成整數 123 ,所有這些都不需要任何的顯示轉換。

總結起來,Python是一種動態的,強類型語言。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 南京欧陆电气股份有限公司-风力发电机官网 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 逗网红-抖音网红-快手网红-各大平台网红物品导航 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 微动开关厂家-东莞市德沃电子科技有限公司 | 阳光1号桔柚_无核沃柑_柑橘新品种枝条苗木批发 - 苧金网 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 |