一,賦值問題
list1 =
list2 = list1
list1[『1』] = 5
sum = list1[『1』] + list2[『1』]
print(sum)-------------------------------------------》5+5=10
賦值: 只是複製了新物件的引用,不會開闢新的記憶體空間
賦值就是引用如b = a: 賦值引用,a 和 b 都指向同乙個物件。
a = 「2」
b = 「a」
b和a理解為引用,a指標和b引用都指向字串2這個記憶體
二,切片操作不會引起下標越界異常,但通過下標訪問會越界
list = [『1』, 『2』, 『3』, 『4』, 『5』]
print list[10:]
輸出print(list[10])
indexerror: list index out of range
三,[-5,257)之間的小整數共用乙個記憶體位址
已知a = [1, 2, 3]和b = [1, 2, 4],那麼id(a[1])==id(b[1])的執行結果 ()
true
四,endswith(suffix,2)
str = 「hello,python」;
suffix = 「python」;
print (str.endswith(suffix,2));-----------------------------------》true
str.endswith(suffix,2) 中的2是指:從字串"hello,python" 中的位置2,也就是第乙個『l』開始檢索,判斷是否以suffix結尾,故本題輸出 true
五,input的使用
python2.x中input()和raw_input()都存在
raw_input():接受任何型別的輸入,返回的物件型別為字串
input():等價於eval(raw_input()),它希望讀取乙個合法的python表示式,所以當輸入字串時,需要給輸入的內容新增單/雙引號。此外,python2.x中input()具有乙個特性:當輸入的型別為數字時,返回的物件型別也為數字。
python3.x中,只有input()函式
input():接受任何型別的輸入,返回的物件型別為字串。
六,lambda表示式
lambda語句中,冒號前是引數,可以有多個,用逗號隔開,冒號右邊的返回值。
def f(x):
return x**2
print f(4)
python中使用lambda的話,寫成這樣
g = lambda x : x**2
print g(4)
七,map函式
map(a,b)
用a規則來執行b,然後把執行的每乙個結果放到乙個map的類物件裡
map(lambda x: x + 3, a[1::3])
八,字典的取值
dict.get(key, default=none) 返回指定key在字典中的值,如果key在字典中不存在則返回default的值(default值預設為none,也可以自己指定);
對比記憶:
dict[『key』] 返回指定key在字典中的值,如果key則字典中不存在,則直接報錯
dict.setdefault(key,default=none) 如果key在字典中存在,則返回key在字典中指定的值;如果key值不存在,則預設將key新增到字典中去,並將其值設定為default(default預設值為none,也可以自己指定)
九,try,except,else,finally
try:的語句出現異常才會執行except後的語句,如果正常,則執行完try後執行else。另外,finally語句不管有無異常都會執行。
else可以理解為except的else,except不執行就執行else
try:
待檢查語句
except name1:
異常1處理語句
except name2:
異常2處理語句
except:
異常通用處理語句
else:
待檢查語句無異常發生時要被執行的語句
finally:
無論有無異常發生都一定會被執行的語句
十,類中的變數名字十一,哪些東西是false
下列物件的布林值都是false:
none;
false(布林型別)
所有的值為零的數
0(整型)
0.0(浮點型)
0l(長整型)
0.0+0.0j(複數)
「」(空字串)
()(空元組)
{}(空字典)
執行緒協程
執行緒由作業系統控制,
協程由程式自身控制
模組匯入物件
import module_a #匯入
from module import xx
from module.xx.xx import xx as rename #匯入後重命令
from module.xx.xx import * #匯入乙個模組下的所有方法,不建議使用
module_a.*** #呼叫
sys.ar**是傳遞給python指令碼的命令列引數【字串】列表
ar**[0]為該指令碼自身路徑,其餘為命令列引數
「none」 0 python2.7中/除法運算不會保留小數字,python3會保留小數字,用//代表整除; print 逗號 表示同一行輸出,並以空格分隔
下列語句執行結果是什麼?
a = [1, 2, 3]
print a*3
參***
[1, 2, 3, 1, 2, 3, 1, 2, 3]
➕用於組合列表,✖️用於重複列表
牛客網刷題筆記
今天在牛客網刷了一道求最長字串是回文數的長度,剛開始的時候,我用兩個指標,乙個指前邊,乙個指後邊,對比兩個指標指向的值,相等則前邊的指標後移,後邊的指標前移,然後再判斷是否相等,如果不相等,那麼就不是回文數,前邊的指標回到第一次開始的地方,後邊的指標回到第一次開始的地方,前邊的指標再自加後移移位,然...
牛客網 學習筆記整理
2017 11 11 2017 12 03 八次課程整理,寫在每篇散落的部落格中,此部落格為總結目錄,方便以後查詢。近期會不斷更新,可能會比較慢 最近好忙,捂臉逃跑中 03 17 2018 更新 將全部九次課的內容目錄貼在下面這篇部落格中,只提供思路,不貼 方便以後查閱。目錄部落格 1 各大排序演算...
牛客網學習筆記(20181021)
本博文主要記錄個人在牛客網做專項練習遇到的重難點,若感興趣可自行練習!為 3 paint 函式在每一次瀏覽器顯示頁面時被呼叫 4 最小化被點開 頁面重新顯示,之前程序還在 paint 函式被呼叫。2.關於socket通訊 1 客戶端通過new socket 方法建立通訊的socket物件 2 伺服器...