python2.7入門---簡介&基礎語法


        Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言,具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。基於上述原因,本人開始接觸python這門語言,下面看一下它的解釋:

 

  • Python 是一種解釋型語言: 這意味着開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。

  • Python 是交互式語言: 這意味着,您可以在一個Python提示符,直接互動執行寫你的程序。

  • Python 是面向對象語言: 這意味着Python支持面向對象的風格或代碼封裝在對象的編程技術。

  • Python 是初學者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。

     Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和計算機科學研究所設計出來的。Python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的腳本語言等等。像 Perl 語言一樣,Python 源代碼同樣遵循 GPL(GNU General Public License)協議。現在 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然占據着至關重要的作用,指導其進展。同時它的語言特點也是非常明顯的,大家可以一起來看一下:

 

  • 1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。

  • 2.易於閱讀:Python代碼定義的更清晰。

  • 3.易於維護:Python的成功在於它的源代碼是相當容易維護的。

  • 4.一個廣泛的標准庫:Python的最大的優勢之一是豐富的庫,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互動模式:互動模式的支持,您可以從終端輸入執行代碼並獲得結果的語言,互動的測試和調試代碼片斷。

  • 6.可移植:基於其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平台。

  • 7.可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不願開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調用。

  • 8.數據庫:Python提供所有主要的商業數據庫的接口。

  • 9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。

  • 10.可嵌入: 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。

    好啦,到這里呢,python的基本介紹也就差不多了,接下來我們就來看一下它是怎么來運行的吧。首先我們要輸出的就是我們最常見和最親切的Hello Word:

 

#!/usr/bin/python print "Hello, World!";
Hello, World! 
    運行上述代碼就會輸出我們的Hello, World!,大家可以試一下。雖然說,你輸出正常了,但是不要開心得太早,嘿嘿,你那么厲害,輸出個你好世界來看看。
#!/usr/bin/python print "你好,世界";
  File "test.py", line 2 SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
    看看看,報錯了吧,這是中文編碼問題,嘿嘿。這是因為Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確打印漢字,所以在讀取中文時會報錯。解決方法為只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。嘿嘿,不過要注意:#coding=utf-8 的 = 號兩邊不要空格。
#!/usr/bin/python # -*- coding: UTF-8 -*- print "你好,世界";
     輸出結果為:
你好,世界
     再來看看python的基礎語法哈,Python 語言與 Perl,C 和 Java 等語言有許多相似之處。但是,也存在一些差異。首先它有兩種編程方式,一種是交互式編程,不需要創建腳本文件,是通過 Python 解釋器的交互模式進來編寫代碼。另外一種就是腳本式編程,通過腳本參數調用解釋器開始執行腳本,直到腳本執行完畢。當腳本執行完成后,解釋器不再有效。接下來我們來具體的看看這兩種編程方式,首先是交互式編程。
    linux上你只需要在命令行中輸入 Python 命令即可啟動交互式編程,提示窗口如下:
$ python
Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
    Window 上在安裝 Python 時已經已經安裝了默認的交互式編程客戶端,提示窗口如下:

     在 python 提示符中輸入以下文本信息,然后按 Enter 鍵查看運行效果:
>>> print "Hello, Python!";
     輸出的結果如下:
Hello, Python!
     接下來就是腳本式編程了,讓我們寫一個簡單的 Python 腳本程序。所有 Python 文件將以 .py 為擴展名。將以下的源代碼拷貝至 test.py 文件中:
print "Hello, Python!";
     這里,假設已經設置了 Python 解釋器 PATH 變量。使用以下命令運行程序:
$ python test.py
     輸出結果如下:
Hello, Python!
     讓我們嘗試另一種方式來執行 Python 腳本。修改 test.py 文件:
#!/usr/bin/python print "Hello, Python!";
     這里,假定Python解釋器在/usr/bin目錄中,使用以下命令執行腳本:
$ chmod +x test.py # 腳本文件添加可執行權限 $ ./test.py
     運行上述代碼,輸出的結果為:
Hello, Python!
     接下來,我們來看一下python它的標識符,在 Python 里,標識符由字母、數字、下划線組成,所有標識符可以包括英文、數字以及下划線(_),但不能以數字開頭,標識符是區分大小寫的,以下划線開頭的標識符是有特殊意義的。以單下划線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入;以雙下划線開頭的 __foo 代表類的私有成員;以雙下划線開頭和結尾的 __foo__ 代表 Python 里特殊方法專用的標識,如 __init__() 代表類的構造函數。Python 可以同一行顯示多條語句,方法是用分號 ; 分開,如:
>>> print 'hello';print 'luyaran'; hello luyaran
     完事呢,我們再來看一下python的保留字符,如下表所示:
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield
    上面的列表顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他標識符名稱。所有 Python 的關鍵字只包含小寫字母。
     我們再來看一下書寫python腳本時的行和縮進哈:學習 Python 與其他語言最大的區別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數以及其他邏輯判斷。python 最具特色的就是用縮進來寫模塊。縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。如下所示:
