偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

學(xué)習(xí)Python語言總結(jié)之談

開發(fā) 后端
Python語言的可擴(kuò)充性可說是Python作為一種編程語言的特色,學(xué)習(xí)Python 語言之前曾參與過一門稱作ABC的語言的設(shè)計(jì),ABC是專門為非專業(yè)程序員設(shè)計(jì)的;

學(xué)習(xí)Python語言時(shí)要確定Python是動(dòng)態(tài)語言,所謂動(dòng)態(tài)語言,現(xiàn)在大致認(rèn)同的一個(gè)定義是:程序運(yùn)行期間允許改變程序結(jié)構(gòu)或者變量類型,Python直接編寫的程序段有時(shí)運(yùn)行效率甚至高于用C編寫的程序。

Guido在Python 語言的設(shè)計(jì)過程中吸收了ABC語言的許多優(yōu)點(diǎn),諸如ABC的數(shù)據(jù)類型(列表、元組、文本等),變量無需聲明,內(nèi)建的功能強(qiáng)大的字符串處理以及簡單的控制結(jié)構(gòu)等特性;

同時(shí)摒棄了ABC語言的一些缺陷,其中最主要的就是使學(xué)習(xí)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í)慣。

現(xiàn)在Python是OpenSource的項(xiàng)目,同時(shí)Python社區(qū)非常的活躍,極大促進(jìn)了Python語言的發(fā)展。目前 Python語言最新的版本是2.4.2。 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ò)展,可嵌入;

語法簡單清晰,強(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ù),對類和實(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)使用且完全開放源代碼。

除了這些內(nèi)置高級(jí)數(shù)據(jù)類型,程序員還可以通過擴(kuò)展模塊自定義內(nèi)置數(shù)據(jù)類型以支持實(shí)際應(yīng)用;Python屬動(dòng)態(tài)類型語言。這是大部分腳本語言的特性:通過賦值決定或改變變量類型;Python使用縮排標(biāo)識(shí)程序塊結(jié)構(gòu),這是Python的一大特色,減少了不必要的塊包圍符號(hào);

str、unicode、list、 tuple等類可以通過乘法實(shí)現(xiàn)多個(gè)容器的組合,可以通過分片進(jìn)行分割,還能夠負(fù)索引表示從后向前查找;學(xué)習(xí)Python語言不提供顯式的內(nèi)存分配回收API,完全自動(dòng)的內(nèi)存管理;Python memory manager實(shí)現(xiàn)了對程序運(yùn)行時(shí)堆的管理,包括內(nèi)存的分配,垃圾回收機(jī)制等;

垃圾回收(garbage collection,一下簡稱GC)在當(dāng)前的版本中使用的是引用計(jì)數(shù)垃圾收集和可選的循環(huán)結(jié)構(gòu)垃圾空間掃描技術(shù)。一旦對象變得‘不可達(dá)’的時(shí)候就會(huì)被回收,但是不保證能夠回收包含循環(huán)引用計(jì)數(shù)的內(nèi)存垃圾。引用計(jì)數(shù)的算法比較直觀:在每個(gè)存儲(chǔ)片中記錄了指向其的指針數(shù)目;

在對存儲(chǔ)片進(jìn)行某些操作時(shí),對引用計(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è)簡單的場景:對象a一個(gè)成員指向?qū)ο骲,同時(shí)b也有一個(gè)成員指向a,而且代碼中只有引用a的部分,b對象只是輔助a對象而生成的。

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

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進(jìn)行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. Python 構(gòu)建工具進(jìn)行詳細(xì)介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來源: 新浪科技
相關(guān)推薦

2010-01-21 18:00:59

C++語言

2010-02-02 13:37:12

如何學(xué)習(xí)Python

2010-01-27 16:52:31

C++語言學(xué)習(xí)

2010-02-03 15:52:02

Python學(xué)習(xí)研究

2010-02-07 15:12:24

學(xué)習(xí)Android

2010-03-02 14:37:05

Android開源語言

2010-01-18 10:53:26

2010-02-06 13:36:57

學(xué)習(xí)Android程序

2010-01-26 17:53:05

C++入門學(xué)習(xí)

2010-02-05 17:10:01

Android Ado

2020-01-10 18:25:00

Go語言JavaScript編程語言

2010-01-25 11:21:01

C++語法

2010-02-23 10:44:00

Python 編程語言

2010-02-24 09:39:25

Python交互式

2010-02-05 15:47:00

Android JDK

2011-07-04 13:49:17

2009-12-23 10:07:57

學(xué)習(xí)WPF

2009-11-16 15:32:05

PHP數(shù)組函數(shù)

2010-01-27 15:54:49

C++實(shí)現(xiàn)程序

2010-01-21 17:22:21

VC++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)