日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
對(duì)Python動(dòng)態(tài)類型語言解析

其實(shí)Python動(dòng)態(tài)類型語言與C++的性質(zhì)非常相似,有些變化引起的錯(cuò)誤卻很嚴(yán)重,本文就對(duì)于大多數(shù)用戶頭疼的Python動(dòng)態(tài)類型語言進(jìn)行詳細(xì)的剖析與介紹,僅供大家學(xué)習(xí)思考。

目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、鄧州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Python的創(chuàng)始人是Guido van Rossum,在發(fā)明Python語言之前Guido曾參與過一門稱作ABC的語言的設(shè)計(jì),ABC是專門為非專業(yè)程序員設(shè)計(jì)的;Guido在Python 語言的設(shè)計(jì)過程中吸收了ABC語言的許多優(yōu)點(diǎn)。

諸如ABC的數(shù)據(jù)類型(列表、元組、文本等),變量無需聲明,內(nèi)建的功能強(qiáng)大的字符串處理以及簡(jiǎn)單的控制結(jié)構(gòu)等特性;同時(shí)摒棄了ABC語言的一些缺陷,其中最主要的就是使Python更易擴(kuò)展。

這也是Python語言現(xiàn)在如此流行的原因之一,Python的第一個(gè)實(shí)現(xiàn)是在mac機(jī)上,Python語言的設(shè)計(jì)還受到Modula-3(另一種優(yōu)美強(qiáng)大的語言)的影響,并結(jié)合了Unix Shell和C的習(xí)慣。#t#

現(xiàn)在Python是OpenSource的項(xiàng)目,同時(shí)Python社區(qū)非常的活躍,極大促進(jìn)了Python動(dòng)態(tài)類型語言的發(fā)展。目前 Python語言最新的版本是2.4.2。 Python的特性 Python是面向?qū)ο蟮模缙脚_(tái)的,可擴(kuò)展的解釋型通用編程語言,它支持模塊和包;Python的代碼類型有三種:.py .pyc .pyo,分別是字節(jié)代碼。

二進(jìn)制代碼,優(yōu)化代碼,都可以直接運(yùn)行,無需編譯或者鏈接的步驟,而且Python還提供交互執(zhí)行環(huán)境;Python動(dòng)態(tài)類型語言,不需要類型聲明;提供自動(dòng)內(nèi)存管理;內(nèi)置高級(jí)數(shù)據(jù)類型和操作支持;Python可擴(kuò)展,可嵌入;語法簡(jiǎn)單清晰,強(qiáng)調(diào)代碼可讀性;可動(dòng)態(tài)加載C模塊;可動(dòng)態(tài)裝載Python模塊;

Python屬動(dòng)態(tài)語言,允許在程序運(yùn)行期間動(dòng)態(tài)添加刪除函數(shù),對(duì)類和實(shí)例可以在運(yùn)行時(shí)動(dòng)態(tài)添加修改方法;Python 是具有內(nèi)省性的語言;提供標(biāo)準(zhǔn)的GUI框架開發(fā)圖形界面程序;支持標(biāo)準(zhǔn)Internet協(xié)議;支持內(nèi)建的和第三方提供的庫,豐富的庫支持;免費(fèi)使用且完全開放源代碼。

 
 
 
  1. >>> type([]) 
  2.  'list'> 
  3. >>>import sys 
  4. >>> type(sys) 
  5.  'module'> 
  6. >>> type(dir) 
  7.  'builtin_function_or_method'> 
  8. hasattr()函數(shù)和getattr()函數(shù)檢索一個(gè)對(duì)象擁有的屬性 
  9. >>> import os 
  10. >>> hasattr(os.dup, '__doc__') 
  11. True 
  12. >>> print getattr(os.dup, '__doc__') 
  13. dup(fd) -> fd2 
  14. Return a duplicate of a file descriptor. 
  15. callable()函數(shù)測(cè)試對(duì)象的可調(diào)用性: 
  16. >>> callable('string') 
  17. False 
  18. >>> callable(callable) 
  19. True 

Python動(dòng)態(tài)類型語言不提供顯式的內(nèi)存分配回收API,完全自動(dòng)的內(nèi)存管理;Python memory manager實(shí)現(xiàn)了對(duì)程序運(yùn)行時(shí)堆的管理,包括內(nèi)存的分配,垃圾回收機(jī)制等;垃圾回收(garbage collection,一下簡(jiǎn)稱GC)在當(dāng)前的版本中使用的是引用計(jì)數(shù)垃圾收集和可選的循環(huán)結(jié)構(gòu)垃圾空間掃描技術(shù)。

一旦對(duì)象變得‘不可達(dá)’的時(shí)候就會(huì)被回收,但是不保證能夠回收包含循環(huán)引用計(jì)數(shù)的內(nèi)存垃圾。引用計(jì)數(shù)的算法比較直觀:在每個(gè)存儲(chǔ)片中記錄了指向其的指針數(shù)目;在對(duì)存儲(chǔ)片進(jìn)行某些操作時(shí),對(duì)引用計(jì)數(shù)進(jìn)行更新。

分配一個(gè)存儲(chǔ)片時(shí)引用計(jì)數(shù)初始化為1,只要存儲(chǔ)片的引用被復(fù)制,引用計(jì)數(shù)加1,存儲(chǔ)片的引用被刪除時(shí),引用計(jì)數(shù)減1,如果引用計(jì)數(shù)減為0,則存儲(chǔ)片會(huì)由于不可達(dá)而被回收。很明顯引用計(jì)數(shù)算法不能回收循環(huán)的數(shù)據(jù)結(jié)構(gòu);設(shè)想一個(gè)簡(jiǎn)單的場(chǎng)景:對(duì)象a一個(gè)成員指向?qū)ο骲,同時(shí)b也有一個(gè)成員指向a,而且代碼中只有引用a的部分。

b對(duì)象只是輔助a對(duì)象而生成的,如果后來a對(duì)象被刪除了,那么a和b作為一個(gè)整體都變成內(nèi)存垃圾了,理論上應(yīng)該都被內(nèi)存管理器刪除,但是由于引用計(jì)數(shù)算法每次只考察一個(gè)結(jié)點(diǎn),因此對(duì)于循環(huán)的數(shù)據(jù)結(jié)構(gòu)無法回收。所以在編程時(shí)應(yīng)盡量避免循環(huán)引用的情況出現(xiàn)。


新聞標(biāo)題:對(duì)Python動(dòng)態(tài)類型語言解析
本文URL:http://www.5511xx.com/article/dpdssss.html