python如何學(xué)習(xí)(二)-創(chuàng)新互聯(lián)

最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái) 78486745 。

10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有宜秀免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

一、編程開(kāi)發(fā)規(guī)范

作為一門(mén)開(kāi)發(fā)語(yǔ)言,python自然也有自己的編程規(guī)范,以下是特有且必須遵循的規(guī)范:

  1. 代碼開(kāi)頭
    python中代碼必須頂格編寫(xiě),除非被作為語(yǔ)句嵌套在條件判斷或條件循環(huán)中。
  2. 代碼層級(jí)
    代碼與代碼之間的邏輯層級(jí)關(guān)系(涉及邏輯判斷、包含關(guān)系等情況)通過(guò)空格來(lái)界定,第一層頂格編寫(xiě),第二層(被包含或者邏輯判斷后的執(zhí)行動(dòng)作)開(kāi)頭預(yù)留4個(gè)空格(如果不考慮跨平臺(tái)可以使用tab)
  3. 對(duì)齊方式
    同一個(gè)層級(jí)的代碼必須嚴(yán)格對(duì)齊,如第一層都是頂格,第二層都是4個(gè)空格開(kāi)頭,第三層則是8個(gè)空格,以此類(lèi)推。
  4. 注釋
    單行注釋用#開(kāi)頭,單獨(dú)一行作為注釋或者在代碼后面通過(guò)#跟上注釋均可,多行注釋在首尾處用成對(duì)的三引號(hào)引用即可,可以是成對(duì)的三個(gè)單引號(hào)或者三個(gè)雙引號(hào)。
  5. 代碼塊
    if邏輯判斷和for循環(huán)條件后面均以冒號(hào)結(jié)尾,然后通過(guò)4個(gè)空格開(kāi)始下一層級(jí)的實(shí)際執(zhí)行動(dòng)作語(yǔ)句編寫(xiě)。這部分在冒號(hào)后面接上的語(yǔ)句稱(chēng)為代碼塊。
  6. 程序命名
    編寫(xiě)的python程序必須以.py結(jié)尾。
  7. 項(xiàng)目規(guī)范
    啟動(dòng)一個(gè)項(xiàng)目開(kāi)發(fā)時(shí)先在開(kāi)發(fā)工具中創(chuàng)建project,然后根據(jù)需要?jiǎng)?chuàng)建目錄,最后在目錄下創(chuàng)建當(dāng)前活動(dòng)的py程序。

二、變量

python中的變量也用于存儲(chǔ)臨時(shí)值以便后續(xù)靈活調(diào)用,在定義時(shí)只能使用字母、數(shù)字、下劃線的任意組合,且不能以數(shù)字開(kāi)頭,不能以python內(nèi)置的關(guān)鍵字來(lái)命名變量(如and,import,global,finally等,有待后續(xù)學(xué)習(xí)加深印象)。對(duì)變量進(jìn)行字符串類(lèi)型的賦值時(shí),字符串需要用成對(duì)的引號(hào)引起來(lái),可以是單引號(hào)、雙引號(hào)或者三引號(hào)。

建議通過(guò)以下兩種形式來(lái)定義較為復(fù)雜的變量,便于閱讀:

  1. 駝峰體
    即每個(gè)單詞的首字母大寫(xiě),其他小寫(xiě),如MappingTable
  2. 下劃線
    不同單詞之間通過(guò)下劃線分開(kāi),如mappting_table

三、字符編碼

字符編碼經(jīng)歷了ASCII碼->unicode->UTF-8的演變過(guò)程,python 2.x默認(rèn)使用ASCII編碼,而3.x默認(rèn)使用UTF-8編碼。由于字符編碼事關(guān)重大,一言不合就會(huì)導(dǎo)致亂碼,因此強(qiáng)烈建議統(tǒng)一使用萬(wàn)用的utf-8編碼。怎么使用呢?

  1. 程序開(kāi)頭明確顯式定義
#!/usr/bin/env python
# -*- coding: utf-8 -*-  

windows下編程可忽略第一行,但為了保留移植性建議始終聲明變量。

  1. 在程序解釋器中選擇utf-8字符編碼

以上兩個(gè)條件缺一不可,雖然python 3.x版本默認(rèn)使用utf-8編碼,但還是建議在程序中聲明編碼格式。

以上是結(jié)果,下面談?wù)劄槭裁磸?qiáng)烈建議使用urf-8編碼,以及為什么utf-8編碼就可以通吃。

