亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python每日小知識(6)函數(shù)滴參數(shù)

andot / 2540人閱讀

摘要:默認參數(shù)這家伙還是有點點瑕疵的,默認參數(shù)必須一定以及肯定得指向不可變對象。寫完這頑固不化的默認參數(shù),就輪到靈活多變的可變參數(shù)上場了。

函數(shù)的參數(shù)

總結一下這幾種參數(shù)先:本來位置是默認滴,后來不知咋地可變了,位置上還用關鍵字這么上檔次的名字命名關鍵字了。

先講講廢話:我們做接口自動化或者其它測試,總之需要使用一些參數(shù)的時候,我們作為函數(shù)的調用者,無需了解太多,你只需要膚淺的知道如何如何滴傳遞準確無誤的參數(shù)以及知道函數(shù)將返回什么值即可,這樣就可以完美的完成工作了,至于那些內部復雜的邏輯被封裝起來了,作為調用者暫時就不考慮啦。

(1) 位置參數(shù):顧名思義就是排排坐,按位置賦值就這么簡單。

先計算X三次方的值:下面對于power()函數(shù)而言,參數(shù)x就是位置參數(shù),但有且僅能傳入一個參數(shù),傳入過多就是作死的行為了。

如果要計算X的n次方,就要傳入兩個參數(shù)了,只要對應位置即可

默認參數(shù):作用就是簡化函數(shù)的調用,也有需要小心的地方

(1)    必選參數(shù)必須在前,默認參數(shù)在后;
(2) 有較多參數(shù)擺在面前時,變化較大參數(shù)在前,變化較小的在后并作為默認參數(shù);

比如傳入記錄信息的函數(shù),需要傳入author、tel兩個參數(shù)

這時調用report()函數(shù)后輸入兩個參數(shù)值即可

當然兩個參數(shù)的對于那些登錄的賬號、密碼這操作完全沒問題,但如果是一些表單需要填入住址、電話、婚史、收入等信息,那后期調用函數(shù)的復雜度大大增加,所以我們就可以靠默認函數(shù)把信息不大變動的參數(shù)設置為默認值再進行調用

拋磚引玉一番:把地址和收入設置為默認參數(shù)

若是與我們設置的默認參數(shù)不符合,只能自己動動手指添加對應的額外信息啦。

默認參數(shù)這家伙還是有點點瑕疵的,默認參數(shù)必須一定以及肯定得指向不可變對象。 現(xiàn)在用典型的list來舉個例子(因為這家伙內容可變)

下面這是老掉牙的正常調用了,結果沒毛病

再用默認參數(shù)調用三次,看結果就驚呆了,每次出來的結果都記住了上次的內容,這就很尷尬了。

原因在于L列表是一個變量并指向[],每調用一次函數(shù)就會改變[]里的內容(上面提過了這里的內容是可變的),下次再調用的時候,默認參數(shù)里的內容就刷的一下改變了,所以才會處出現(xiàn)上面尷尬的場景。

有矛就有盾:使用None/str等這些不可變對象來解決問題,使用這些不可變對象可以大大滴降低修改數(shù)據(jù)導致的錯誤,更重要的是在多任務環(huán)境的情況下,對象不變,同時讀取對象就不需要加鎖,也不會出現(xiàn)問題。

寫完這頑固不化的默認參數(shù),就輪到靈活多變的可變參數(shù)上場了。

(2)可變參數(shù):字面上的意思,想要多少個就多少個(0到任意個)

只需要在參數(shù)前面加個*就可以輕松搞定啦,來點干貨:定義一個函數(shù),輸入任意個參數(shù),返回參數(shù)數(shù)值之和除以字符數(shù)的結果。

(3)現(xiàn)在可以坐下來談談關鍵字參數(shù)啦

講這個之前先了解一下Python內置字典dict,使用鍵-值(key-value)進行存儲,主要是用來查到內容,講到查找就會不自覺的想起我們之前相親相愛的list了。

假設說阿里的員工有幾萬人,你要從中查找一個人所對應的工資,那我們就要先從names中,查找出這個人的名字的位置,然后工資salary中取出相應的工資,這種方式會因為list元素的增加導致查找時間延長;如果用我們機智的dict,直接用就可以用名字查找工資,盡管這個表有三千尺,查找速度也是絲毫不會耽擱。

真槍實彈才是真理:

這玩意就像字典一樣可以根據(jù)條件查找,也可以收集新的東西進去。

并且dict只有一對一的節(jié)奏,不帶多對一的形式(key-value)

字典嘛肯定不可能所有東西都能查出來滴,一旦查不出來就得報錯了,所以我們就要通過一些手段來判斷這個key存不存在了。

(1) 使用dict提供的get()方法判斷key是否存在以及判斷后返回的內容;
(2) 刪除dict中的一個key就使用pop(key)方法。

好了這個半路殺出的程咬金就講到這里,小小的總結一波;

