Python 學(xué)習(xí) —— 基礎(chǔ)篇(二)

print 語句

學(xué)習(xí)編程堤尾,你最急于什么?答案肯定是上手寫點(diǎn)小程序媒殉,這樣也能滿足自己小小的學(xué)習(xí)成就感担敌。那么,print語句就來了廷蓉。print語句可以向屏幕上輸出指定的文字全封。比如輸出’hello, python’,或者"hello桃犬,world"(單引號(hào)和雙引號(hào)是等價(jià)的)用代碼實(shí)現(xiàn)如下:


注意:

1.當(dāng)我們?cè)赑ython交互式環(huán)境下編寫代碼時(shí)刹悴,>>>是Python解釋器的提示符,不是代碼的一部分攒暇。

2.當(dāng)我們?cè)谖谋揪庉嬈髦芯帉懘a時(shí)土匀,千萬不要自己添加 >>>。

print語句也可以跟上多個(gè)字符串形用,用逗號(hào)“,”(逗號(hào))隔開就轧,就可以連成一串輸出:

print會(huì)依次打印每個(gè)字符串,遇到逗號(hào)“,”會(huì)輸出一個(gè)空格田度,因此妒御,輸出的字符串是這樣拼起來的:

print也可以打印整數(shù),或者計(jì)算結(jié)果:

因此每币,我們可以把計(jì)算100 + 200的結(jié)果打印得更漂亮一點(diǎn):

注意: 對(duì)于100 + 200携丁,Python解釋器自動(dòng)計(jì)算出結(jié)果300,但是兰怠,’100 + 200 =’是字符串而非數(shù)學(xué)公式梦鉴,Python把它視為字符串,請(qǐng)自行解釋上述打印結(jié)果揭保。

Python的注釋

任何時(shí)候肥橙,我們都可以給程序加上注釋。注釋是用來說明代碼的秸侣,給自己或別人看存筏,而程序運(yùn)行的時(shí)候,Python解釋器會(huì)直接忽略掉注釋味榛,所以椭坚,有沒有注釋不影響程序的執(zhí)行結(jié)果,但是影響到別人能不能看懂你的代碼搏色。

Python的注釋以#開頭善茎,后面的文字直到行尾都算注釋。#號(hào)是單行注釋

注釋還有一個(gè)巧妙的用途频轿,就是一些代碼我們不想運(yùn)行垂涯,但又不想刪除烁焙,就可以用注釋暫時(shí)屏蔽掉:

變量

在Python中,變量的概念基本上和初中代數(shù)的方程變量是一致的耕赘。

例如骄蝇,對(duì)于方程式y(tǒng)=x*x,x就是變量操骡。當(dāng)x=2時(shí)九火,計(jì)算結(jié)果是4,當(dāng)x=5時(shí)册招,計(jì)算結(jié)果是25吃既。

只是在計(jì)算機(jī)程序中,變量不僅可以是數(shù)字跨细,還可以是任意數(shù)據(jù)類型鹦倚。

在Python程序中,變量是用一個(gè)變量名表示冀惭,變量名必須是 大小寫英文震叙、數(shù)字和下劃線(_)的組合,且不能用數(shù)字開頭 散休,比如:


變量a是一個(gè)整數(shù)媒楼。


變量t_007是一個(gè)字符串。

在Python中戚丸,等號(hào)"="是賦值語句划址,可以把任意數(shù)據(jù)類型賦值給變量,同一個(gè)變量可以反復(fù)賦值限府,而且可以是不同類型的變量夺颤,例如:


這種變量本身類型不固定的語言稱之為動(dòng)態(tài)語言,與之對(duì)應(yīng)的是靜態(tài)語言胁勺。

