最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python動態(tài)性強類型用法實例

 更新時間:2015年05月09日 12:06:02   作者:守株待兔  
這篇文章主要介紹了python動態(tài)性強類型用法,對比C#實例分析了python動態(tài)性強類型的使用方法,需要的朋友可以參考下

本文實例分析了python動態(tài)性強類型用法。分享給大家供大家參考。具體如下:

Python變量聲明和定義

與C#不同,Python在使用變量之前無須定義它的類型,試著運行下面的例子:

i = 12 print i

從上邊我們可以看到,變量 i 在使用前并不需要定義,但是必須聲明以及初始化該變量。試著運行下面的例子:

i = 1
print i + j

上面的代碼會產生一個異常:“NameError: name 'j' is not defined”,Python提示變量 j 沒有定義。這點和BASIC等弱類型的語言不一樣。在BASIC中,執(zhí)行上述代碼的時候不會產生異常,你可以在EXCEL的VBA開發(fā)環(huán)境里試一下,把 print改為MsgBox就可以,結果會輸出 1 。這說明Python并不是一種類似BASIC的弱類型語言。

另一方面,Python與C#有一個很大的差異就是在程序運行過程中,同一變量名可以(在不同階段)代表不同類型的數(shù)據(jù),看看下邊的例子:

i = 1
print i,type(i),id(i)
i = 10000000000
print i,type(i),id(i)
i = 1.1
print i,type(i),id(i)

變量 i 的類型在程序執(zhí)行過程中分別經歷了int、long和float的變化,這和靜態(tài)類型語言(如C等)有很大不同。靜態(tài)語言只要一個變量獲得了一個數(shù)據(jù)類 型,它就會一直是這個類型,變量名代表的是用來存放數(shù)據(jù)的內存位置。而Python中使用的變量名只是各種數(shù)據(jù)及對象的引用,用id()獲取的才是存放數(shù) 據(jù)的內存位置,我們輸入的1、10000000000和1.1三個數(shù)據(jù)均會保存在id()所指示的這些內存位置中,直到垃圾回收車把它拉走(在系統(tǒng)確定你 不再使用它的時候)。這是動態(tài)語言的典型特征,它確定一個變量的類型是在給它賦值的時候。

另一方面,Python又是強類型的,試著運行下邊的例子:

# -*- coding: utf-8 -*-
i = 10; j = 'ss'
print i+j
#正確的寫法是print str(i)+j,輸出10ss

會產生一個異常:“TypeError: unsupported operand type(s) for +: 'int' and 'str'”。在BASIC等弱類型的語言中,上邊的例子會正常運行并返回(雖然有時候是不可預期的)結果。

所以,我們說Python既是一種動態(tài)類型語言,同時也是一種強類型的語言,這點是和C#不同的地方。對于Python的這種變量的聲明、定義和使 用方式,C#程序員可能要花一段時間去適應,不過相信你會很快就喜歡上它,因為它讓事情變得更加簡單(而且不會不安全)。而且,C# 4.0 已經開始用類似的方式定義和使用變量(通過在變量名前加關鍵字dynamic),如果你先學了Python變量,將能夠更快的適應C# 4.0的動態(tài)編程特征。

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • OpenCV半小時掌握基本操作之色彩空間

    OpenCV半小時掌握基本操作之色彩空間

    這篇文章主要介紹了OpenCV基本操作之色彩空間,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 在Python的Django框架上部署ORM庫的教程

    在Python的Django框架上部署ORM庫的教程

    這篇文章主要介紹了在Python的Django框架上部署ORM庫的教程,文中還給出了幾個ORM庫之間的對比,需要的朋友可以參考下
    2015-04-04
  • Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示

    Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示

    這篇文章主要介紹了Python數(shù)據(jù)分析之PMI數(shù)據(jù)圖形展示,文章介紹了簡單的python爬蟲,并使用numpy進行了簡單的數(shù)據(jù)處理,最終使用?matplotlib?進行圖形繪制,實現(xiàn)了直觀的方式展示制造業(yè)和非制造業(yè)指數(shù)圖形,需要的朋友可以參考一下
    2022-05-05
  • python3利用smtplib通過qq郵箱發(fā)送郵件方法示例

    python3利用smtplib通過qq郵箱發(fā)送郵件方法示例

    python實現(xiàn)郵件發(fā)送較為簡單,主要用到smtplib這個模塊,所以下面這篇文章主要給大家介紹了關于python3利用smtplib通過qq郵箱發(fā)送郵件的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2017-12-12
  • 學習Python爬蟲的幾點建議

    學習Python爬蟲的幾點建議

    這篇文章主要介紹了學習Python爬蟲的幾點建議,對新手學習爬蟲有很大的幫助,感興趣的朋友可以了解下
    2020-08-08
  • 怎么快速自學python

    怎么快速自學python

    在本篇文章里小編給大家分享的是一篇關于怎么快速自學python的相關內容,有興趣的朋友們可以學習參考下。
    2020-06-06
  • 用python介紹4種常用的單鏈表翻轉的方法小結

    用python介紹4種常用的單鏈表翻轉的方法小結

    這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉的方法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 詳解Python高階函數(shù)

    詳解Python高階函數(shù)

    這篇文章主要介紹了Python高階函數(shù)的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • Python+OpenCV開發(fā)一個視頻播放器

    Python+OpenCV開發(fā)一個視頻播放器

    提到OpenCV,大家首先想到的可能是圖像處理、目標檢測等,但你是否想過用OpenCV實現(xiàn)一個視頻播放器,下面小編就帶你深入掌握OpenCV的視頻處理能力吧
    2025-03-03
  • Pandas.DataFrame行和列的轉置的實現(xiàn)

    Pandas.DataFrame行和列的轉置的實現(xiàn)

    本文主要介紹了Pandas.DataFrame行和列的轉置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02

最新評論

荔浦县| 兴和县| 天镇县| 彝良县| 玛沁县| 贵港市| 辉南县| 嘉义县| 东乌| 梧州市| 高唐县| 丽水市| 五河县| 尚志市| 政和县| 塔城市| 蚌埠市| 上饶县| 江永县| 彩票| 体育| 阿荣旗| 廊坊市| 鞍山市| 民权县| 广丰县| 大冶市| 金川县| 璧山县| 修武县| 通许县| 廉江市| 莱西市| 南康市| 邹平县| 临汾市| 阿勒泰市| 盱眙县| 志丹县| 曲阜市| 津市市|