最早就只有包括所有字母的大小寫(xiě)、數(shù)字、必要的特殊符號(hào)等合計(jì)才127個(gè)字符被編碼到計(jì)算機(jī)里,這個(gè)編碼就是ASCII編碼。由于需要進(jìn)行編碼的字符才有127個(gè),因此用7個(gè)二進(jìn)制位就足以搞定了,但8個(gè)二進(jìn)制位才能構(gòu)成一個(gè)完整的字節(jié),因此索性用8個(gè)二進(jìn)制位來(lái)進(jìn)行編碼,剩余的一位只好浪費(fèi)掉。所以ASCCI碼只占用一個(gè)字符。

隨著計(jì)算機(jī)技術(shù)的推廣和普及,其他不以英語(yǔ)為官方語(yǔ)言的國(guó)家也開(kāi)始使用計(jì)算機(jī)了。那么現(xiàn)在問(wèn)題來(lái)了,一個(gè)字節(jié)的8個(gè)bit位只能表示非常有限的字符(設(shè)計(jì)時(shí)只包括所有字母的大小寫(xiě)、數(shù)字、必要的特殊符號(hào),其中整數(shù)還不能超過(guò)255),既有的ASCII編碼表里沒(méi)有包含其他國(guó)家的語(yǔ)言字符,但顯然也沒(méi)法強(qiáng)迫全球都使用英語(yǔ),于是各個(gè)國(guó)家開(kāi)始進(jìn)行本土化改良,設(shè)計(jì)能滿(mǎn)足自己國(guó)家需要的編碼,如國(guó)內(nèi)的GB2312。這里的改良涉及兩個(gè)要點(diǎn),一是原有的一個(gè)字節(jié)的編碼空間要擴(kuò)充為兩個(gè)字節(jié)甚至更多,二是新的編碼還不能與既有的ASCII編碼沖突,否則老美要跟你捉急了!你可以想象,中國(guó)搞定了一套,日本也搞定了一套,接著是韓國(guó)、越南等巴拉巴拉,大家都有自己的編碼標(biāo)準(zhǔn),各自為政,遇到多語(yǔ)言混合使用的場(chǎng)景這編碼表還不炸開(kāi)鍋,連同計(jì)算機(jī)一起傻掉!這時(shí)Unicode應(yīng)運(yùn)而生。Unicode把所有語(yǔ)言都統(tǒng)一到一套編碼里,用兩個(gè)甚至更多的字節(jié)來(lái)進(jìn)行編碼(通常用兩個(gè)字節(jié),搞不定時(shí)再喊人加砝碼呀),這樣就不會(huì)再有亂碼問(wèn)題了。

Unicode搞定了多國(guó)語(yǔ)言亂碼和編碼統(tǒng)一的問(wèn)題,但你會(huì)發(fā)現(xiàn)如果需要處理的內(nèi)容全部是英文的話(huà),用Unicode編碼比ASCII編碼需要多一倍的存儲(chǔ)空間,在存儲(chǔ)和傳輸上就不太經(jīng)濟(jì)劃算。OK,Unicode的演進(jìn)改良版utf-8就是來(lái)解決這個(gè)問(wèn)題的。utf-8的優(yōu)勢(shì)在于它使用“可變長(zhǎng)編碼”,在繼續(xù)沿用ASCII編碼基礎(chǔ)上來(lái)對(duì)1個(gè)字節(jié)不能搞定的那些語(yǔ)言字符進(jìn)行編碼設(shè)計(jì),這樣英文還是用1個(gè)字節(jié),遇到中文就用3個(gè)或者更多的字節(jié)來(lái)處理。這樣既可以保障空間和性能的大化,還能兼顧老美的老巢和其他非英文的編碼兼容問(wèn)題,一舉三得!所以你會(huì)發(fā)現(xiàn)ASCII其實(shí)是utf-8的子集,utf-8向下兼容。

四、 Python解釋器

python是一門(mén)解釋性語(yǔ)言,自然不能缺了解釋器(類(lèi)似于JVM)。官方支持Cpython、Jpython、Ironpython和pypy等,默認(rèn)使用基于C語(yǔ)言實(shí)現(xiàn)的Cpython。它也是最為廣泛使用的解釋器。程序運(yùn)行時(shí)會(huì)把.py文件轉(zhuǎn)換成.pyc字節(jié)碼文件,然后運(yùn)行在python虛擬機(jī)上。

最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái) 78486745 。

五、構(gòu)建Python的開(kāi)發(fā)環(huán)境