靜態(tài)語言在定義變量時(shí)必須指定變量類型世澜,如果賦值的時(shí)候類型不匹配,就會(huì)報(bào)錯(cuò)署穗。例如Java是靜態(tài)語言寥裂,賦值語句如下(// 表示注釋):


和靜態(tài)語言相比,動(dòng)態(tài)語言更靈活案疲,就是這個(gè)原因封恰。

請(qǐng)不要把賦值語句的等號(hào)等同于數(shù)學(xué)的等號(hào)。比如下面的代碼:


如果從數(shù)學(xué)上理解x=x+2那無論如何是不成立的褐啡,在程序中诺舔,賦值語句先計(jì)算右側(cè)的表達(dá)式x+2,得到結(jié)果12,再賦給變量x混萝。由于x之前的值是10,重新賦值后萍恕,x的值變成12逸嘀。

最后,理解變量在計(jì)算機(jī)內(nèi)存中的表示也非常重要允粤。當(dāng)我們寫:a='ABC'時(shí)崭倘,Python解釋器干了兩件事情:

在內(nèi)存中創(chuàng)建了一個(gè)’ABC’的字符串;

在內(nèi)存中創(chuàng)建了一個(gè)名為a的變量类垫,并把它指向’ABC’這個(gè)字符串司光。

也可以把一個(gè)變量a賦值給另一個(gè)變量b,這個(gè)操作實(shí)際上是把變量b指向變量a所指向的數(shù)據(jù)悉患,例如下面的代碼:

最后一行打印出變量b的內(nèi)容到底是'ABC'呢還是'XYZ'残家?如果從數(shù)學(xué)意義上理解,就會(huì)錯(cuò)誤地得出b和a相同售躁,也應(yīng)該是'XYZ'坞淮,但實(shí)際上b的值是'ABC',讓我們一行一行地執(zhí)行代碼陪捷,就可以看到到底發(fā)生了什么事:

執(zhí)行a='ABC'回窘,解釋器創(chuàng)建了字符串'ABC'和變量a,并把a(bǔ)指向'ABC':

執(zhí)行b=a市袖,解釋器創(chuàng)建了變量 b啡直,并把b指向 a 指向的字符串'ABC':

執(zhí)行a='XYZ',解釋器創(chuàng)建了字符串'XYZ'苍碟,并把a(bǔ)的指向改為'XYZ'酒觅,但b并沒有更改:

所以,最后打印變量b的結(jié)果自然是'ABC'了微峰。

字符串

定義字符串

前面我們講解了什么是字符串阐滩。字符串可以用''(單引號(hào))或者""(雙引號(hào))括起來表示。

如果字符串本身包含’怎么辦县忌?比如我們要表示字符串I'm OK掂榔,這時(shí),可以用" "(雙引號(hào))括起來表示:

類似的症杏,如果字符串包含”装获,我們就可以用''(單引號(hào))括起來表示:

如果字符串既包含’又包含”怎么辦?

這個(gè)時(shí)候厉颤,就需要對(duì)字符串的某些特殊字符進(jìn)行“轉(zhuǎn)義”穴豫,Python字符串用\進(jìn)行轉(zhuǎn)義。

要表示字符串Bobsaid"I'm OK".

由于 ‘ 和 “ 會(huì)引起歧義,因此精肃,我們?cè)谒懊娌迦胍粋€(gè)\表示這是一個(gè)普通字符秤涩,不代表字符串的起始,因此司抱,這個(gè)字符串又可以表示為

注意:轉(zhuǎn)義字符 \ 不計(jì)入字符串的內(nèi)容中筐眷。

常用的轉(zhuǎn)義字符還有:

raw字符串與多行字符串

如果一個(gè)字符串包含很多需要轉(zhuǎn)義的字符,對(duì)每一個(gè)字符都進(jìn)行轉(zhuǎn)義會(huì)很麻煩习柠。為了避免這種情況匀谣,我們可以在字符串前面加個(gè)前綴r,表示這是一個(gè) raw 字符串资溃,里面的字符就不需要轉(zhuǎn)義了武翎。例如:

但是r'...'表示法不能表示多行字符串,也不能表示包含'和"的字符串(為什么溶锭?)

如果要表示多行字符串宝恶,可以用'''...'''表示:


上面這個(gè)字符串的表示方法和下面的是完全一樣的:

還可以在多行字符串前面添加r,把這個(gè)多行字符串也變成一個(gè)raw字符串:

Unicode字符串

字符串還有一個(gè)編碼問題趴捅。

因?yàn)橛?jì)算機(jī)只能處理數(shù)字卑惜,如果要處理文本,就必須先把文本轉(zhuǎn)換為數(shù)字才能處理驻售。最早的計(jì)算機(jī)在設(shè)計(jì)時(shí)采用8個(gè)比特(bit)作為一個(gè)字節(jié)(byte)露久,所以,一個(gè)字節(jié)能表示的最大的整數(shù)就是255(二進(jìn)制11111111=十進(jìn)制255)欺栗,0 –255被用來表示大小寫英文字母毫痕、數(shù)字和一些符號(hào),這個(gè)編碼表被稱為ASCII編碼迟几,比如大寫字母 A 的編碼是65消请,小寫字母 z 的編碼是122。

