Python進階【第四篇】函數

來源:互聯網
上載者:User

標籤:資料類型   cti   圖片   數列   字元   全域變數   lock   修改   列印   

一、變數

變數是記錄一系列狀態變化的量

1.變數分為可變類型與不可變類型——可變 與不可變是根據變數在記憶體中佔據的位置

可變類型:列表list[ ]、字典dicta{ }

不可變類型:字串str、數字int、元組()

2.按照訪問方式可分為順序訪問、映射訪問和直接存取

直接存取:數字int

映射訪問:字典dict{ }

順序訪問:字串str、列表list[ ]、元組()

二、集合

特徵:由不同的元素組成,元素無序,集合中的元素必須是不可變類型

1.集合定義:set()

s = set(‘hello‘)
print(s)
#輸出結果為{‘o‘,‘h‘,‘l‘,‘e‘},無序,無重

 其中()中必須為可迭代類型

2.常用方法

  • 添加元素
add() #向集合中添加元素
  •  清空集合
clear() #清空集合
  •  刪除集合中的元素
pop()#隨機刪除某個元素remove()#指定某個值刪除,當不存在要刪除的元素時,編譯報錯discard()#指定某個值刪除,當不存在要刪除的元素時,編譯不報錯

 3.常用操作

  • 求交集
s1.intersection(s2) #求s1與s2的交集
  •  求並集
s1.union(s2) #求s1與s2的並集
  •  求差集
s1.difference(s2) #s1中有,s2中沒有的元素s2.difference(s1) #反之
  •  判斷
s1.difference_update(s2)  #等價於s1 = s1-s2s1.isdisjoint(s2)  #交集是否為空白集s1.issubset(s2)  #s1是否為s2的子集,反之,issuperset()判斷是否為父集
 三、字串格式化

%s固定類型,用於傳值,傳多個值是(,,,),中間用逗號分隔

%d——傳數字,%s——可用於傳一切資料類型

列印浮點數:

%.2f  #列印小數點後2位

 列印百分比符號:%%

字典的傳值:

%(name)d     %(age)s  #傳一個字典,key=name,key=age
 四、函數

形式:

def    test()關鍵字 函數名 形參    代碼塊    return    傳回值

函數的定義主要有如下要點:

  • def:表示函數的關鍵字
  • 函數名:函數的名稱,日後根據函數名調用函數
  • 函數體:函數中進行一系列的邏輯計算,如:發送郵件、計算出 [11,22,38,888,2]中的最大數等...
  • 參數:為函數體提供資料
  • 傳回值:當函數執行完畢後,可以給調用者返回資料。

 關於傳回值:

  • 無傳回值:返回一個None
  • 有一個傳回值:返回object
  • 多個傳回值:返回一個tuple

函數的有三中不同的參數:

  • 普通參數
  • 預設參數
  • 動態參數
# ######### 定義函數 ######### # name 叫做函數func的形式參數,簡稱:形參def func(name):    print name# ######### 執行函數 ######### #  ‘wupeiqi‘ 叫做函數func的實際參數,簡稱:實參func(‘無名‘)普通參數

 

def func(name, age = 18):        print "%s:%s" %(name,age)# 指定參數func(‘無名‘, 19)# 使用預設參數func(‘有名‘)註:預設參數需要放在參數列表最後預設參數

 參數的傳值時位置參數,關鍵字參數的使用規則:

  • 位置參數必須一一對應,缺一不行,多一也不行
  • 一個參數不能傳兩個值
  • 若位置參數與關鍵字參數混合使用,則位置參數必須在關鍵字參數左邊
  • 多組參數(位置參數,*args,**kwargs)對應形式為(位置參數,列表,字典)
五、局部變數與全域變數

局部變數;在子程式中定義的變數

全域變數;在整個檔案中任何位置均可調用到

 變數使用的就近原則

關於global關鍵字:

如果函數中無global關鍵字,優先讀取局部變數,若無局部變數,則只能讀取全域變數,也就無法對其賦值或者修改。

當有global關鍵字時,global把全域變數拿到函數中,變成了該函數的變數,但對其他函數來講,仍然是全域變數,但全域變數的值可以在上一個函數中被修改。

為了以後避免變數重名問題,全域變數一律大寫,局部變數小寫。

函數執行順序

六、遞迴

函數自己調用自己,但必須有個明確的結束條件

 

Python進階【第四篇】函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.