码迷,mamicode.com
首页 > 编程语言 > 详细

python基础知识4(字典和函数)

时间:2017-09-03 09:55:52      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:python

技术分享




# 字典

 

- 又称为(# hash,映射,关联数组)

- "字" ---> 先找首字母,查到这个字的解释所在的页数;

 

 

## 字典的定义:

d = {}

d = {"key1":"value1"}

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

 

d = {

 

    "172.25.254.1":

        {

        "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"

```


本文出自 “13122425” 博客,请务必保留此出处http://13132425.blog.51cto.com/13122425/1962217

python基础知识4(字典和函数)

标签:python

原文地址:http://13132425.blog.51cto.com/13122425/1962217

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!