如果要表示中文类腮,顯然一個(gè)字節(jié)是不夠的臊泰,至少需要兩個(gè)字節(jié),而且還不能和ASCII編碼沖突蚜枢,所以缸逃,中國(guó)制定了GB2312編碼,用來把中文編進(jìn)去厂抽。

類似的需频,日文和韓文等其他語言也有這個(gè)問題。為了統(tǒng)一所有文字的編碼筷凤,Unicode應(yīng)運(yùn)而生昭殉。Unicode把所有語言都統(tǒng)一到一套編碼里,這樣就不會(huì)再有亂碼問題了。

Unicode通常用兩個(gè)字節(jié)表示一個(gè)字符挪丢,原有的英文編碼從單字節(jié)變成雙字節(jié)蹂风,只需要把高字節(jié)全部填為0就可以。

因?yàn)镻ython的誕生比Unicode標(biāo)準(zhǔn)發(fā)布的時(shí)間還要早乾蓬,所以最早的Python只支持ASCII編碼惠啄,普通的字符串’ABC’在Python內(nèi)部都是ASCII編碼的。

Python在后來添加了對(duì)Unicode的支持巢块,以Unicode表示的字符串用u’…’表示,比如:

注意: 不加 u 巧号,中文就不能正常顯示族奢。

Unicode字符串除了多了一個(gè) u 之外,與普通字符串沒啥區(qū)別丹鸿,轉(zhuǎn)義字符和多行表示法仍然有效:

轉(zhuǎn)義:

多行:

raw+多行:

如果中文字符串在Python環(huán)境下遇到UnicodeDecodeError越走,這是因?yàn)?py文件保存的格式有問題】炕叮可以在第一行添加注釋

目的是告訴Python解釋器廊敌,用UTF-8編碼讀取源代碼。然后用Notepad++ 另存為… 并選擇UTF-8格式保存门怪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骡澈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子掷空,更是在濱河造成了極大的恐慌肋殴,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坦弟,死亡現(xiàn)場(chǎng)離奇詭異护锤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)酿傍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門烙懦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赤炒,你說我怎么就攤上這事氯析。” “怎么了莺褒?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵魄鸦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我癣朗,道長(zhǎng)拾因,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮绢记,結(jié)果婚禮上扁达,老公的妹妹穿的比我還像新娘。我一直安慰自己蠢熄,他們只是感情好跪解,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著签孔,像睡著了一般叉讥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饥追,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天图仓,我揣著相機(jī)與錄音,去河邊找鬼但绕。 笑死救崔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捏顺。 我是一名探鬼主播六孵,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼幅骄!你這毒婦竟也來了劫窒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤拆座,失蹤者是張志新(化名)和其女友劉穎烛亦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懂拾,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡煤禽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岖赋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片檬果。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖唐断,靈堂內(nèi)的尸體忽然破棺而出选脊,到底是詐尸還是另有隱情,我是刑警寧澤脸甘,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布恳啥,位于F島的核電站,受9級(jí)特大地震影響丹诀,放射性物質(zhì)發(fā)生泄漏钝的。R本人自食惡果不足惜翁垂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望硝桩。 院中可真熱鬧沿猜,春花似錦广凸、人聲如沸蛇尚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衙伶。三九已至祈坠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矢劲,已是汗流浹背赦拘。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卧须,地道東北人另绩。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓儒陨,卻偏偏與公主長(zhǎng)得像花嘶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蹦漠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 一椭员、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù)笛园,在Python程序...
    績(jī)重KF閱讀 1,694評(píng)論 0 1
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,574評(píng)論 1 118
  • 1.Python中數(shù)據(jù)類型 Python中數(shù)據(jù)類型 計(jì)算機(jī)顧名思義就是可以做數(shù)學(xué)計(jì)算的機(jī)器隘击,因此,計(jì)算機(jī)程序理所當(dāng)...
    ChinaGoodStaff閱讀 425評(píng)論 0 1
  • 字符集和編碼簡(jiǎn)介 在編程中常逞忻可以見到各種字符集和編碼埋同,包括ASCII,MBCS,Unicode等字符集。確切的說...
    蘭山小亭閱讀 8,488評(píng)論 0 13
  • 杜拉斯說:你天生就適合我的靈魂棵红。 而我可能再難找到你凶赁。 復(fù)習(xí)了一上午,中午在教室湊合了一下逆甜。 特別冷虱肄。我已經(jīng)穿上羽...
    畫甲肖張閱讀 202評(píng)論 0 1