在 python 中,列表變量調(diào)用 += 本質(zhì)上是在執(zhí)行列表變量的 extend 方法,不會修改變量的引用
成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都全網(wǎng)營銷推廣需求,讓再小的品牌網(wǎng)站建設(shè)也能產(chǎn)生價值!
def demo(num, num_list):
print("函數(shù)內(nèi)部代碼")
# num = num + num
num += num
# num_list.extend(num_list) 由于是調(diào)用方法,所以不會修改變量的引用
# 函數(shù)執(zhí)行結(jié)束后,外部數(shù)據(jù)同樣會發(fā)生變化
num_list += num_list
print(num)
print(num_list)
print("函數(shù)代碼完成")
gl_num = 9
gl_list = [1, 2, 3]
demo(gl_num, gl_list)
print(gl_num)
print(gl_list)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
運行結(jié)果
9
[1, 2, 3, 1, 2, 3]
1
2
1
2
可以看出 += 其實是對列表extend方法的調(diào)用,如果我們不想改變原有的列表屬性,將num_list += num_list代碼改變?yōu)閚um_list = num_list + num_list,這樣就不改變原有的屬性
今天遇到同樣的問題,就來答一波吧
1,如果是在類中,那么就很簡單了,類中的一個函數(shù)調(diào)用另一個函數(shù),只要在那個被調(diào)用的函數(shù)前加self即可(圖如下,詳細可以參考筆者博客),
2,如果不是在類中,(這是筆者遇到的問題),有一個簡單的方法,如下sin_f函數(shù)調(diào)用sin函數(shù)(注:a=sin()不能寫到sin_f()函數(shù)下,會說a沒聲明就調(diào)用):
3,如果是已經(jīng)存在的包,那么調(diào)用包更簡單了,(同樣可以參考筆者上面給的那個博客第四部分)
4,最后,更多關(guān)于python問題可以參考筆者的python教程筆記
在python中,邏輯表達式輸出需要注意這幾個問題:(1)and :x and y 返回的結(jié)果是決定表達式結(jié)果的值。如果 x 為真,則 y 決定結(jié)果,返回 y ;如果 x 為假,x 決定了結(jié)果為假,返回 x。(2)or :x or y 跟 and 一樣都是返回決定表達式結(jié)果的值。(3)not : 返回表達式結(jié)果的“相反的值”。如果表達式結(jié)果為真,則返回false;如果表達式結(jié)果為假,則返回true。
可以加函數(shù)。pythonif語句后可加函數(shù)嵌套使用,返回的是該函數(shù)的布爾值類型。