if True: print "True" else: print "False"
     以下代碼會執行錯誤:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:test.py if True: print "Answer" print "True" else: print "Answer" # 沒有嚴格縮進,在執行時會報錯 print "False"
     執行上述代碼,會產生如下錯誤:
$ python test.py File "test.py", line 10 print "False" ^ IndentationError: unindent does not match any outer indentation level
     IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可。如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。因此,在 Python 的代碼塊中必須使用相同數目的行首縮進空格數。建議在每個縮進層次使用 單個制表符兩個空格四個空格 , 切記不能混用。
    行和縮進,到這里就差不多完事了。但是呢還有一個問題,,有時候我們寫的代碼這一行可能寫不完,可能需要換行來書寫,為了看着比較方便,python這里也有一種書寫方式叫做多行語句。接下來看一下我們的多行代碼該怎么書寫哈:Python語句中一般以新行作為語句的結束符。但是我們可以使用斜杠( \)將一行的語句分為多行顯示,如下所示:
total = item_one + \ item_two + \ item_three
    語句中包含 [], {} 或 () 括號就不需要使用多行連接符。如下實例:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    基本的東西,到這里就差不了多少了,接下來就看一下比較常用的,比如,引號,還有注釋等,我們先來看一下引號哈。Python 可以使用引號( ' )、雙引號( " )、三引號( '''""" ) 來表示字符串,引號的開始與結束必須的相同類型的。其中三引號可以由多行組成,編寫多行文本的快捷語法,常用於文檔字符串,在文件的特定地點,被當做注釋。看實例:
    
word = 'word' sentence = "這是一個句子。" paragraph = """這是一個段落。 包含了多個語句"""
    再來看一下python中的注釋哈,python中單行注釋采用 # 開頭:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:test.py # 第一個注釋 print "Hello, Python!"; # 第二個注釋
    運行上述代碼,輸出的結果為:
Hello, Python!
    注釋可以在語句或表達式行末:
name = "Madisetti" # 這是一個注釋
    python 中多行注釋使用三個單引號(''')或三個雙引號("""):
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:test.py ''' 這是多行注釋,使用單引號。 這是多行注釋,使用單引號。 這是多行注釋,使用單引號。 ''' """ 這是多行注釋,使用雙引號。 這是多行注釋,使用雙引號。 這是多行注釋,使用雙引號。 """
    再來看一下python中的空行的解釋哈。函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。空行與代碼縮進不同,空行並不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日后代碼的維護或重構。記住:空行也是程序代碼的一部分。
    python中還有一個比較有意思的函數,就是等待用戶輸入。下面的程序執行后就會等待用戶輸入,按回車鍵后就會退出:
#!/usr/bin/python # -*- coding: UTF-8 -*- raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")
    以上代碼中 ,\n 實現換行。一旦用戶按下 enter(回車) 鍵退出,其它鍵顯示。還有就是同一行書寫多條語句,和上面的不一樣哦。上面的是一條語句占用多行,這里的事多條語句占用一行,在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的實例:
    
#!/usr/bin/python import sys; x = 'luyaran'; sys.stdout.write(x + '\n')
    運行上述代碼,輸出的結果為:
$ python test.py luyaran
    好的,接下來我們來看一下print輸出哈,print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上逗號:
#!/usr/bin/python # -*- coding: UTF-8 -*- x="a" y="b" # 換行輸出 print x print y print '---------' # 不換行輸出 print x, print y, # 不換行輸出 print x,y
    執行上述實例,輸出的結果為:
a
b
--------- a b a b
    完事之后就要來看一下代碼組這個概念了啊,縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行之后的一行或多行代碼構成代碼。我們將首行及后面的代碼組稱為一個子句(clause)。看一下實例哈:
if expression : suite elif expression : suite else : suite 
    最后我們再來看一下python的命令行參數就差不多結束了啊。有很多的,本人就只整理了一部分哈:
選項 描述
-d 在解析時顯示調試信息
-O 生成優化代碼 ( .pyo 文件 )
-S 啟動時不引入查找Python路徑的位置
-V 輸出Python版本號
-X 從 1.6版本之后基於內建的異常(僅僅用於字符串)已過時。
-c cmd 執行 Python 腳本,並將運行結果作為 cmd 字符串。
file 在給定的python文件執行python腳本。
    最后再來一個命令行參數的實例哈,那就是-h。很多程序可以執行一些操作來查看一些基本信息,Python 可以使用 -h 參數查看各參數幫助信息:
    
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
    具體的python命令行參數,在下會在之后的文章中單獨寫一篇文章來介紹的,上面就只是簡單提到一點而已。最后注明哈,以上所有內容只是本人學習過程中的一部分筆記哈。各位看官勿噴哈,別上綱上線的哈。
     如果各位看官覺得寫的不錯的話,不妨多多點贊支持哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM