python语言的单行注释以井号开头_推荐|零基础学习Python基础知识
原標題:推薦|零基礎(chǔ)學(xué)習(xí)Python基礎(chǔ)知識
Python是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設(shè)計語言。語法簡潔清晰,強制用空白符作為語句縮進。 Python具有豐富和強大的庫,又被稱為膠水語言。能把其他語言(主要C/C++)寫的模塊很輕松的結(jié)合在一起。
1.1 介紹
1.1.1 特點
Python是一種面向?qū)ο?、解釋型計算機程序設(shè)計語言。語法簡潔清晰,強制用空白符作為語句縮進。
Python具有豐富和強大的庫,又被稱為膠水語言。能把其他語言(主要C/C++)寫的模塊很輕松的結(jié)合在一起。
1.1.2 應(yīng)用領(lǐng)域
Web網(wǎng)站:有很多優(yōu)秀的開源Web框架,比如Django(最流行)、Tornado(輕量級、異步)、Flask(微型)、Web.py(簡單)等。
數(shù)據(jù)采集:有好用的http庫,比如urllib2、requests等。還有高級的屏幕爬取及網(wǎng)頁采集框架scrapy。并對網(wǎng)頁解析也有很多庫,比如lxml、xpath、BeautifulSoup等。
大數(shù)據(jù)分析:常用模塊有Numpy、Pandas。并支持寫MapReduce、PySpark處理Spark RDD(彈性分布式數(shù)據(jù)集)。
運維自動化:編寫腳本、Web平臺,自動化日常工作。
科學(xué)計算:在科學(xué)計算也應(yīng)用越來越廣泛,常用的模塊有Numpy、SciPy。
等等...可見Python是一門通用語言!
1.1.3 為什么選擇Python?
運維的目的呢,主要還是學(xué)習(xí)Python用來實現(xiàn)運維自動化了。大多數(shù)人除了shell腳本外有其他語言基礎(chǔ)的應(yīng)該占少數(shù)。
我們以Python作為第一門語言是很好的選擇。為什么呢?
1) 語法簡潔,易于學(xué)習(xí)。
2) 廣泛的標準庫,適合快速開發(fā),不就追求極快處理速度。
3) 跨平臺,基本所有的所有的操作系統(tǒng)都能運行。
4) 運維領(lǐng)域Python最流行。
1.2安裝Python
操作系統(tǒng)采用CentOS6.5,默認安裝了Python2.6.6,那我們升級到Python2.7最新版Python2.7.12
1.3解釋器
1.3.1 Python解釋器幾種實現(xiàn)版本
1) CPython
當我們裝完P(guān)ython后,其默認解釋就是CPython,也是官方默認解釋器。CPython是C語言寫的,當執(zhí)行代碼時會將代碼轉(zhuǎn)化成字節(jié)碼(ByteCode)。
2) IPython
基于CPython之上的一個交互式解釋器,相當于默認解釋器的一個增強版,最顯著的功能就是自動補全,挺好用的。
3) PyPy
PyPy本身是由Python編寫的,使用了JIT編譯器(即時編譯器)技術(shù),當執(zhí)行代碼時JIT編譯器將代碼翻譯成機器碼。性能相比CPython要好。JAVA也采用了JIT編譯器。
4) Jython
Jython是由JAVA編寫的一個解釋器,可以把JAVA模塊加載到Python的模塊中使用,也可以把Python代碼打包成JAR包,意味著允許用Python寫JAVA程序了。當執(zhí)行代碼時會將代碼轉(zhuǎn)化成JAVA字節(jié)碼,然后使用JRE執(zhí)行。
5) IronPython
在.NET平臺上工作的Python語言。
1.3.2 Python代碼執(zhí)行過程
大致流程:源代碼編譯成字節(jié)碼(.pyc文件)--> Python虛擬機 --> 執(zhí)行編譯好的字節(jié)碼 --> Python虛擬機將字節(jié)碼翻譯成對應(yīng)的機器指令(機器碼)
運行Python程序時,先編譯成字節(jié)碼并保存到內(nèi)存中,當程序運行結(jié)束后,Python解釋器將內(nèi)存中字節(jié)碼對象寫到.pyc文件中。
第二次再運行此程序時,先回從硬盤中尋找.pyc文件,如果找到,則直接載入,否則就重復(fù)上面的過程。
這樣好處是,不重復(fù)編譯,提供執(zhí)行效率。
1) 字節(jié)碼
字節(jié)碼是一種包含執(zhí)行程序、由一序列op代碼/數(shù)據(jù)對組成的二進制文件。字節(jié)碼是一種中間碼,比機器碼更抽象。
2) 機器碼
機器碼是一種指令集,讓CPU可直接解讀的數(shù)據(jù)。也稱為原生碼。
1.4 代碼風(fēng)格
1.4.1 代碼風(fēng)格有毛用?
個人覺得有以下幾個作用:
1) 團隊協(xié)作
在企業(yè)中,一個團隊開發(fā)一個項目很正常不過了,剛?cè)肼毷遣皇菚茸屇闶煜け竟镜木幋a規(guī)范文檔呢,作為純開發(fā)來說,我相信大多數(shù)公司都會這么做,其中目的是讓團隊中的每個成員,寫代碼時能夠統(tǒng)一,避免項目中出現(xiàn)幾個編碼風(fēng)格版本,不利用后期維護和交接。
2) 有利于解決問題
草泥馬,又出問題了,代碼運行不起來了,怎么辦?百度、谷歌無解...是時候求助大神了,來看看我的代碼吧!大神一看,琢磨了一會,你想多了,不是再想你的問題,而是在梳理你的代碼實現(xiàn)的功能和邏輯關(guān)系。結(jié)果發(fā)現(xiàn),多了括號。擦,我怎么就沒看到呢!~
3) 未雨綢繆
功能終于實現(xiàn)了,發(fā)布到線上運行也挺正常,過了半年后,突然跑不起來了,趕緊排查問題,代碼看著看著自己就懵逼了,這還是自己寫的代碼嘛,長的這么不像我,是親生的嘛!
小結(jié):只要人人都獻出一點愛,世界將會變成美好的人間。
1.4.2 編寫代碼怎么能更規(guī)范化?
1) 縮進
Python以空白符作為語句縮進,意味著語句沒有結(jié)尾符,給往往因為少寫個fi的人帶來了福利,在Python中最好以4個空格作為縮進符。
2) 代碼注釋
據(jù)說優(yōu)質(zhì)的代碼,注釋說明要比代碼量多,詳細的代碼說明不管對自己后期維護還是開源,都是有必要的。就像一個流行的軟件,如果沒有豐富的使用文檔,你認為會有多少耐心的人去花大把的時間研究它呢!
3) 空格使用
在操作符兩邊,以及逗號后面,加1個空格。但是在括號左右不加空格。
在函數(shù)、類、以及某些功能代碼塊,空出一行,來分隔它們。
4) 命名
模塊:自己寫的模塊,文件名全部小寫,長名字單詞以下劃線分隔。
類:大/小駝峰命名。我一般采用大駝峰命名,也就是每個單詞首字母大寫。類中私有屬性、私有方法,以雙下劃線作為前綴。
函數(shù):首單詞小寫,其余首字母大寫。
變量:都小寫,單詞以下劃線分隔。
提醒:所有的命名必須能簡要說明此代碼意義。
5) 代碼換行
按照語法規(guī)則去換行,比如一個很長的表達式,可以在其中某個小表達式兩邊進行換行,而不是將小表達式拆分,這樣更容易閱讀。
1.5 交互式解釋器
直接執(zhí)行Python命令就啟動默認的CPython解釋器:
1.6 運算操作符
1.7 賦值操作符
賦值操作符,操作符左邊運算右邊,然后將結(jié)果賦值給操作符左邊。
1.8 變量
1.8.1 變量賦值
1.8.2 變量引用
上面打印時就是在引用變量了,可見Python引用變量不用加$什么特殊字符,不像Shell、PHP那樣,還要加$。
的確,直接用變量名即是引用,下面說一種常用的字符串格式輸出時引用變量的方法。
說明:雙引號里面%操作符算是占位符吧,d代表數(shù)字,s代表字符串。雙引號外面%加上后面的變量名對應(yīng)里面的第一個%。
下面同時引用了兩個變量,外面%()里變量名位置對應(yīng)雙引號里面的%位置。
1.8.3 局部變量
1.8.4 全局變量
說明:從上面并不能看出什么區(qū)別,后續(xù)在函數(shù)章節(jié)中會講解局部變量和全局變量的區(qū)別和使用。
1.9 轉(zhuǎn)義字符(列出一些常用的)
示例:
如果不想讓轉(zhuǎn)義字符生效,可以用r指定顯示原始字符串:
1.10 獲取用戶輸入
1.10.1 raw_input()
1.10.2 input()
1.10.3 raw_input()與input()函數(shù)區(qū)別
可以看到兩個函數(shù)用同樣的方式輸入,結(jié)果input()報錯!
原因是因為raw_input()把任何輸入的都轉(zhuǎn)成字符串存儲。
而input()接受輸入的是一個表達式,否則就報錯。
1.11 運行第一個程序
easy!打印Hello world已經(jīng)沒什么難度了,那改進下剛學(xué)接受用戶輸入。
1.12 注釋
單行注釋:井號("#")開頭
多行注釋:三單引號或三雙引號
原文:http://lizhenliang.blog.51cto.com and https://yq.aliyun.com/u/lizhenliang返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的python语言的单行注释以井号开头_推荐|零基础学习Python基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建的二叉树后续非递归遍历结果为_一入递
- 下一篇: ssm框架app管理平台_后端程序员跨平