第六章:經常使用的簡易Python命令、符號、代碼、字符串python
《「笨辦法」學Python》這本書中,確實用了較多篇幅來介紹Python的一些經常使用簡單的命令、符號、代碼和字符串等,對於像我這樣的自學新手,真的是很是棒,由於它們能夠幫我創建接着學下去的信心和興趣。但我在這個系列的博客當中,不打算寫的這麼精細,首先由於這不符合我寫博的初衷和習慣,其次由於我不打算靠這寫書來掙錢,最後由於我確實沒有那個實力去挖掘簡單東西中更深奧複雜的應用。因此,我寫的這個博客,只適合像我這樣的自學新手,若是想要成爲大神,仍是須要進行專業系統的學習!less
話很少說,咱們開始吧!ide
------------------------------------------------------------如何開始?---------------------------------------------------------
函數
------------------------------------------------------------如何開始?---------------------------------------------------------學習
------------------------------------------------------------如何開始?---------------------------------------------------------測試
我本打算按本身的想法,以總結性的形式來寫這個博客,可是我發現那樣會很亂很亂,倒不如借用Zed的《「笨辦法」學Python》形式,以習題爲大綱,中間穿插重要的知識點。這本書在網上能找獲得網頁版的,我本人是買的紙質版的書籍。因此我打算,儘可能不將大篇幅的腳本代碼寫如博客,而是將更多的精力,用於總結和記憶之前學習和摸索出來的知識。這對於我來講,更是一個學習的過程,若是給你們帶來了不便,十分抱歉!this
在這一章節中,我會寫較多的習題,由於它們都比較簡單,相信你們很快就能學會!編碼
-------------------------------------<習題1:第一個程序>-------------------------------------------spa
習題1,確實是沒有什麼特別的地方,主要是讓咱們在瞭解一下Python2的print輸出命令同時,學會用終端來「運行」python腳本的方法。命令行
1, print 「須要打印的字符串」 能夠輸出咱們想要打印的字符串;
2,第一行:# -*- coding: utf-8 -*- 的做用是,可讓腳本代碼裏面的中文字,在終端中打印出來,不然會出現關於ASCII編碼的報錯;
3,運行Python腳本的辦法:在終端中進入腳本文件(ex1.py)所在的目錄; 鍵入python ex1.py;回車便可
注意:我沒想到博客園的博客編輯頁面插入代碼這麼容易,因此在後續的每一個習題最下方會插入我本身鍵入的代碼。若是是我本身學的小代碼或遊戲,也會在該習題的博客編寫當中插入。你們只須要點擊 「View Code」就行。
ex1.py的代碼以下:
1 # -*- coding: utf-8 -*- 2 print "hello world!" 3 print "hello again" 4 print "I like typing this." 5 print "This is fun." 6 print 'Yay! Printing.' 7 print "I'd much rather you 'not'." 8 print 'I "said"do not touch this.' 9 print "您好!"
終端運行的結果以下:(在以後的終端運行結果,這一次我用複製的形式,是想要在某些行後面註釋,在接下來的終端運行結果,我直接就用截屏的方式了)
bogon:~ neymagico$ cd temp/ex #在終端中進入腳本文件(ex1.py)所在的目錄;
bogon:ex neymagico$ python ex1.py #鍵入python ex1.py,並回車
hello world!
hello again
I like typing this.
This is fun.
Yay! Printing.
I'd much rather you 'not'.
I "said"do not touch this.
您好
求助!求助!求助!求助!:本人也有一個迷惑,關於 # -*- coding: utf-8 -*-的。在後續的代碼編寫中,我用到了本身學的法語,含有一些特殊字符,例如é, è, ê等等,不知道應該在腳本首行鍵入什麼樣的代碼能夠實現,本人在網上搜過一段時間,可是沒有結果,期待哪位大神給予解答,Merci beaucoup!(法語版謝謝!)
------------------------------------<習題2:註釋和#號>-------------------------------------------
這一個習題特別簡單,只是介紹註釋和#號。雖然簡單,但它的做用很是之大,評價一個碼農的水平高低,這也是一個很是重要的標準。
首先介紹解釋符合#的工做原理:在python的腳本代碼中,#後方的代碼都被python忽略和禁用,只能在閱讀腳本源代碼時能看見註釋符合#後方的代碼。根據它的工做原理,能夠演變出不少做用:
1,能夠在腳本中,用註釋符號#來解釋本身寫這段代碼時想法或運行原理,防止他人和本身不懂!沒錯,本身未來也可能會忘記本身寫的代碼是什麼意思!
2,咱們能夠用#來幫咱們暫時禁用一些代碼,待想用時,刪除# 便可;
3,注意,用雙引號""括住的#不是註釋符號,而是字符串的一部分
ex2.py代碼以下:
1 # A comment, this is so you can read your program later. 2 # Anything afer the # is ignored by python. 3 4 print "I could have coded like this." # and the comment afer is ignored 5 6 # You can also use a comment to "disable" or comment out a piece of code: 7 # print "This won't run." 8 9 print "This will run."
終端運行結果以下:
------------------------------------<習題3:數字和數學計算>---------------------------------------
這一個習題要講的東西不是特別多,就是簡單的數學計算,不過有幾點是須要注意的:
1,%不是百分號,而是求餘符號:例如python裏的 100 % 16結果爲4。由於100除以16的餘數爲4;
2,浮點數(小數)的運算結果和整數的運算結果可能不一樣,由於python會把小數部分丟棄,參考下方代碼的最後兩行,其運行結果不一樣;
3,運算不只僅是加減乘除,還包括:>, <, =, >=,<=,
ex3.py代碼以下:
1 # -*-coding:utf-8-*- 2 # 告訴這個程序是在數雞的個數 3 print "I will now count my chickens:" 4 # 母雞的個數是 25加上30除以6 5 print "Hens", 25+30/6 6 # 公雞的個數是100減去25乘3的積再除以4求餘的結果 7 print "Roosters", 100-25 * 3 % 4 8 # 開始數雞蛋的個數 9 print "Now I will count the eggs:" 10 # 計算3+2+1-5+4/2的餘-1/4+6 11 print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6 12 # 詢問3+2小於5-7是否正確 13 print "Is it true that 3 + 2 < 5 - 7?" 14 # 計算3+2<5-7的結果,結果是False 15 print 3 + 2 < 5 - 7 16 # 詢問3+2等於多少,並計算3+2的結果 17 print "What is 3 + 2?", 3 + 2 18 # 詢問5-7等於多少,並計算5-7的結果 19 print "What is 5 - 7?", 5 - 7 20 # 由前兩個命令行得知,爲何3+2<5-7是錯誤的 21 print "Oh, that's is why it's False." 22 # 再多作一點怎麼樣? 23 print "How about some more." 24 # 是大於?並計算5>-2的結果,結果爲true 25 print "Is it greater?", 5 > -2 26 # 是大於等於?並計算5>=-2的結果,結果爲true 27 print "Is it greater or equal?", 5 >= -2 28 # 是小於等於?並計算5<=2的結果,結果爲False 29 print "Is it less or equal?", 5 <= -2 30 31 print 7.0 / 4.0 - 0 32 print 7 / 4 - 0
終端運行結果以下:
------------------------------------<習題4:變量和命名>---------------------------------------
這一個習題會介紹一個很是重要的名稱和一個很是重要的概念:
名詞:變量variable:該如何解釋呢?你想要測試天天的氣溫,將氣溫設爲變量T,那這個變量T會跟一些外界因素有關,例如季節、時間、地點、海拔等;Python裏面的變量,能夠是一個確切的數值、字符、列表、字典等等;
概念:定義變量:Python裏面的變量必需要被定義,不然沒有意義,會報錯。定義的方式是 T = 100 ℃。固然了,也會有其它狀況的變量,不須要這樣定義,是在定義函數時默認被定義了,暫時想不起實例,後續想起來會在該處更新(想起來了:例如在while循環和for循環語句當中,變量是默認已經被定義的了,每循環一次,變量被從新定義一次)注意:不能用數字一、二、三、4等來定義變量,變量名必需要以字母開頭,例如a1。
變量的簡單輸出方式,可參考下方的代碼,直接能夠用print T,不須要用雙引號。
ex4.py代碼以下:
1 #-*-coding:utf-8-*- 2 cars=100 #總共有100輛車 3 space_in_a_car=4.0 #一輛車共4個座位 4 drivers=30 #共有30位司機 5 passengers=90 #共有90位乘客 6 cars_not_driven = cars-drivers #沒有開的車的數量等於車的總量減去司機的數量 7 cars_driven=drivers #開走的車的數量等於司機的數量 8 carpool_capacity=cars_driven*space_in_a_car #座位的數量等於可開走車的數量乘以每輛車的座位數 9 average_passengers_per_car = passengers / cars_driven #每輛車平均乘客的數量等於乘客的總數量除以被開車的數量 10 11 12 print "there are", cars, "cars available." 13 print "there are only", drivers, "drivers availabe." 14 print "there will be", cars_not_driven, "empty cars today." 15 print "we can transport", carpool_capacity, "people today." 16 print "we have", passengers, "passengers to carpool today." 17 print "we need to put about", average_passengers_per_car, "passengers in each car."
終端運行結果以下:
----------------------------------<習題5:變量和格式化字符串>--------------------------------------
這一習題,主要是介紹格式化字符串和變量結合起來的運用,首先介紹一下格式化字符串:
格式化字符串:經過用轉換說明符,把已經定義好的變量格式更改一下,其運用方法參考ex5.py
ex5.py代碼以下:
1 #-*-coding:utf-8-*- 2 my_name = 'Zed A. Shaw' 3 my_age = 34 # not a lie 4 my_height = 74 # inches 5 my_weight = 180 # lbs 6 my_eyes = 'Blue' 7 my_teeth = 'White' 8 my_hair = 'Brown' 9 10 print "Let's talk about %s." % my_name 11 print "He's %d inches tall." % my_height 12 print "He's %d pounds heavy." % my_weight 13 print "Actually that's not too heavy." 14 print "He's got %s eyes and %s hair." % (my_eyes, my_hair) 15 print "His teeth are usually %s depending on the coffee." % my_teeth 16 17 # this line is tricky, try to get it exactly right 18 print "If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height + my_weight)
終端運行結果以下:
除了ex5.py中的轉換說明符,還有其它的,詳見ex5_1..py。
ex5_1.py代碼以下:
1 # -*- coding:utf-8 -*- 2 sum = -28.91234567 3 4 print "1,轉換爲帶符號的十進制式的整數" 5 print "sum is: %07.6d" %sum #此處的‘0’表示 不補充空格,而是補充0;‘7’表示最小寬度爲7,負號佔用一個寬帶;‘6’表示浮點數的小數點後的位數 6 print "sum is: %+7.6d" %sum #此處的‘+’表示書中總要帶着符號(+/-);‘7’表示最小寬度爲7,負號佔用一個寬帶;‘6’表示浮點數的小數點後的位數 7 print "sum is: %-7.3d" %sum #此處的‘-’表示制定左對齊;‘7’表示最小寬度爲7,負號佔用一個寬帶;‘3’表示浮點數的小數點後的位數 8 print "sum is: %7.3d" %sum # 沒有‘-’,最小寬度爲7,因此輸出的結果不是左對齊,而是用空格補充空位 9 10 print "2,轉換爲帶符號的十進制式的整數" 11 print "sum is: %07.6i" %sum 12 print "sum is: %+7.6i" %sum 13 print "sum is: %-7.6i" %sum 14 15 print "3,轉換爲帶符號的八進制式的整數" 16 print "sum is: %07.6o" %sum 17 print "sum is: %+7.6o" %sum 18 print "sum is: %-7.6o" %sum 19 20 print "4,轉換爲帶符號的十六進制式的整數" 21 print "sum is: %07.6x" %sum 22 print "sum is: %+7.6x" %sum 23 print "sum is: %-7.6x" %sum 24 25 print "5,轉換爲帶符號的十六進制式的整數" 26 print "sum is: %07.6X" %sum 27 print "sum is: %+7.6X" %sum 28 print "sum is: %-7.6X" %sum 29 30 print "6,轉換爲科學計數法表示的浮點數" 31 print "sum is: %07.6e" %sum 32 print "sum is: %+7.6e" %sum 33 print "sum is: %-7.6e" %sum 34 35 print "7,轉換爲科學計數法表示的浮點數" 36 print "sum is: %07.6E" %sum 37 print "sum is: %+7.6E" %sum 38 print "sum is: %-7.6E" %sum 39 40 print "8,轉換爲十進制的浮點數" 41 print "sum is: %07.6f" %sum 42 print "sum is: %+7.6f" %sum 43 print "sum is: %-7.6f" %sum 44 45 print "9,轉換爲十進制的浮點數" 46 print "sum is: %07.6F" %sum 47 print "sum is: %+7.6F" %sum 48 print "sum is: %-7.6F" %sum 49 50 print "10,智能選擇使用e或者f格式" 51 print "sum is: %07.6g" %sum 52 print "sum is: %+7.6g" %sum 53 print "sum is: %-7.6g" %sum 54 55 print "11,智能選擇使用E或者F格式" 56 print "sum is: %07.6G" %sum 57 print "sum is: %+7.6G" %sum 58 print "sum is: %-7.6G" %sum 59 60 name1 = 100 61 name2 = "a" 62 print "轉換爲單字符(只接受整數或單字符字符串)" #沒搞明白是什麼意思,該處會報錯 63 print "name1 is: %c" %name1 64 print "name2 is: %c" %name2 65 66 name3 = "messi" 67 print "使用repr()將變量或者表達式轉化爲字符串" 68 print "name3 is: %r" %name3 69 70 71 name4 = "neymagico" 72 73 print "使用str()將變量或者表達式轉化爲字符串" 74 print "name4 is: %s" %name4
終端運行結果以下:
求助!求助!求助!求助!:本人確實是不知道下面三個轉換符該如何使用,求前輩們幫忙!
1,%C:轉換爲單字符(只接受整數或單字符字符串)
PS:將字符串轉換成整數的方式是 :int("str")
這一章暫時寫到着吧,篇幅夠長了!
*** 第七章預告:字符串、文本、各類打印、轉義序列、手動輸入raw_input()