) 一、程式設計開發規範 作為一門開發語言,python自然也有自己的程式設計規範,以下是特有且必須遵循的規範:
**開頭 python中**必須頂格編寫,除非被作為語句巢狀在條件判斷或條件迴圈中。 **層級 **與**之間的邏輯層級關係(涉及邏輯判斷、包含關係等情況)通過空格來界定,第一層頂格編寫,第二層(被包含或者邏輯判斷後的執行動作)開頭預留4個空格(如果不考慮跨平台可以使用tab) 對齊方式 同乙個層級的**必須嚴格對齊,如第一層都是頂格,第二層都是4個空格開頭,第三層則是8個空格,以此類推。 注釋 單行注釋用#開頭,單獨一行作為注釋或者在**後面通過#跟上注釋均可,多行注釋在首尾處用成對的三引號引用即可,可以是成對的三個單引號或者三個雙引號。 **塊 if邏輯判斷和for迴圈條件後面均以冒號結尾,然後通過4個空格開始下一層級的實際執行動作語句編寫。這部分在冒號後面接上的語句稱為**塊。 程式命名 編寫的python程式必須以.py結尾。 專案規範 啟動乙個專案開發時先在開發工具中建立project,然後根據需要建立目錄,最後在目錄下建立當前活動的py程式。 二、變數 python中的變數也用於儲存臨時值以便後續靈活呼叫,在定義時只能使用字母、數字、下劃線的任意組合,且不能以數字開頭,不能以python內建的關鍵字來命名變數(如and,import,global,finally等,有待後續學習加深印象)。對變數進行字串型別的賦值時,字串需要用成對的引號引起來,可以是單引號、雙引號或者三引號。
建議通過以下兩種形式來定義較為複雜的變數,便於閱讀:
程式開頭明確顯式定義 #!/usr/bin/env python
windows下程式設計可忽略第一行,但為了保留移植性建議始終宣告變數。
在程式直譯器中選擇utf-8字元編碼 以上兩個條件缺一不可,雖然python 3.x版本預設使用utf-8編碼,但還是建議在程式中宣告編碼格式。
以上是結果,下面談談為什麼強烈建議使用urf-8編碼,以及為什麼utf-8編碼就可以通吃。
最早就只有包括所有字母的大小寫、數字、必要的特殊符號等合計才127個字元被編碼到計算機裡,這個編碼就是ascii編碼。由於需要進行編碼的字元才有127個,因此用7個二進位制位就足以搞定了,但8個二進位制位才能構成乙個完整的位元組,因此索性用8個二進位制位來進行編碼,剩餘的一位只好浪費掉。所以ascci碼只占用乙個字元。
隨著計算機技術的推廣和普及,其他不以英語為官方語言的國家也開始使用計算機了。那麼現在問題來了,乙個位元組的8個bit位只能表示非常有限的字元(設計時只包括所有字母的大小寫、數字、必要的特殊符號,其中整數還不能超過255),既有的ascii編碼表裡沒有包含其他國家的語言字元,但顯然也沒法強迫全球都使用英語,於是各個國家開始進行本土化改良,設計能滿足自己國家需要的編碼,如國內的gb2312。這裡的改良涉及兩個要點,一是原有的乙個位元組的編碼空間要擴充為兩個位元組甚至更多,二是新的編碼還不能與既有的ascii編碼衝突,否則老美要跟你捉急了!你可以想象,中國搞定了一套,日本也搞定了一套,接著是南韓、越南等巴拉巴拉,大家都有自己的編碼標準,各自為政,遇到多語言混合使用的場景這編碼表還不炸開鍋,連同計算機一起傻掉!這時unicode應運而生。unicode把所有語言都統一到一套編碼裡,用兩個甚至更多的位元組來進行編碼(通常用兩個位元組,搞不定時再喊人加砝碼呀),這樣就不會再有亂碼問題了。
unicode搞定了多國語言亂碼和編碼統一的問題,但你會發現如果需要處理的內容全部是英文的話,用unicode編碼比ascii編碼需要多一倍的儲存空間,在儲存和傳輸上就不太經濟划算。ok,unicode的演進改良版utf-8就是來解決這個問題的。utf-8的優勢在於它使用「可變長編碼」,在繼續沿用ascii編碼基礎上來對1個位元組不能搞定的那些語言字元進行編碼設計,這樣英文還是用1個位元組,遇到中文就用3個或者更多的位元組來處理。這樣既可以保障空間和效能的最大化,還能兼顧老美的老巢和其他非英文的編碼相容問題,一舉三得!所以你會發現ascii其實是utf-8的子集,utf-8向下相容。
四、 python直譯器 python是一門解釋性語言,自然不能缺了直譯器(類似於jvm)。官方支援cpython、jpython、ironpython和pypy等,預設使用基於c語言實現的cpython。它也是最為廣泛使用的直譯器。程式執行時會把.py檔案轉換成.pyc位元組碼檔案,然後執行在python虛擬機器上。
五、構建python的開發環境 構建好包括直譯器(虛擬機器)和開發工具ide在內的python的開發環境才便於展開程式開發之旅。
六、模組初識 python內建了很多模組,同時也可以自定義編寫一些好玩的模組,使用模組時需要通過關鍵字import匯入。匯入後python會從系統變數的路徑中從前往後一次查詢,首次成功查詢匹配後不再進行後續查詢。因此如果需要使用自定義模組,需要特別關注自定義模組的存放位置,底線是只存放在系統變數的乙個路徑下,否則可能得到意外的結果。
七、使用者輸入和格式化輸出 使用者輸入通過input來實現,示例如下:
yourname=input("please input you name here: ") 簡單的輸出通過print來實現,示例如下:
print("hi,", yourname) #呼叫輸出上面使用者輸入的變數yourname 注意:
3.x版本中input預設接收使用者輸入的型別為字串,如果需要使用其他的資料型別則需要進行轉換,如 userage=int(input("please input your name:")) print輸出中可以接上轉義符號\來實現更多的輸出顯示效果,如 \n表示換行,\t為製表符。 print的使用高階——字串的格式化輸出:
python中,對字串進行格式化輸出與c語言是相同的,即借助%來實現。%s表示與字串替換,%d表示用整數替換,%f表示用浮點數替換,如果輸出的字串中本身就需要%(比如輸出比率),則需要用連續的兩個%%來輸出%。
示例程式如下: #!/usr/bin/env python #-- coding:utf-8 -- print ("your name is %s" %"bob") print ("your age is %d" %21) print ("your name is %s,age is %d" %("bob",21)) 從以上示例程式可看出,利用print進行格式化輸出的基本格式是在需要替換輸出的位置用%s,%d等佔位符,然後在後面通過%來接上實際替換後需要輸出的內容,如果需要替換輸出的元素不止乙個,則需要在%後面通過一對圓括號把實際替換後需要輸出的內容包含進來,同時在每個元素之間用逗號隔開。
八、python的執行邏輯 python的執行工作邏輯如下:
記憶體載入**->語法分析->直譯器載入->生成位元組碼->執行位元組碼->生成機器碼->cpu執行
python如何求圓的面積
首先我們要知道圓的面積計算公式 s r 公式中s為所求圓的面積,為圓周率,r為圓的半徑。示例 定義乙個方法來計算圓的面積 def findarea r pi 3.142 return pi r r 呼叫方法 print 圓的面積為 6f 程式設計客棧 findarea 5 上面例子中我們定義了乙個f...
python如何程式設計 如何入門Python程式設計
python目前已經成為受歡迎的程式語言之一,吸引了一大批粉絲,但是很多人在要跨入的時候猶豫了,原因竟然是覺得學習python太難了,真的是這樣嗎?入門python程式設計學習有什麼好的技巧嗎?python因為其清晰易讀的風格,廣泛的適用性,python已經成為受歡迎的程式語言之一。在tiobe 榜...
如何學習Python爬蟲 入門篇 ?
如何學習python爬蟲 入門篇 第一 python爬蟲學習系列教程 python版本 2.7 整體目錄 一 爬蟲入門 python爬蟲入門一之綜述 python爬蟲入門二之爬蟲基礎了解 python爬蟲入門三之urllib庫的基本使用 python爬蟲入門四之urllib庫的高階用法 python...