(1)    首先要知道為甚么list查找的速度會比dict慢的多,就是你拿著字典為了找個字一種是一頁一頁翻著找,另一種是通過偏旁部首去找,顯而易見肯定后者更快,所以說list查找和插入的速度,不會因為key賊多就變慢;

(2) 有利就有弊,雖然list在查找和插入的速度方面不討喜,但是人家占用的空間少那內存基本上就不會浪費了,而dict就是利用空間來換取時間的做法,極其可恥的浪費了極多內存;

(3) 還要注意的是dict中的key必須是不可變對象、不可變對象、不可變對象;

(4) 這個通過key準確計算位置的算法就叫:(Hash)哈希算法。

下面步入正軌
所謂的關鍵字參數(shù)呢就是允許你可以傳入0-N個含參數(shù)名的參數(shù)(其中還可寫入必選參數(shù)),并且這些關鍵字參數(shù)會很自覺的組裝成剛剛我們所講的dict

這跟可變參數(shù)就是一個和兩個*的區(qū)別。

(5)最后一波進攻:命名關鍵字參數(shù)

(如果傳入的參數(shù)過多,而在調用的時候不需要全部使用就中間插入一個*,后面的參數(shù)就是你要調用的,至于前面的就讓他們放飛自我了)

> 要注意的是
(1)使用命名關鍵字參數(shù)必須要傳入?yún)?shù)名,否則就得炸了。
(2)如果函數(shù)定義中已經(jīng)有一個可變參數(shù)了,后面的命名關鍵字參數(shù)就不需要分隔符*了。

下面來個對比操作就一目了然了

直接對*后的參數(shù)賦值就會報錯。

來個大雜燴例子:

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/41496.html

相關文章

  • Python每日知識(2):字符串和編碼

    摘要:表示的通過方法可以編碼為指定的。有圖有真相沒看錯就是這么簡單,但是要注意有中文的這種異類是無法用帥氣的編碼的,因為中文編碼的范圍超過了編碼所能承受帥氣的范圍,會報錯。 了解:ASCII編碼(是1個字節(jié))仍然可以完美滴處理數(shù)字,因為最早的時候只有127個字符編入計算機,但是遇到處理中文1個字節(jié)就有點捉襟見肘了,這時候我們就腦殼疼了,所以中國制定了GB2312編碼,用來把中文編進去;然后各...

    gyl_coder 評論0 收藏0
  • Python每日知識(5):調用和定義函數(shù)

    摘要:再調用個絕對值內置函數(shù)來加深影響心急吃不了熱豆腐啊有且僅能傳入一個參數(shù),傳入不符合數(shù)量的參數(shù)就會報錯誤傳入的參數(shù)數(shù)量是沒錯了,但傳入錯誤的參數(shù)類型也是會死的很慘的。 調用函數(shù) 干貨:Python官網(wǎng)查看函數(shù)幫助信息 http://docs.python.org/3/libr... showImg(https://segmentfault.com/img/bV71Kn?w=348&h=8...

    yibinnn 評論0 收藏0
  • Python每日知識(3):list和tuple的使用

    摘要:同樣的用上節(jié)講的函數(shù)獲取元素的個數(shù)記住這是獲取的是列表個數(shù)個數(shù)個數(shù)重要的事說三遍。用索引訪問每個元素的位置,索引是從開始的開始的開始的索引也是有容忍限度的超過了就會原地爆炸報錯如果列表中元素個數(shù)賊多,想獲取后面的元素就要實行曲線救國了。 list和tuple是Python內置的有序集合,一個是可變的,一個是不可變滴;這都不是事,主要是理解一下指向不變。 看圖說話: showImg(ht...

    SoapEye 評論0 收藏0
  • Python紀念冊】哪些浪漫至極的表白程序—“你做我的男孩,我做你的宇宙”

    摘要:完整的資料源碼都打包等你來取哈免費滴直接視頻效果展示如下紀念冊哪些浪漫至極的表白程序截圖展示如下界面漫天花瓣飛舞。 ?導語 大家好,我是木木子!?? 今日的表白案例上線啦~有沒有期待?安排安排!源碼基地見免費源碼哈! 貼心的木子君也給你們好多愛心花瓣、以及表白的小程序!在主頁的左側哦! 這款...

    aisuhua 評論0 收藏0
  • Python每日知識(1):輸入和輸出、數(shù)據(jù)類型和變量

    摘要:理解了輸入輸出,就可以簡單的打印有意義的程序了比如打印先輸入回車輸入或其它內容,存入變量輸入當然為了用戶體驗更好,可以適當?shù)奶砑右恍┨崾拘畔?shù)據(jù)類型和變量整數(shù)常用十六進制表示與數(shù)學上表示方法一樣等。常量不能變的量,通常用大寫字母表示 1、輸出函數(shù):Print() 接受多個字符串時用逗號隔開(相當于空格),就可連成一串輸出。 showImg(https://segmentfault.co...

    546669204 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<