-
但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串。
查看全部 -
前面我們學習了,對于tuple,它和list一個最大的不同點就是tuple是不可變的,tuple里面的元素,也是不可替換的。但是這針對的是僅包含基礎數據類型(數字類型、布爾類型、字符串類型)的數據,對于組合數據類型,則不受這個約束。
T?=?(1,?'CH',?[3,?4])
這里T有三個元素,第一個元素是數字類型,第二個元素是字符串類型,第三個元素是列表類型的,我們嘗試修改第三個元素的數據。
T?=?(1,?'CH',?[3,?4]) L?=?T[2] print(L)?#?==>?[3,?4] #?嘗試替換L中的元素 L[1]?=?40 print(L)?#?==>?[3,?40] print(T)?#?==>?(1,?'CH',?[3,?40])
這個時候,我們發現,元組T中的第三個元素已經成功被改變了,這就有悖前面的定義,元組是不可改變的。那么這到底是為什么呢?
這是因為雖然tuple中的list元素改變了,但是tuple本身指向的list仍然是同一個list,list本身并沒有改變,改變的只是list里面的一個元素,這是tuple所約束不到的范圍。T?=?(1,?'CH',?[3,?4]) L2?=?[3,?40] #?嘗試替換tuple中的list T[2]?=?L2 #?報錯 Traceback?(most?recent?call?last): ??File?"<stdin>",?line?1,?in?<module> TypeError:?'tuple'?object?does?not?support?item?assignment
如果我們直接替換list,這也是不行的。
查看全部 -
需要注意的是,not計算的優先級是高于and和or的。
查看全部 -
常用的轉義字符還有: \n表示換行 \t 表示一個制表符 \\表示 \ 字符本身查看全部
-
?int() 函數,其實就有兩個參數,我們既可以傳一個參數,又可以傳兩個參數:當傳遞兩個參數的時候,前面一個說代表的是數,第二個數是第一個數的進制,將這個數輸出的時候是按十進制輸出。
查看全部 -
字符串format由兩個部分組成,字符串模板和模板數據內容組成,通過大括號
{}
,就可以把模板數據內容嵌到字符串模板對應的位置。#?字符串模板 template?=?'Hello?{}' #?模板數據內容 world?=?'World' result?=?template.format(world) print(result)?#?==>?Hello?World
字符串format由兩個部分組成,字符串模板和模板數據內容組成,通過大括號
{}
,就可以把模板數據內容嵌到字符串模板對應的位置。#?字符串模板 template?=?'Hello?{}' #?模板數據內容 world?=?'World' result?=?template.format(world) print(result)?#?==>?Hello?World字符串format由兩個部分組成,字符串模板和模板數據內容組成,通過大括號{},就可以把模板數據內容嵌到字符串模板對應的位置。
#?字符串模板 template?=?'Hello?{}' #?模板數據內容 world?=?'World' result?=?template.format(world) print(result)?#?==>?Hello?World字符串format由兩個部分組成,字符串模板和模板數據內容組成,通過大括號{},就可以把模板數據內容嵌到字符串模板對應的位置。
#?字符串模板 template?=?'Hello?{}' #?模板數據內容 world?=?'World' result?=?template.format(world) print(result)?#?==>?Hello?World
如果模板中
{}
比較多,則容易錯亂,那么在format的時候也可以指定模板數據內容的順序。#?指定順序 template?=?'Hello?{0},?Hello?{1},?Hello?{2},?Hello?{3}.' result?=?template.format('World',?'China',?'Beijing',?'imooc') print(result)?#?==>?Hello?World,?Hello?China,?Hello?Beijing,?Hello?imooc. #?調整順序 template?=?'Hello?{3},?Hello?{2},?Hello?{1},?Hello?{0}.' result?=?template.format('World',?'China',?'Beijing',?'imooc') print(result)?#?==>?Hello?imooc,?Hello?Beijing,?Hello?China,?Hello?World.
除了使用順序,還可以指定對應的名字,使得在format過程更加清晰。
#?指定{}的名字w,c,b,i template?=?'Hello?{w},?Hello?{c},?Hello?,?Hello?{i}.' world?=?'World' china?=?'China' beijing?=?'Beijing' imooc?=?'imooc' #?指定名字對應的模板數據內容 result?=?template.format(w?=?world,?c?=?china,?b?=?beijing,?i?=?imooc) print(result)?#?==>?Hello?World,?Hello?China,?Hello?Beijing,?Hello?imooc.
查看全部 -
python 在Python中,二進制整數使用前綴0b表示,比如:0b0110,0b1100。 在Python中,十六進制使用前綴0x,比如:0x12ef,0xde2431af。 在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5 在Python中,可以直接用True、False表示布爾值(請注意大小寫,不需要使用字符串符號括起來),也可以通過布爾運算計算出來。 空值是Python里一個特殊的值,用None表示。查看全部
-
對于不存在的元素,count方法不會報錯,而是返回0,這是合理的,因為元組里面有0個不存在的元素。
當指定的元素不存在時,使用index()方法Python會報錯。
查看全部 -
函數可以有多個參數(以逗號隔開),參數類型有 必需參數、關鍵字參數、默認參數、不定長參數。
#?必需參數:傳入的值必須與函數參數列表的順序和數量一致 def?函數名(必需參數1,?必需參數2,?...): ????#?函數體 結果?=?函數名(必需值1,?必需值2,?...) #?關鍵字參數:不要求傳入的順序,但是調用時必須指定參數名 def?函數名(關鍵字參數1,?關鍵字參數2,?...): ????#?函數體 結果?=?函數名(關鍵字2?=?值1,?關鍵字1?=?值2,?...) #?若參數列表中有單獨的*,則*本身不代表參數,*之后的所有參數均為關鍵字參數 def?函數名(參數1,?*,?參數2,?...): ????#?函數體 結果?=?函數名(值1,?參數2?=?值2,?...) #?默認參數:給參數名設定默認值 #?默認參數必須在必需參數或關鍵字參數后面 def?函數名(默認參數=默認值,?...): ????#?若沒有傳入值,則使用默認值 結果?=?函數名(...) #?不定長參數:參數數量不定 #?參數名前有一個*則以元組形式傳入,有兩個**則以字典形式傳入 #?不定長參數放在最后,元組型不定長在字典型不定長前 def?函數名(*不定長參數1,?**不定長參數2): ????#?函數體 結果?=?函數名(值1.1,?值1.2,?...,?參數2.1=值2.1,?參數2.2=值2.2,?...)
參數為不可變數據類型(數字、字符串、元組)時,類似于值傳遞,函數內變更參數值不影響函數外的參數值;
參數為可變數據類型(列表、集合、字典)時,類似于地址傳遞,函數內變更參數值會改變函數外的參數值。
#?判斷參數類型 isinstance(參數,?數據類型)
查看全部 -
result?=?template.format(world)
result?=?template.format('World',?'China',?'Beijing',?'imooc')
result?=?template.format(w?=?world,?c?=?china,?b?=?beijing,?i?=?imooc)
查看全部 -
前面我們講解了什么是字符串。字符串可以用
' '
或者" "
括起來表示。如果字符串本身包含
'
怎么辦?比如我們要表示字符串I'm OK?
,這時,可以用" "
括起來表示:"I'm?OK"
類似的,如果字符串包含
"
,我們就可以用' '
括起來表示:'Learn?"Python"?in?imooc'
但是,如果字符串既包含
'
又包含"
怎么辦?這個時候,就需要對字符串中的某些特殊字符進行“轉義”,Python字符串用
\
進行轉義。要表示字符串
Bob said "I'm OK"
由于'
和"
會引起歧義,因此,我們在它前面插入一個\
表示這是一個普通字符,不代表字符串的起始,因此,這個字符串又可以表示為'Bob?said?\"I\'m?OK\".'
注意:轉義字符?
\
不計入字符串的內容中。常用的轉義字符還有:
\n
表示換行\t
?表示一個制表符\\
表示?\
?字符本身查看全部 -
append()添加元素總是添加到末尾 inserd()需要兩個元素,一個用來指明位置,一個是語言添加到元素查看全部
-
tuple是不可變元組,list是可變元組; tuple使用()即tuple(),而list使用[]即list[];查看全部
-
Python提供isinstance()函數,可以判斷參數類型,它接收兩個參數,第一個是需要判斷的參數,第二個是類型。
查看全部 -
因為她先執行了大于80的選項,不會再往下執行查看全部
舉報