• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Python的動態(tài)語言特點探討

      2017-12-13 14:58:35謝生鋒
      電腦知識與技術 2017年33期
      關鍵詞:動態(tài)

      謝生鋒

      摘要:Python是一種面向對象的解釋型計算機程序設計語言,也是一種功能強大的通用型語言,該語法簡潔清晰,具有豐富和強大的標準庫和擴展庫,成熟且穩(wěn)定。該文主要探討了Python編程語言的特點,并和C語言在相關語法上做了對比。

      關鍵詞:Python;動態(tài);C語言

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)33-0131-02

      Abstract: Python is an object-oriented and interpreted computer programming language, also is a powerful universal language, its grammar is simple and clear, with the rich and powerful of standard library and extension library , and its mature and stable. This paper mainly discusses the characteristics of Python programming language, and makes a comparison with C language in related grammar.

      Key words: Python; dynamic; C language

      1 背景

      由于Python編程語言的語法靈活,并且有些語法和C語言是完全不同的,筆者結合自身的教學經歷,在教學過程中發(fā)現學生在學習完C程序設計課程后,再學習Python程序設計,很容易把兩種語言的語法相混淆,為了便于學生更好的理解Python語言的特點,把易難、易混淆的語法進行講解[1]。

      2 Python語言的特點分析

      2.1 變量的類型

      在Python語言中,聲明變量不需要指明變量的數據類型,而是由Python解釋器根據賦值運算符后面的常量類型來推斷變量的類型,如果常量是一個整數,那么變量的類型就是整型。并且變量的類型可以動態(tài)變化,在程序運行時可以指向不同數據類型的常量,這體現出Python語言的動態(tài)性。 這一點和C語言截然不同,C語言聲明變量時,首先要聲明變量的數據類型,比如int、float、double或char等[2]。實例代碼如下:

      x = 5

      print(type(x)) #輸出

      x="Hello World"

      print(type(x)) #輸出

      2.2 內存管理方式

      內存管理對于Python這樣的動態(tài)語言是至關重要的一部分,它在很大程度上甚至決定了Python的執(zhí)行效率,因為在Python程序運行過程中會創(chuàng)建和銷毀大量的對象,這些都涉及內存的管理[3]。Python有兩種共存的內存管理機制: 引用計數和垃圾回收, 引用計數是一種非常高效的內存管理手段, 當一個Python對象被引用時其引用計數增加1, 當其不再被一個變量引用時則計數減1,當引用計數等于0時對象被刪除,由此可以看出Python是基于值的內存管理,而不是基于變量進行內存管理。實例代碼如下:

      x = 5

      y = x

      print(id(a)) #輸出1411565776

      print(id(b)) #輸出1411565776

      第一條語句首先聲明一個變量x,其值是整數5,Python 解釋器會在程序運行時申請一塊內存空間來存儲對象5,而變量x則指向對象5,也就是說變量x是對象5的一個引用,執(zhí)行完第2條語句后,變量y的值也是5,但是y也是對象5的一個引用,并沒有開辟新的新的內存空間,這時對象5共有2個變量引用,其引用計數的值為2。當對象5沒有被變量引用時,其引用計數的值為0,Python解釋器會自動銷毀對象5所占用的存儲空間。

      對于C語言來講,我們創(chuàng)建一個變量a時,就會為該變量申請一塊內存空間,并將變量的值存儲于該空間中,當該變量的值賦給另一變量b時,系統會為變量B申請一塊新的內存空間,并將變量b的值放入存儲于新的內存空間,所以變量a和b的內存地址是不一樣的。

      2.3 序列

      1) 元素類型

      在Python語言中,序列分為可變序列和不可變序列,列表、集合和字典等屬于可變序列,元組和字符串屬于不可變序列,其中對于列表、元組和集合等序列中的元素類型可以不一致[4],元素類型可以是任意數據類型,這和C語言中數組的語法要求不一致。

      2) 雙向索引

      除字典和集合屬于無序序列之外,列表、元組和字符串等序列類型對元素的訪問支持雙向索引,第一個元素的下標為0,第二個元素的下標為1,以此次類推。如果使用負向索引,最后一個元素的下標為-1,倒數第二個元素的下標為-2,以此類推。同時可以對序列進行切片操作,以獲取序列中的部分元素[5]。

      3) 序列解包

      序列解包功能對多個變量同時賦值,利用序列解包功能可以快速交換兩個變量的值,實例代碼如下:

      a,b=5,10 #輸出a=5,b=10

      a,b=b,a

      print("a={0},b={1}".format(a,b)) #輸出a=10,b=5

      3 結束語

      Python是一種解釋性編程語言,對類型的定義是松散的,完全沒有類型聲明,并且在運行時進行動態(tài)類型檢查,程序在運行時才翻譯成機器語言,執(zhí)行效率較低。但是Python由于很多標準庫和擴展庫,可以進行強大的數據操作,在當今大數據時代,通過數據分析,充分挖掘數據的價值,而Python編程語言無疑成為大數據分析的強有力工具。

      參考文獻:

      [1] 信斌, 王桂花. 基于Python和SIPp的自動化壓力測試系統設計和實現[J]. 電腦知識與技術, 2017(22).

      [2] 喬林. Python的對象與型式[J]. 計算機教育, 2017(9).

      [3] 秦科, 劉貴松. 面向Python應用的大學教學改革初探[J]. 計算機教育, 2017(9).

      [4] 韓宏峰, 馮石, 羅羿隆. 基于Java與Python的面向對象編程的基本特征研究[J]. 軟件工程, 2017(8).

      [5] 董付國. 基于Python程序設計基礎[M]. 北京: 清華大學出版社, 2015.

      猜你喜歡
      動態(tài)
      國內動態(tài)
      國內動態(tài)
      國內動態(tài)
      動態(tài)
      動態(tài)
      科學中國人(2018年8期)2018-07-23 02:26:24
      動態(tài)
      科學中國人(2018年1期)2018-06-08 05:42:37
      宁南县| 贺州市| 姜堰市| 炎陵县| 增城市| 台南县| 五家渠市| 长垣县| 甘谷县| 天峻县| 沙河市| 密云县| 炉霍县| 略阳县| 高阳县| 安福县| 卓尼县| 虎林市| 梁山县| 凭祥市| 永宁县| 中西区| 额敏县| 和政县| 永吉县| 宝应县| 博兴县| 岑溪市| 十堰市| 潍坊市| 阿图什市| 哈尔滨市| 肇州县| 陆河县| 安国市| 宁陕县| 平原县| 青神县| 天津市| 仙游县| 康乐县|