構(gòu)建好包括解釋器(虛擬機(jī))和開(kāi)發(fā)工具IDE在內(nèi)的Python的開(kāi)發(fā)環(huán)境才便于展開(kāi)程序開(kāi)發(fā)之旅。

其中解釋器(虛擬機(jī))從python官方下載安裝即可,需要注意的是建議安裝3.7版本,windows下安裝后需要把python的bin目錄和scripts目錄追加到系統(tǒng)環(huán)境變量path和用戶(hù)變量path中。我的win 7用戶(hù)不是以administor,補(bǔ)充追加了用戶(hù)變量后才能在cmd下傻瓜式地輸入python。linux下系統(tǒng)默認(rèn)是2.x的版本,安裝3.7版本時(shí)需要先將舊版本重命名為其他目錄(如python2.6)后再安裝,安裝完畢無(wú)需額外設(shè)置環(huán)境變量。

好的程序猿都得有自己好使的IDE,python程序建議使用pycharm工具來(lái)進(jìn)行開(kāi)發(fā)。從官網(wǎng)下載安裝社區(qū)版即可,需要注意的是選擇后本地的解釋器和項(xiàng)目的默認(rèn)字符編碼。其他一些好玩的特性、快捷鍵等只有后續(xù)逐步體會(huì)了。

六、模塊初識(shí)

python內(nèi)置了很多模塊,同時(shí)也可以自定義編寫(xiě)一些好玩的模塊,使用模塊時(shí)需要通過(guò)關(guān)鍵字import導(dǎo)入。導(dǎo)入后python會(huì)從系統(tǒng)變量的路徑中從前往后一次查找,首次成功查找匹配后不再進(jìn)行后續(xù)查找。因此如果需要使用自定義模塊,需要特別關(guān)注自定義模塊的存放位置,底線是只存放在系統(tǒng)變量的一個(gè)路徑下,否則可能得到意外的結(jié)果。

七、用戶(hù)輸入和格式化輸出

用戶(hù)輸入通過(guò)input來(lái)實(shí)現(xiàn),示例如下:

YourName=input("Please input you name here: ")

簡(jiǎn)單的輸出通過(guò)print來(lái)實(shí)現(xiàn),示例如下:

print("Hi,", YourName)  #調(diào)用輸出上面用戶(hù)輸入的變量YourName

注意:

  1. 3.x版本中input默認(rèn)接收用戶(hù)輸入的類(lèi)型為字符串,如果需要使用其他的數(shù)據(jù)類(lèi)型則需要進(jìn)行轉(zhuǎn)換,如 UserAge=int(input("Please input your name:"))
  2. print輸出中可以接上轉(zhuǎn)義符號(hào)\來(lái)實(shí)現(xiàn)更多的輸出顯示效果,如 \n表示換行,\t為制表符。

print的使用進(jìn)階——字符串的格式化輸出:

python中,對(duì)字符串進(jìn)行格式化輸出與c語(yǔ)言是相同的,即借助%來(lái)實(shí)現(xiàn)。%s表示與字符串替換,%d表示用整數(shù)替換,%f表示用浮點(diǎn)數(shù)替換,如果輸出的字符串中本身就需要%(比如輸出比率),則需要用連續(xù)的兩個(gè)%%來(lái)輸出%。

 示例程序如下:
#!/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進(jìn)行格式化輸出的基本格式是在需要替換輸出的位置用%s,%d等占位符,然后在后面通過(guò)%來(lái)接上實(shí)際替換后需要輸出的內(nèi)容,如果需要替換輸出的元素不止一個(gè),則需要在%后面通過(guò)一對(duì)圓括號(hào)把實(shí)際替換后需要輸出的內(nèi)容包含進(jìn)來(lái),同時(shí)在每個(gè)元素之間用逗號(hào)隔開(kāi)。

八、Python的運(yùn)行邏輯

Python的運(yùn)行工作邏輯如下:

內(nèi)存加載代碼->語(yǔ)法分析->解釋器加載->生成字節(jié)碼->執(zhí)行字節(jié)碼->生成機(jī)器碼->CPU執(zhí)行

【搜索圓方圓,獲得“python教程”,“python下載”,“python入門(mén)”類(lèi)相關(guān)信息。】

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱(chēng):python如何學(xué)習(xí)(二)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://muchs.cn/article14/dgcsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航網(wǎng)頁(yè)設(shè)計(jì)公司、全網(wǎng)營(yíng)銷(xiāo)推廣云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)