一、Python中什么是變量
在 Python 中,變量是用來存儲數(shù)據(jù)的標(biāo)識符。變量可以存儲各種類型的數(shù)據(jù),包括數(shù)字、字符串、列表、元組、字典等。在 Python 中,變量不需要提前聲明,只需要直接賦值即可。Python 中的變量有以下特性:
弱類型:Python 是一種弱類型語言,變量不需要指定類型,類型會在運行時自動推斷。動態(tài)性:Python 是一種動態(tài)語言,變量的類型和值可以隨時改變。將數(shù)據(jù)賦值給變量的過程就叫做賦值,Python里的賦值就使用“=”來實現(xiàn),下面是代碼示例:
s=5p='abc'm=3.14159t='中國人'姓名='張三' #可以使用中文作為變量名,但不推薦
變量只能容納一個值,當(dāng)新的賦值語句修改原有的變量值,原來的值就不存在了。Python的變量賦值方法比較靈活,如:
m=3.14159s=m+1 #結(jié)果為4.14159q=3+2-1*9 #結(jié)果為-4o=s+(5*2) #結(jié)果為14.14159
在其他強(qiáng)類型語言(如C++、C、Java)中,變量賦值前需要申明,但Python無須先申明,可以直接賦值。
二、什么是變量作用
變量作用是在程序中存儲和管理數(shù)據(jù)。在程序中,可以使用變量來存儲計算結(jié)果、用戶輸入、文件內(nèi)容等各種數(shù)據(jù)。使用變量可以使程序更加靈活和可維護(hù),可以動態(tài)地存儲和管理數(shù)據(jù),從而使程序更加通用和易于擴(kuò)展。
變量作用域是指變量在程序中的可見范圍。在 Python 中,變量的作用域分為全局作用域和局部作用域兩種:
全局變量:在函數(shù)外定義的變量為全局變量,在程序的任何地方都可以使用。局部變量:在函數(shù)內(nèi)部定義的變量為局部變量,只能在函數(shù)內(nèi)部使用。使用變量作用域可以避免變量名沖突,提高程序的可讀性和可維護(hù)性。在 Python 中,可以使用?global?和?nonlocal?關(guān)鍵字來修改全局變量和嵌套函數(shù)中的變量。
三、python介紹
1、簡介
Python由荷蘭數(shù)學(xué)和計算機(jī)科學(xué)研究學(xué)會的吉多·范羅蘇姆于1990年代初設(shè)計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭ython語法和動態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。
Python在各個編程語言中比較適合新手學(xué)習(xí),Python解釋器易于擴(kuò)展,可以使用C語言或C++(或者其他可以通過C調(diào)用的語言)擴(kuò)展新的功能和數(shù)據(jù)類型。Python也可用于可定制化軟件中的擴(kuò)展程序語言。Python豐富的標(biāo)準(zhǔn)庫,提供了適用于各個主要系統(tǒng)平臺的源碼或機(jī)器碼。
2、優(yōu)點
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。易學(xué):Python極其容易上手,因為Python有極其簡單的說明文檔。易讀、易維護(hù):風(fēng)格清晰劃一、強(qiáng)制縮進(jìn)速度較快:Python的底層是用C語言寫的,很多標(biāo)準(zhǔn)庫和第三方庫也都是用C寫的,運行速度非常快。免費、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團(tuán)體分享知識的概念。高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。可移植性:由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux開發(fā)的android平臺。解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機(jī)使用的語言(二進(jìn)制代碼,即0和1)。這個過程通過編譯器和不同的標(biāo)記、選項完成。運行程序的時候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。你可以直接從源代碼運行程序。在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運行。這使得使用Python更加簡單。也使得Python程序更加易于移植。面向?qū)ο?/strong>:Python既支持面向過程的編程也支持面向?qū)ο蟮木幊獭T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。Python是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運算符和動態(tài)類型。相對于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對函數(shù)式設(shè)計只提供了有限的支持。有兩個標(biāo)準(zhǔn)庫(functools,itertools)提供了Haskell和Standard ML中久經(jīng)考驗的函數(shù)式程序設(shè)計工具。可擴(kuò)展性、可擴(kuò)充性:如果需要一段關(guān)鍵代碼運行得更快或者希望某些算法不公開,可以部分程序用C或C++編寫,然后在Python程序中使用它們。Python本身被設(shè)計為可擴(kuò)充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴(kuò)充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內(nèi)。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊。《Python技術(shù)手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004年,Python已在Google內(nèi)部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can,C++ where we must,在操控硬件的場合使用C++,在快速開發(fā)時候使用Python。”可嵌入性:可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。豐富的庫:Python標(biāo)準(zhǔn)庫確實很龐大。它可以幫助處理各種工作,包括正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫以外,還有許多其他高質(zhì)量的庫,如wxPython、Twisted和Python圖像庫等等。規(guī)范的代碼:Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。Python的作者設(shè)計限制性很強(qiáng)的語法,使得不好的編程習(xí)慣(例如if語句的下一行不向右縮進(jìn))都不能通過編譯。其中很重要的一項就是Python的縮進(jìn)規(guī)則。一個和其他大多數(shù)語言(如C)的區(qū)別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定(而C語言是用一對大括號來明確的定出模塊的邊界,與字符的位置毫無關(guān)系)。通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。高級動態(tài)編程:雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規(guī)模軟件開發(fā)計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態(tài)編程語言,原因是“腳本語言”泛指僅作簡單程序設(shè)計任務(wù)的語言,如shellscript、VBScript等只能處理簡單任務(wù)的編程語言,并不能與Python相提并論。做科學(xué)計算優(yōu)點多:說起科學(xué)計算,首先會被提到的可能是MATLAB。除了MATLAB的一些專業(yè)性很強(qiáng)的工具箱還無法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相應(yīng)的擴(kuò)展庫。延伸閱讀1:Python的開發(fā)工具
Tkinter:Python默認(rèn)的圖形界面接口。Tkinter是一個和Tk接口的Python模塊,Tkinter庫提供了對Tk API的接口,它屬于Tcl/Tk的GUI工具組。PyGTK:用于python GUI程序開發(fā)的GTK+庫。GTK就是用來實現(xiàn)GIMP和Gnome的庫。PyQt:用于python的Qt開發(fā)庫。QT就是實現(xiàn)了KDE環(huán)境的那個庫,由一系列的模塊組成,有qt,qtcanvas,qtgl,qtnetwork,qtsql,qttable,qtui and qtxml,包含有300個類和超過5750個的函數(shù)和方法。PyQt還支持一個叫qtext的模塊,它包含一個QScintilla庫。該庫是Scintillar編輯器類的Qt接口。wxPython:GUI編程框架,熟悉MFC的人會非常喜歡,簡直是同一架構(gòu)(對于初學(xué)者或者對設(shè)計要求不高的用戶來說,使用Boa Constructor可以方便迅速的進(jìn)行wxPython的開發(fā))屬于外置庫,要先下載。PIL:python提供強(qiáng)大的圖形處理的能力,并提供廣泛的圖形文件格式支持,該庫能進(jìn)行圖形格式的轉(zhuǎn)換、打印和顯示。還能進(jìn)行一些圖形效果的處理,如圖形的放大、縮小和旋轉(zhuǎn)等。是Python用戶進(jìn)行圖象處理的強(qiáng)有力工具。