圆方圆python入门:如何学习(二)
) 一、編程開發規范 作為一門開發語言,python自然也有自己的編程規范,以下是特有且必須遵循的規范:
代碼開頭 python中代碼必須頂格編寫,除非被作為語句嵌套在條件判斷或條件循環中。 代碼層級 代碼與代碼之間的邏輯層級關系(涉及邏輯判斷、包含關系等情況)通過空格來界定,第一層頂格編寫,第二層(被包含或者邏輯判斷后的執行動作)開頭預留4個空格(如果不考慮跨平臺可以使用tab) 對齊方式 同一個層級的代碼必須嚴格對齊,如第一層都是頂格,第二層都是4個空格開頭,第三層則是8個空格,以此類推。 注釋 單行注釋用#開頭,單獨一行作為注釋或者在代碼后面通過#跟上注釋均可,多行注釋在首尾處用成對的三引號引用即可,可以是成對的三個單引號或者三個雙引號。 代碼塊 if邏輯判斷和for循環條件后面均以冒號結尾,然后通過4個空格開始下一層級的實際執行動作語句編寫。這部分在冒號后面接上的語句稱為代碼塊。 程序命名 編寫的python程序必須以.py結尾。 項目規范 啟動一個項目開發時先在開發工具中創建project,然后根據需要創建目錄,最后在目錄下創建當前活動的py程序。 二、變量 python中的變量也用于存儲臨時值以便后續靈活調用,在定義時只能使用字母、數字、下劃線的任意組合,且不能以數字開頭,不能以python內置的關鍵字來命名變量(如and,import,global,finally等,有待后續學習加深印象)。對變量進行字符串類型的賦值時,字符串需要用成對的引號引起來,可以是單引號、雙引號或者三引號。
建議通過以下兩種形式來定義較為復雜的變量,便于閱讀:
駝峰體 即每個單詞的首字母大寫,其他小寫,如MappingTable 下劃線 不同單詞之間通過下劃線分開,如mappting_table 三、字符編碼 字符編碼經歷了ASCII碼->unicode->UTF-8的演變過程,python 2.x默認使用ASCII編碼,而3.x默認使用UTF-8編碼。由于字符編碼事關重大,一言不合就會導致亂碼,因此強烈建議統一使用萬用的utf-8編碼。怎么使用呢?
程序開頭明確顯式定義 #!/usr/bin/env python
-- coding: utf-8 -- ?
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官方下載安裝即可,需要注意的是建議安裝3.7版本,windows下安裝后需要把python的bin目錄和scripts目錄追加到系統環境變量path和用戶變量path中。我的win 7用戶不是以administor,補充追加了用戶變量后才能在cmd下傻瓜式地輸入python。linux下系統默認是2.x的版本,安裝3.7版本時需要先將舊版本重命名為其他目錄(如python2.6)后再安裝,安裝完畢無需額外設置環境變量。
好的程序猿都得有自己好使的IDE,python程序建議使用pycharm工具來進行開發。從官網下載安裝社區版即可,需要注意的是選擇后本地的解釋器和項目的默認字符編碼。其他一些好玩的特性、快捷鍵等只有后續逐步體會了。
六、模塊初識 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教程”,“python下載”,“python入門”類相關信息。】
總結
以上是生活随笔為你收集整理的圆方圆python入门:如何学习(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吉林推出百项政策扩开放
- 下一篇: 列表list