classa(
object):
defshow
(self)
:print
('this is the a show!'
)classb(
object):
defshow
(self)
:print
('this is the b show!'
)obj = b(
)obj.show(
)obj.__class__ = a
obj.show(
)this is the b show!
this is the a show!
classa(
object):
def__init__
(self, a, b)
: self.__a = a
self.__b = b
defmyprint
(self)
:print
('this is print!'
)def
__call__
(self, n)
:print
(n + self.__a + self.__b)
a1 = a(10,
20)a1.myprint(
)a1(80)
this is
print!
110
**結果如下:
ls =[1
,2,3
,4]list1 =
[i for i in ls if i >2]
print
(list1)
list2 =
[i*2
for i in ls if i >2]
print
(list2)
dic1 =
print
(dic1)
dic2 =
print
(dic2)
set1 =
print
(set1)[3
,4][
6,8]
num =
9deff1(
):num =
20deff2(
):print
(num)
deff3()
:global num
num =
30deff4(
):num = num +
1deff5(
):global num
num = num +
1if __name__ ==
"__main__"
: f2(
)# 第一次列印全域性變數(對應下面第乙個列印結果,後面類似)
f1()# 在函式內嘗試進行全域性變數的修改
f2()# 第二次列印全域性變數
f3() f2(
)# 第三次列印全域性變數
num =
100# if __name__ == "__main__"其實就是乙個if語句,也算是在全域性的作用範圍內,
# 所以在這裡用global宣告也能對全域性變數進行修改
f2()# 第四次列印全域性變數99
30100
a =
8b =
9
答:一行**修改兩個變數值,直接用元組來實現,如下面**所示,其中**右邊為元組裝包,左邊為元組拆包
(a, b)
=(b, a) 或 a, b = b, a
all= [『mod1』, 『mod3』]分析:__init_.py檔案為把資料夾變為乙個python模組包,我們在匯入乙個包時其實就是匯入了這個包的__init_.py檔案,在檔案內我們可以把一些我們依賴的模組全部匯入,同時可以利用__init__.py檔案的__all__變數來引入我們需要匯入的檔案
本文參考:
LeetCode每日一題 集合問題
子集問題,看到這種題,肯定是可以用dfs加遞迴可以做的。首先分析思路,這種類似於全排列的情況,並且順序不同算一種的話,其實就只要遞迴遍歷就可以了 這題其實就是類似於全排列的問題,顯而易見的是順利不同的組合算是乙個,例如 1,2,3 1,3,2 因為陣列中的元素是排序且無重複的,因此只需要考慮在遞迴進...
每日一題 合併集合
一共有 n 個數,編號是 1 n,最開始每個數各自在乙個集合中。現在要進行 m 個操作,操作共有兩種 m a b,將編號為 a 和 b 的兩個數所在的集合合併,如果兩個數已經在同乙個集合中,則忽略這個操作 q a b,詢問編號為 a 和 b 的兩個數是否在同乙個集合中 輸入格式 第一行輸入整數 n ...
100個小問題 每日一題 第4題
problem4 連通性問題 假如已知乙個整數對序列,其中每個整數代表某種型別的乙個物件,而且將p q對解釋成 p與q連通 假定連通關係是可傳遞的,即 如果p與q連通,同時q與r連通,則p與r也連通。任務 編寫乙個程式,從乙個整數對結合中過濾額外的鏈結對。即當程式輸入乙個整數對p q,僅當程式此時已...