python之字典和函數參數__函數

來源:互聯網
上載者:User

1.字典

1.1.字典的定義:

    在元組和列表中,都是通過編號進行元素的訪問,但有的時候我們按名字進行資料甚至資料結構的訪問,所以引入了字典

字典是一種通過名字或者關鍵字引用的得資料結構,其鍵可以是數字、字串、元組,這種結構類型也稱之為映射。映射其實就是一組key和value以及之間的映射函數,其特點是:key的唯一性、key與value的一對多的映射。

1.2.字典的方法

dict.clear() 刪除字典中所有元素
dict.copy() 返回字典(淺複製)的一個副本
dict.fromkeysc(seq,val=None) 建立並返回一個新字典,以seq 中的元素做該字典的鍵,val 做該字典中所有鍵對應的初始值(如果不提供此值,則預設為None)
dict.get(key,default=None) 對字典dict 中的鍵key,返回它對應的值value,如果字典中不存在此鍵,則返回default 的值(注意,參數default 的預設值為None)
dict.has_key(key) 如果鍵(key)在字典中存在,返回True,否則返回False. 在Python2.2版本引入in 和not in 後,此方法幾乎已廢棄不用了,但仍提供一個 可工作的介面。
dict.items() 返回一個包含字典中(鍵, 值)對元組的列表
dict.keys() 返回一個包含字典中鍵的列表
dict.values() 返回一個包含字典中所有值的列表
dict.iter() 方法iteritems(), iterkeys(), itervalues()與它們對應的非迭代方法一樣,不同的是它們返回一個迭代子,而不是一個列表。
dict.pop(key[, default]) 和方法get()相似,如果字典中key 鍵存在,刪除並返回dict[key],如果key 鍵不存在,且沒有給出default 的值,引發KeyError 異常。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

練習:

購物車程式需求:   1.啟動程式後,讓使用者輸入工資,然後列印商品列表;   2.允許使用者根據商品編號購買商品;   3.使用者選擇商品後,檢測餘額是否足夠,足夠直接扣款,不夠就提醒;   4.可隨意退出,退出時列印購買的商品和餘額‘

建立一個使用者登入系統:儲存使用者的使用者名稱和密碼建立使用者時,判斷使用者是否存在,若存在則報錯登入系統時,確保使用者名稱存在於系統中,密碼錯誤有三次機會,超過三次機會會報錯登陸時判斷本次登陸與上次登陸的時間差,如果time<4h,顯示你已經  


2.函數:

  2.1.函數的聲明     Python中的函數以如下形式聲明:
     def 函數名稱([參數1,參數2,參數3......]):
         執行語句

  2.2 關鍵字return 和pass

     函數在執行過程中一旦遇到return,函數就執行完畢,並將結果返回。
     函數在執行過程中沒有遇到return時,傳回值None.
      如果要定義一個什麼也不做的空函數時,可以用pass語句,作為一個預留位置,讓代碼先運行起來

  2.3.函數的參數

 參數定義的順序:必選參數 > 預設參數 > 可變參數 > 關鍵字參數

  函數的參數檢查
 函數返回多個值,實質上是返回一個元組tuple,返回時元組可以省略括弧,
 函數調用接收傳回值時,按照位置賦值給變數,

預設參數,必選參數同時存在函數中存在時,一定要將必選參數放在預設參數前面;設定預設參數時,把變化大的參數放前面,變化小的參數放後面,變化小的參數可以設定為預設參數。 預設參數一般是是不可變資料類型

可變參數

定義函數時,形參可以為*args,使函數可以接收多個參數,接收的資料類型為元組;
如果想將一個列表或者元組傳入函數,也可通過*li 或 *t,將參數傳入函數裡

*args,可變參數,args接收的是tuple

練習:返回一個可變參數的第一字元


關鍵字參數

**kwargs,關鍵字參數,kwargs接收的是字典




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.