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