摘要:文末評(píng)論送書(shū),學(xué)委會(huì)用這個(gè)抽獎(jiǎng)程序來(lái)進(jìn)行嚴(yán)格抽獎(jiǎng),周六晚上點(diǎn)整定時(shí)抽獎(jiǎng)并視頻公布出來(lái),敬請(qǐng)期待。本文講的函數(shù)值傳遞問(wèn)題,是寫(xiě)程序經(jīng)常遇到,特別的是動(dòng)態(tài)參數(shù)在高級(jí)框架中使用很廣泛。
正式的Python專(zhuān)欄第25篇,同學(xué)站住,別錯(cuò)過(guò)這個(gè)從0開(kāi)始的文章!
前篇講了python中的函數(shù)和高階函數(shù),這篇再把函數(shù)的其他部分補(bǔ)充一下,稍微輕松簡(jiǎn)單一些。
文末評(píng)論送書(shū),學(xué)委會(huì)用這個(gè)抽獎(jiǎng)程序來(lái)進(jìn)行嚴(yán)格抽獎(jiǎng),周六晚上10點(diǎn)整定時(shí)抽獎(jiǎng)并視頻公布出來(lái),敬請(qǐng)期待。
下面是非常常見(jiàn)的傳遞方式,參數(shù)名寫(xiě)直白,寫(xiě)死了:
def show_info(name, title): print("姓名為:",name) print("職稱(chēng)為:",title)
我們?cè)谑褂玫臅r(shí)候可以用以下的方式:
show_info("雷學(xué)委", "大學(xué)生Python學(xué)習(xí)社區(qū)長(zhǎng)")show_info(name="雷學(xué)委", title="持續(xù)學(xué)習(xí)協(xié)會(huì)會(huì)長(zhǎng)")
可以寫(xiě)成這樣,使用兩個(gè)*,這樣非常靈活,但是缺點(diǎn)也是明顯的(結(jié)構(gòu)靈活有時(shí)候需要判斷是否漏傳,直接取容易出錯(cuò))
def show_info_v2(**kv_dict): print("姓名為:", kv_dict["name"]) print("職稱(chēng)為:", kv_dict["title"])show_info_v2(name="雷學(xué)委", title="大學(xué)生Python學(xué)習(xí)社區(qū)長(zhǎng)")
下面是效果,看起來(lái)一樣的。
通常使用*加參數(shù)名。
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/24 11:39 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷學(xué)委# @XueWeiTag: CodingDemo# @File : func_call.py# @Project : hellodef show_info(name, title): print("姓名為:", name) print("職稱(chēng)為:", title)show_info("雷學(xué)委", "大學(xué)生Python學(xué)習(xí)社區(qū)區(qū)長(zhǎng)")show_info(name="雷學(xué)委", title="持續(xù)學(xué)習(xí)協(xié)會(huì)會(huì)長(zhǎng)")def show_info_v2(name, title, *info): print("姓名為:", name) print("職稱(chēng)為:", title) print("其他評(píng)價(jià):", info)show_info_v2("雷學(xué)委", "大學(xué)生Python學(xué)習(xí)社區(qū)區(qū)長(zhǎng)", "熱愛(ài)技術(shù)", "熱愛(ài)生活")
運(yùn)行效果如下:
我們看看下面的程序即可:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/24 11:39 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷學(xué)委# @XueWeiTag: CodingDemo# @File : func_call.py# @Project : hellodef compute_v1(list): sum = 0 for x in list: sum += x list = list + [sum] print("新地址:", id(list)) return sumdef compute_v2(list): sum = 0 for x in list: sum += x list[0] = list[0] * 100 return sum_list = [1, 2, 3, 4, 5]print("調(diào)用計(jì)算函數(shù)v1之前:", _list)print("調(diào)用計(jì)算函數(shù)v1之前內(nèi)存地址:", id(_list))print(compute_v1(_list))print("調(diào)用計(jì)算函數(shù)v1之后:", _list)print("調(diào)用計(jì)算函數(shù)v1之后內(nèi)存地址:", id(_list))_list = [1, 2, 3, 4, 5]print("調(diào)用計(jì)算函數(shù)v2之前:", _list)print("調(diào)用計(jì)算函數(shù)v2之前內(nèi)存地址:", id(_list))print(compute_v2(_list))print("調(diào)用計(jì)算函數(shù)v2之后:", _list)print("調(diào)用計(jì)算函數(shù)v2之后內(nèi)存地址:", id(_list))
這里兩個(gè)compute函數(shù),一個(gè)修改參數(shù)引用地址,一個(gè)并沒(méi)有修改參數(shù)引用而是修改了引用內(nèi)存空間的關(guān)聯(lián)地址(一個(gè)變量)的值。
可以說(shuō)它們都成功了。但是外面的_list 的地址是任何時(shí)候都不會(huì)被修改的,除非賦值新地址(也就是在調(diào)用v2之前重新復(fù)制那次)
下面是運(yùn)行結(jié)果:
如果傳入不可串改的數(shù)據(jù)類(lèi)型,那么盡管是基于引用關(guān)聯(lián)地址來(lái)修改值(禁止寫(xiě)),比如傳入一個(gè)由基礎(chǔ)數(shù)據(jù)類(lèi)型元素構(gòu)成元組tuple作為參數(shù),在調(diào)用函數(shù)中修改是被禁止。
Python運(yùn)行的時(shí)候會(huì)提示錯(cuò)誤!
《Python程序員面試筆試寶典》是一本講解Python程序員面試筆試的百科全書(shū),在寫(xiě)法上,除了講解如何解答Python程序員面試筆試問(wèn)題以外,還引入了相關(guān)知識(shí)點(diǎn)輔以說(shuō)明,讓讀者能夠更加容易理解。
《Python程序員面試筆試寶典》將Python程序員面試筆試過(guò)程中各類(lèi)知識(shí)點(diǎn)一網(wǎng)打盡,在廣度上,通過(guò)各種渠道,搜集了近3年幾乎所有IT企業(yè)針對(duì)Python崗位的筆試、面試涉及的知識(shí)點(diǎn),包括但不限于Python基礎(chǔ)與高級(jí)知識(shí)點(diǎn)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)與算法、Python與爬蟲(chóng)、Python與數(shù)據(jù)分析和機(jī)器學(xué)習(xí)相關(guān)的知識(shí)點(diǎn)。所選擇知識(shí)點(diǎn)均為企業(yè)招聘考查的知識(shí)點(diǎn)。
在講解的深度上,本書(shū)由淺入深地分析每一個(gè)知識(shí)點(diǎn),并提煉歸納,同時(shí),引入相關(guān)知識(shí)點(diǎn),并對(duì)知識(shí)點(diǎn)進(jìn)行深度剖析,讓讀者不僅能夠理解這個(gè)知識(shí)點(diǎn),還能在遇到相似問(wèn)題時(shí)也能游刃有余地解決,而這些內(nèi)容是其他同類(lèi)書(shū)籍所沒(méi)有的。
本書(shū)根據(jù)知識(shí)點(diǎn)進(jìn)行歸納分類(lèi),結(jié)構(gòu)合理,條理清晰,對(duì)于讀者進(jìn)行學(xué)習(xí)與檢索意義重大。
《Python程序員面試筆試寶典》是一本計(jì)算機(jī)相關(guān)專(zhuān)業(yè)畢業(yè)生面試、筆試的求職用書(shū),同時(shí)也適合期望在計(jì)算機(jī)軟、硬件行業(yè)大顯身手的計(jì)算機(jī)愛(ài)好者閱讀
使用當(dāng)下新版Python版本,真題庫(kù)2020年全面更新,作者就職世界500強(qiáng)IT名企,培訓(xùn)經(jīng)驗(yàn)豐富。
Python相關(guān)領(lǐng)域面試、筆試、經(jīng)驗(yàn)心得、算法、考點(diǎn)、難點(diǎn)、真題解析一應(yīng)俱全,獲取高薪
https://item.jd.com/10040499366331.html#none
https://weidian.v.bookuu.com/detail.php?id=101489279
總體來(lái)看這本書(shū)還是挺適合面試筆試準(zhǔn)備的。
本文講的函數(shù)值傳遞問(wèn)題,是寫(xiě)程序經(jīng)常遇到,特別的是動(dòng)態(tài)參數(shù)在高級(jí)框架中使用很廣泛。當(dāng)然也是面試會(huì)遇到的問(wèn)題之一,請(qǐng)讀者朋友們務(wù)必掌握。
另外,我們這個(gè)社區(qū)非常不錯(cuò),集齊了很多Python大咖。目前CSDN前五社區(qū),歡迎新老朋友加入交流:大學(xué)生Python學(xué)習(xí)社區(qū)
喜歡Python的朋友,別忘了關(guān)注學(xué)委的 Python基礎(chǔ)專(zhuān)欄 or Python入門(mén)到精通大專(zhuān)欄
持續(xù)學(xué)習(xí)持續(xù)開(kāi)發(fā),我是雷學(xué)委!
編程很有趣,關(guān)鍵是把技術(shù)搞透徹講明白。
歡迎關(guān)注微信,點(diǎn)贊支持收藏!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/123746.html
摘要:作者主頁(yè)不吃西紅柿不吃西紅柿簡(jiǎn)介博客專(zhuān)家核心組成員站周榜第一粉絲專(zhuān)屬福利簡(jiǎn)歷模板模板知識(shí)體系面試題庫(kù)技術(shù)互助。 ? 作者主頁(yè):不吃西紅柿? ? 簡(jiǎn)介:CSDN博客專(zhuān)家?、HDZ核心組成員?、C站周榜第一??? ? 粉絲專(zhuān)屬福利:簡(jiǎn)歷模板、PPT模板、知識(shí)體系、面試題庫(kù)、技術(shù)互助。直接去文...
摘要:布爾值布爾值和布爾代數(shù)的表示完全一致,一個(gè)布爾值只有兩種值的數(shù)據(jù)類(lèi)型可以通過(guò)內(nèi)置的函數(shù)查詢(xún),例如還可以用來(lái)判斷和的區(qū)別在于不會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型。會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型。基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素。 ...
摘要:章節(jié)介紹本書(shū)分為章,包括概述開(kāi)始之旅初識(shí)用與后端接口進(jìn)行數(shù)據(jù)聯(lián)動(dòng)淺析的使用生命周期和鉤子函數(shù)解析組件的靈活使用下的使用前端框架實(shí)戰(zhàn)上市集團(tuán)門(mén)戶(hù)網(wǎng)站開(kāi)發(fā)實(shí)戰(zhàn)基于框架的后臺(tái)管理系統(tǒng)開(kāi)發(fā)。另外,本書(shū)也適合作為相關(guān)培訓(xùn)機(jī)構(gòu)的教材使用。 ...
摘要:買(mǎi)了多少德國(guó)先讓讓?zhuān)烟炫_(tái)先讓給月暴跌股民們。還不如看下月的干貨,提升技術(shù)實(shí)力是正事。枕邊算法書(shū)眾所周知,算法是軟件開(kāi)發(fā)人員必須掌握的重要知識(shí)。但也不乏有人覺(jué)得算法很枯燥,所以推薦了枕邊算法書(shū),號(hào)稱(chēng)躺著都能看得懂的算法書(shū)。 6月過(guò)完了,這一年都 TM 過(guò)了一半了,大家都回想下自己這大半年,你都收獲了什么??技術(shù)有提升嗎?對(duì)象搞定了嗎? 說(shuō)多了都是淚,唯有 WIFI、空調(diào)、西瓜、足球能夠...
閱讀 3541·2021-11-18 10:02
閱讀 978·2021-09-04 16:48
閱讀 2056·2019-08-30 15:55
閱讀 3563·2019-08-30 15:52
閱讀 1838·2019-08-30 14:08
閱讀 3581·2019-08-30 13:19
閱讀 1177·2019-08-27 10:53
閱讀 3150·2019-08-26 12:11