python基礎知識4(字典和函數)

wKioL1mq1YPRdxoxAAEMekalrhc677.png




# 字典python

 

- 又稱爲(# hash,映射,關聯數組)數組

- "字" ---> 先找首字母,查到這個字的解釋所在的頁數;ide

 

 

## 字典的定義:函數

d = {}ui

d = {"key1":"value1"}spa

d = {"key1":"value1","key2":"value3"}對象

 

d = {blog

 

    "172.25.254.1":索引

        {ip

        "user":"root",

        "password":"westos",

        "command":"hostname"

        },

 

    "172.25.254.2":

        {

        "user":"westos",

        "password":"westos1",

        "command":"hostname"

        }

}# 支持異構,嵌套

 

 

 

 

dict(zip(user,passwd))

"".fromkeys(["a","b"],"1000")

 

 

 

 

## 字典的特性

- 字典是可變數據類型;可以使用len(d)內置函數,計算字典的長度;

- 字典是無序的,與序列(str,list,tuple)不一樣的是,不支持索引,切片,鏈接與重複。只能經過key值獲取對應的value值;

- 字典支持異構,支持嵌套;

 

## 字典的增長

d.update()

d.setdefault(key[,value])

# 若是key存在,不更改;若是key不存在,添加key-value到字典中;

# 若是key值有,並不存在d字典中,默認value值爲None;



 函數(python的樂高積木一)

 

## 內置函數(BIF,built-in function)

 

 

min,max,sum,zip,abs,

int,float,str,list,tuple,bool,

 

```

In [56]: bool(1)

Out[56]: True

 

In [57]: bool("")

Out[57]: False

```

 

函數實質上是一個變量;函數名是一個指向函數對象的引用,徹底能夠把函數賦值給一個變量,至關於給這個函數起了個別名;

 

```

In [59]: a = abs# a變量指向abs函數

 

In [60]: a(-1)# 能夠經過a實現abs的功能;

Out[60]: 1

 

In [61]: abs(-1)

Out[61]: 1

```

 

 

## 定義與調用函數

def 函數名([形式參數]):

函數體 # 函數要執行的程序

return 返回值# 若是沒有return返回,默認返回值爲None;

 

函數名([實參])

 

注意:有返回值 的函數,必須print fun(),能夠打印出返回值;

 

 

## 函數的返回值

 

-  在函數中,一旦遇到return關鍵字,函數就執行結束;

-  函數返回值只能返回一個,若是想間接返回多個值,返回值實際是一個元組;

 

```

def maxSum(num1,num2,num3):

        print num2

        return max(num1,num2,num3),sum([num1,num2,num3])

        num1 += 2

        print num1

 

 

print type(maxSum(1,4,2))

print maxSum(1,4,2)

```

 

## 函數的參數傳值

 

### 必選參數:形參與實參的個數必須相同,不然直接報錯;

### 默認參數:在定義函數時,給形參一個默認值;

### 可變參數:傳入的參數個數是可變的,能夠是1-n個,也能夠是0個;通常實參中用*args來表示可變參數;

args接收的是一個元組(tuple);

### 關鍵字參數:容許傳入0個或多個包含參數名的參數,傳進來的參數自動封裝爲一個字典.

 

 

若是四種函數參數同時存在,參數定義的順序必須是: 必選參數,默認參數,可變參數,關鍵字參數.

 

 

 

 

解包:

- 把一個序列元素依次傳入帶有可變參數的函數時,可經過fun(*l)來解包;

- 把一個字典元素依次傳入帶有關鍵字參數的函數時,可經過fun(**d)來解包;

 

 

 

 

 

## 變量的做用域

- 全局參數:在函數外定義的函數

- 局部參數:在函數內部定義的函數;

- global:聲明局部變量爲全局變量;

 

```

global name

name = "westos"

```

相關文章
相關標籤/搜索