日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python初步

發布時間:2024/1/23 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python初步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python是一種面向對象的、解釋型的計算機高級程序設計語言,由Guido van Rossum于1989年開始開發,并于1991年發布第一個公開發布第一個公開發行版。Python是純粹的開源自由軟件,其源代碼和解釋器均遵循GPL(GUN General Public License)協議。Python具有語法簡介、易于學習、功能強大、可擴展性強、跨平臺等諸多特點,逐漸成為最受歡迎的程序設計語言之一。

?本章重點

  • Python的發展
  • Python的特點
  • Python 的運行方式
  • Python 開發工具
  • 1.1 認識Python

    歡迎來到Python的世界。本節將從Python的發展、引用、特點和版本等內容開始,帶領讀者了解和認識Python。

    1.1.1?Python發展

    ???1989年圣誕節,Guido在阿姆斯特丹開始準備開發一種新的程序設計語言。作為Monty Python喜劇團體的粉絲,Guido將這門新語言命名為Python。Python的靈感來自ABC語言------Guido參與開發的一種適用于非專業程序開發人員的教學語言。Python認為ABC語言有沒、功能強大,ABC未獲得成功主要是非開放造成的,所以,Guido一開始將Python主要目標之一定位在開放性。同時,Guido還想在Python中實現一些在ABC中閃現過但未曾實現的東西。可以說,Python起源于ABC,并收到了Modual-3語言的影響,同時結合了UNIX Shell和C語言的習慣。

    經過多年的發展,Python已經成為最受歡迎的程序設計語言之一。2011年1月,TIOBE將Python評為編程語言排行榜2010年度語言。TIOBE網站地址為:http://www.tiobe.com/tiobe_index.圖1-1顯示截止2018年2月的TIOBE程序設計語言排行榜,Python在眾多的程序設計語言中排在java、C、C++之后,處于第4位,其影響力可見一斑。

    ?

    圖1-1 TIOBE程序設計語言排行榜

    詳細了解Python的現狀,請訪問Python官方網站:http://Python.org

    1.1.2 Python應用案例

    目前,不少公司?Python開開發自己的產品.例如:

  • 世界上最大的視頻分享網站YouTube的視頻分享服務大部分采用Python實現。
  • 首個P2P文件分享軟件BitTorrent也采用Python實現。
  • 大型多人在線游戲EVE Online廣泛使用了Python。
  • Autodesk旗下的著名三維建模和動畫軟件Maya,為Python提供了API(Application Programming Interface,應用程序編程接口)。
  • Intel、Cisco、HP、Seagate、Qualcomm和IBM等公司使用Python進行硬件測試。
  • Pixar、Industrial Light & Magic等電影公司使用Python制作動畫電影。
  • JPMorgan Chase、UBS、GETCO、Citadel等公司使用Python做市場預測。
  • NASA、Los Alamos、Fermilab、JPL等使用Python執行科學計算。
  • iRobot使用Python開發了機器人真空吸塵器。
  • ESRI使用Python為終端定制GIS地圖產品。
  • NSA應用Python實現加密和智能分析。
  • IronPort使用Python實現電子郵件服務器產品。
  • Google、Yahoo、搜狐郵箱、知乎、果殼等也廣泛使用了Python。
  • ??在Python官方網站的Python Success Stories(http://Python.org/about/success/)

    1.1.3 Python的特點

    1.Python是免費的開源自由軟件

    ?Python具有下列顯著特點。

    ?Python遵循GPL協議,也是免費的,不管是用于個人還是商業用途,開發人員都無須支付任何費用,也不勇擔心版權問題。

    ?作為開源軟件,程序員可以獲得Python源代碼,以研究其內部細節,并可加以修改使其針對目標更加適用。也可以將Python嵌入系統或隨產品一起發布,甚至于銷售Python的源代碼,都沒有任何限制。

    2 Python是面向對象的語言

    面向對(Object Oriented,OO)是現代高級程序設計語言的一個重要特種。多態、運算符重載、繼承和多重繼承等面向對象編程(Object Oriented Programming OOP)的主要特征也在Python的類模式中得到很好的支持。得益于Python簡潔的語法和數據類型系統,Python中的OOP也變得極為簡單,比其他語言容易。

    OOP是Python的一個重要特征,初學者不必為此感到擔心。Python同樣支持傳統的面向過程的編程模式,完全可以在具有一定的基礎之后在深入學習Python的OOP。

    ?

    3 Python具有良好的跨平臺特征

    Python是用ANSI C實現的。C語言因為跨平臺和良好的額一致性成為經典的程序設計語言。這意味著Python也具有良好的跨平臺特性,可在目前所有的主流平臺上編譯和運行。所以,在Windows下編程的Python程序,可以輕松在Lunix等其他系統中運行。

    因為Python是開源的,可以輕松將其移植到各種不同平臺,包括Lunix、Windows、FreeBSD、BeOS和iOS等平臺。

    4 Python功能強大

    Python既屬于腳本語言,也屬于高級程序語言,所以,Python具有腳本語言(如Perl、Tcl和Scheme等)的簡單、易用特點,也具有高級程序語言(如C、C++和Java等)的強大功能

    Python具有一些強大的功能如下:

    ???動態數據類型:Python在代碼運行過程中跟蹤變量的數據類型,不需要在代碼中聲明變量的類型,也不要求在使用之前對變量進行類型的聲明。

    ???自動內存管理:良好的內存管理機制以為這程序運行具有更高的性能。Python程序員無須關心內存的使用和管理,Python自動分配和回收內存。

    大型程序支持:通過子模塊、類和異常等工具,允許Python應用大于程序開發。

    內置數據結構:Python提供常用數據結構支持。例如,列表、字段、字符串等都屬于Python內置對象。同時,Python也實現了各種數據結構的標準操作,如合并、分片、排序和映射等。

    內置庫:Python提供豐富的標準庫,從正則表達式匹配到網絡等,使Python可以實現多種應用。

    第三方工具集成:Python很容易集成第三方工具,通過各種擴展包將其應用到各種不同領域

    5Python簡單易學

    Python的設計理念是“優雅”“明確”“簡單”,提倡“用一種方法,最好只有一種方法來做一件事”,所以,Python語言語法簡潔、代碼易讀。在國外一些知名大學,開始采用Python作為程序設計課程的編程語言。例如,卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論均使用Python語言講授。

    Python不強調數據類型,變量在使用之前無須定義其數據類型,同一個變量可存儲不同類型的數據。

    ?

    ??????????????????圖1-2 Python開發人員的設計理念

    1.1.4 Python的版本

    Phthon發展到現在,經歷了多個版本,如表?1-1所示。

    表1-1?Python版本歷史

    版本號

    年份

    擁有者

    GPL兼容

    0.9.0~1.2

    1991-1995

    CWI

    1.3~1.5.2

    1995-1999

    CNRI

    1.6

    2000

    CNRI

    2.0

    2000

    BeOpen.com

    1.6.1

    2001

    CNRI

    2.1

    2001

    PSF

    2.0.1

    2001

    PSF

    2.1.1

    2001

    PSF

    2.1.2

    2002

    PSF

    2.1.3

    2002

    PSF

    2.2~2.7

    2001-2015

    PSF

    3.X

    2008至今

    PSF

    作為一個開源軟件,Python擁有一個參與者眾多的開發社區,它保持的不斷更新和改進。Python的開發者通過一個在線的源代碼控制系統協同工作,所有對Python的修改必須遵循PEP(Python Enhancement Proposals)協議,并通過Python擴展回歸測試系統的測試。目前,由一個非正式的組織PSF(Python Software Foundation,Python軟件基金)負責組織會議并處理Python的知識產權問題。

    1.1.5 Python 3.x 與2.x區別

    ?1.Python 3.x默認使用UTF-8編碼

    ???Python 3.x 源代碼中的字符默認使用UTF-8編碼,可以很好地支持中文或其他非英文字符。例如,在Python 3.x 中可以使用漢字作為變量名。

    >>>長度=100

    >>>print(長度)

    100

    ???在Python2.x中不能使用漢字作為變量名,否則會出錯。例如:

    >>>速度=100

    ???File”<stdin>”,line 1

    速度=100

    ^

    ?SyntaxError:invalid syntax

    ?

    ?2. print()函數替代了print語句 ?

    在Python3.x 中,調用print()函數來輸出數據。例如:

    >>>x=100

    >>>print(10,’abc’,x)

    10 ?abc 100

    在Python?2.x中則使用print語句。例如:

    >>>x = 100

    >>>print 10,’abc’,x

    10 abc 100

    >>>print(10,’abc’,x)

    (10,’abc’,100)

    3.完全面向對象

    在Python2.x中的各種數據類型,在3.x中全面升級為類(class)。例如,在Python2.x中輸出數據類型結果如下。

    ?

    >>> int,float,str

    (<class 'int'>, <class 'float'>, <class 'str'>)

    4.用視圖和迭代器替換了列表

    ?下面的常用方法或函數在Python2.x中返回列表,在3.x中有很多變化。

  • 3.x中,字典的keys()、items()和values()方法用返回視圖代替了列表,不再支持2.x中的iterkeys()、iteritems()和itervalues()。
  • 在3.x中,map()、filter()和zip()函數用返回迭代器替代了列表。
  • 5.比較運算中的改變

  • 比較運算的主要改變如下。
  • 用!=替代了<>。
  • 比較運算<=、<=、>=、和>在無法比較兩個數據大小順序時,會產生TypeError異常。
  • 在Python2.x中,1<”、0>None、len<=len等運算符返回False,而在3.x中則成圣了TypeError異常。
  • 在==和!=中,不兼容類型的數據視為不相等.
  • 6. 整數類型的改變
  • 整數類型的主要改變如下。
  • 取消了long類型,整數類型只有int一種。不再支持用后綴l或L表示長整形。
  • 在Python3.x中,/(除法)運算符返回浮點數(float類型)。2.x中兩個整數的/運算符返回整數(截斷了小數部分)。
  • 整數不再限制大小,刪除sys模塊中的maxint(最大整數)常量。
  • 不再支持以數字0開頭的八進制常量(如012),二改成用前綴”Oo”表示(如Oo12)。
  • 7 字符串改變

    ?在Python2.x中,字符串中的字符默認為單字節(8位),字符串的類型可分為str和unicode兩種。帶前綴”u”或者”U”的字符串為unicode類型,其他的字符(包括帶前綴”b” ”B” “r”或”R”的字符串)為str類型。所有的字符串在輸出時會將包含的字符直接輸出。

    例如:

    >>>print type(‘\\abc’),type(b’abc’),type(r’\\abc’),type(u’abc’)

    <type ‘str’><type ‘str’><type ‘str’><type ‘unicode’>

    >>>print ‘\\abc’,b’abc’,r’\\abc’,u’abc’

    \abc abc \\abc?abc

    在Python3.x中,字符默認為unicode字符,即雙字節符。字符串的數據類型分為str和bytes兩種。仍可使用字符串前綴”u”或者”U”,但會被忽略。

    在Python3.x中,字符串前綴”b”或”B” 表示二進制字符串,其類型為bytes。例如:

    >>> print(type('\\abc'),type(b'abc'),type(r'\\abc'),type(u'abc'))

    <class 'str'> <class 'bytes'> <class 'str'> <class 'str'>

    >>> print('\\abc',b'abc',r'\\abc',u'abc')

    \abc b'abc' \\abc abc

    8.取消了file數據類型

    Python3.x 取消了2.x中的file數據類型。使用open()函數打開文件時,返回的是_io.TextIOWrapper類的實力對象。例如:

    ???????

    >>>f=open(‘d:/text.txt’,’w’)

    >>>type(f)

    <class ‘_io.TextIOWrapper’>

    >>>f=open(‘d:/test.txt’,’w’)

    >>>type(f)

    <type ‘file’>

    9. 異常處理

    在Python3.x中,異常處理的改變主要如下。

  • 所有異常都從BaseException繼承,并刪除了StandardError異常。
  • 取消了異常類的序列行為和.message屬性。
  • 用raise Exception(args)代替raise Exception,args語法。
  • 捕獲異常的語法改變,引入了as關鍵字。
  • 在Python2.x中,用下面的代碼捕獲和處理異常。

    >>> try:

    … ???raise TypeError,’類型錯誤’

    … except TypeError,err:

    … ?????print err.message

    類型錯誤

    在Python3.x中,用下面的代碼捕獲和處理異常。

    >>>try:

    … ????raise TypeError(‘類型錯誤’)

    … except TypeError as err:

    … ???print(err)

    類型錯誤

    10.其他主要語法錯誤改變

    其他主要的語法改變如下。

  • 加入了關鍵字”as”和“with”。
  • 增加了常量”True” “Flase” 和”None”。
  • 加入nonlocal語句。使用nonlocal x 聲明x為函數外部的變量。
  • 刪除了raw_input(),用input()代替。
  • 去除元祖參數解包。不能像def(a,(b,c)):pass這樣定義函數了。
  • 增加了二進制字面量,如’0b110110110’。bin()函數可返回整數的二進制字符串。
  • 擴展了可迭代解包。在Python3.x里,”a,b *x=seq”和”X,a=seq”都是合法的,只要求兩點”x”是list。
  • 對象和“seq”是可迭代的。
  • 面向對象引入了抽象基類。
  • 類的迭代器方法next()改名為_next_(),并增加內置函數next(),用以調用迭代器的_next_()方法。
  • 總結

    以上是生活随笔為你收集整理的python初步的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。