《笨辦法學Python》 第6課手記

2021-07-09 08:09:53 字數 1423 閱讀 6404

第6課講字串和文字,作者給出的**如下:

x = "there are %d types of people." % 10

binary = "binary"

do_not= "don't"

y = "those who know %s and those who %s." % (binary, do_not)

print

xprint

yprint

"i said: %r." % x

print

"i also said: '%s'."

%yhilarious = false

joke_evaluation = "isn't that joke so funny?! %r"

print joke_evaluation % hilarious

w = "this is the left side of..."

e = "a string with a right side."

print w + e

非常好理解,這裡不再一一贅述其原理,只說需要注意的地方:

可以使用語句裡面插入%s或者%r 來回輸出字元變數的值,該值將輸出到插入的地方,c語言使用&來指明變數,而python使用%,如果有多個變數,可以使用括號括住,逗號加空格隔開。

不使用雙引號,也不用在語句中插入%s或者%r,直接print加變數名就可以輸出,也可以直接使用%加變數名的方式輸出。例子print joke_evaluation % hilarious

如果採用「「%r」」,系統將會報錯:

typeerror: not all arguments converted during string formatting

原因可能是直譯器(編譯器)認為%r的r是乙個字元變數。

上面這個例子是在嘗試輸出雙引號,我又試了幾種方法,下面可以輸出雙引號,但實際上是由兩個單引號組成的,並不是真正意義上的雙引號,相當於『『而不是「。

print

"i said: %r." % x

print

"i said: '%r'" % x

%r 和%s的區別:

格式化字元

區別%r

優先用repr()函式進行字串轉換(python2.0新增)

%s優先用str()函式進行字串轉換

str()和repr()的區別:

str() 是該物件產生的乙個字串,多用於顯示方便,不保證該字串可以通過eval() 之類的動態解析函式重新生成原始物件。

repr() 是該物件產生的乙個代表字元,保證可以用這個代表字元重新生成原物件。

簡單的說,%r用來給python讀(可能這種格式包含其他資訊,使直譯器能更好地識別),而%s更適合輸出給使用者看,%s對使用者更友好。

《笨辦法學Python》 第4課手記

這節課目的是讓你掌握變數,跟c語言非常類似,很簡單。左邊是變數名用 號給變數賦值。不同的是我沒有看到變數宣告,作者是直接賦值,拿過來就用的。至於接下來作者舉的報錯那個例子,如果你把變數名打錯的情況下就會出現,因為變數名一旦打錯,python將不能識別,也就無法在print中輸出對應的值。這裡我們可以...

《笨辦法學Python》 第8課手記

第八課沒有新內容,作者在常見問題解答裡面說得很清楚,建議每一課的常見問題解答都要仔細閱讀。如下 formatter r r r r print formatter 1,2,3,4 print formatter one two three four print formatter formatter...

《笨辦法學Python》 第9課手記

這節課終於有一點新內容了,新內容也蠻容易理解的。原 如下 here s some new stuff,remember type it exactly.days mon tue wed thu fri sat sun months jan nfeb nmar napr nmay njune njul...