python学习(3)

字典

  • 字典是Python语言中唯一的映射类型
  • 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型
  • 字典是Python中最强大的数据类型之一
字典的定义:
  • d = {}
  • d = {“key1”:”value1”}
  • d = {“key1”:”value1”,”key2”:”value3”}
字典的特性:
  • 字典是可变数据类型;可使用len(d)内置函数,计算字典的长度;
  • 字典是无序的,与序列(str,list,tuple)不同的是,不支持索引,切片,连接与重复。只能通过key值获取对应的value值;
  • 字典支持异构,支持嵌套;
字典的增加:
  • d.update()
  • d.setdefault(key[,value])
    如果key存在,不更改;如果key不存在,添加key-value到字典中;
    如果key值有,并不存在d字典中,默认value值为None;
字典的删除:
  • d.pop(key) # 根据某个key值删除字典中的key-value值;
  • d.popitem() # 随机删除key-value值
  • d.clear() # 清空字典的所有内容,字典还存在
  • del(d[“key”]) # 删除指定的key值
  • del(d) # 删除字典d,d直接不存在
In [12]: d
Out[12]: {'passwd': '234', 'user1': 'westos'}

In [13]: del(d["passwd"])

In [14]: d
Out[14]: {'user1': 'westos'}

In [15]: del(d)

In [16]: d
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-16-e29311f6f1bf> in <module>()
----> 1 d

NameError: name 'd' is not defined

In [17]: 
字典的修改:
  • d[“key2”]=”value3”
In [7]: d
Out[7]: {'passwd': '123', 'user1': 'westos'}

In [8]: d["passwd"] = "234"

In [9]: d
Out[9]: {'passwd': '234', 'user1': 'westos'}
字典信息的查看:
  • d.get(“key”) # 如果key存在,返回value值;如果不存在,返回None;
  • d[“key”] # 如果key存在,返回value值;如果不存在,直接报错;
  • d.has_keys(“key”) # 如果key存在,返回True;如果不存- 在,返回False;
  • d.items()
  • d.keys()
  • d.values()
In [2]: d
Out[2]: {'passwd': '123', 'user1': 'westos'}

In [3]: d.keys()
Out[3]: ['passwd', 'user1']

In [4]: d.values()
Out[4]: ['123', 'westos']
遍历字典所有key-value值:
In [5]: d
Out[5]: {'passwd': '123', 'user1': 'westos'}

In [6]: for key,value in d.items():
   ...:     print key,value
   ...:     
passwd 123
user1 westos
字典的复制:
  • d.copy()
In [105]: d1 = d.copy()

In [106]: id(d)
Out[106]: 20314528

In [107]: id(d1)
Out[107]: 20338192

函数

定义函数:
  • def关键字,依次写出函数名、括号、括号中的参数和冒号 :
  • 在缩进块中编写函数体,函数的返回值用 return 语句返回
内置函数:
  • 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关键字,函数就执行结束;
  • 函数返回值只能返回一个,如果想间接返回多个值,返回值实际是一个元组;
函数的参数传值:
  • 必选参数: 形参与实参的个数必须相同,否则直接报错;
  • 默认参数: 在定义函数时,给形参一个默认值;
  • 可变参数: 传入的参数个数是可变的,可以是n-1个,也可以是0个;一般实参中用*args来表示可变参数;args接收的是一个元组(tuple);
空函数:
  • 定义一个什么事也不做的空函数,可以用 pass 语句;
  • pass 可以用来作为占位符,还没想好怎么写函数的代码,
    就可以先放一个 pass ,让代码能运行起来
def nofunc():
    pass
参数检查:
  • 调用函数时,如果参数个数不对,Python解释器会自动检查出来并抛出 TypeError
  • 如果参数类型不对,Python 解释器就无法帮我们检查
  • 数据类型检查可以用内置函数 isinstance 实现
变量的作用域:
  • 全局参数:在函数外定义的函数
  • 局部参数:在函数内部定义的函数;
  • global:声明局部变量为全局变量;
a = "westos"
def func():
    global a
    a = "test"
func()
print a

如果不用global定义变量,print a打印出来的还是”westos”

点击“基本框架”可查看详细脑图:

基本框架
基本框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值