Python基础(五)集合与函数
一、Set集合
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。下面一起看一下set的定义和使用方法:
(一),set定义
(二),set的方法
1,在集合中添加元素(add)
2,clear、copy跟之前的类型一样,clear是清空集合中元素,copy是浅拷贝,不再举例说明
3, 判断A中存在B中不存在的方法(difference)
4,从当前集合中删除和B中相同的元素(difference_update)
5,取A集合和B集合的交集( intersection )
6,判断A、B两个集合中有无交集,没有交集返回True,相反返回Fasle( isdisjoint )
7,移除集合中的元素,不存在不报错(discard)
8,随机删除集合中的元素(pop)
9,移除集合的元素,与discard不同的是,元素不存在会报错(remove)
10,取A中没有的和B中没有的,又叫对称差集。(symmetric_difference)
11,将A、B并在一起取它们的并集(union)
集合的方法介绍完毕,下面通过一个例子来应用一下set集合的方法:
大家都知道哦CMDB,下面有台服务器4个内存插槽,近期已更换内存,要将新更换的内存信息同步到CMDB里,具体更新信息如下:
操作步骤:
二、python函数定义
(一),函数定义
首先我们来看定义函数要遵循的规则:
1,函数代码块以def关键词开头,后接函数标识名称和圆括号();
2,任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数;
3, 函数的第一行语句可以选择性地使用文档字符串,用于存放字符串;
4,函数内容以冒号起始,并且缩进
5,return[表达式]结束函数,选择性的返回一个值给调用方,不带表达式的return相当于返回None。
1,语法说明:
2,函数调用
(二),函数的参数
函数参数的分类:
1、普通参数(严格按照顺序,将实际参数赋值给形式参数)
2、默认参数(必须放置在参数列表的最后)
3、指定参数(将实际参数赋值给制定的形式参数)
4、动态参数:
* 默认将传入的参数,全部放置在元组中, f1(*[1`1,22,33,44])
** 默认将传入的参数,全部放置在字典中 f1(**{"kl":"v1", "k2":"v2"})
5、万能参数, *args,**kwargs
下面逐个介绍函数参数的用法:
首先附上一个发邮件的函数,大家可以玩一玩:
1、普通参数(位置参数)
2、默认参数(缺省参数)
3、指定参数
4、动态参数(*)
上面有一个问题就是能不能传入字符串,答案是可以的,参数为字符串是,安装字符循环写到元组里。
5、动态参数(**)默认将传入的参数,全部放置在字典中
6、万能参数(*args,**kwargs)既可以接收字符串,列表元组也可以接收字典等特殊类型。
(三),函数的特性
函数的特性:
1、根据python代码从上问下的执行顺序,下面的代码第一个f1()函数为无效函数,python会当作垃圾内存就行处理。
2、Python中传递参数为引用,而不是在内存中申请新的内存
3、全局变量
4、lambda: 简单的函数可以使用lambda表达式进行定义,a1,a2为形式参数,可以传入多个数
下面举两个例子来巩固一下刚才的函数的内容:
1,字符串格式化format()
2、一个登录的小程序
- Python源码剖析
- Velt-0.2.6对Python远程调试的支持
- Python的re模块正则表达式操作
- Python的Twisted框架上手前所必须了解的异步编程思想
- 使用Python的Twisted框架构建非阻塞下载程序的实例教程
- Python的Twisted框架中使用Deferred对象来管理回调函数
- 使用Python的Twisted框架编写非阻塞程序的代码示例
- 实例解析Python的Twisted框架中Deferred对象的用法
- 剖析Python的Twisted框架的核心特性
- fnmatch模块_______python模块学习1
- Python-IDLE编辑器快捷键
- python --int 对象
- python os模块 常用命令
- python 源码解析
- python玩转大数据-(一)
- EM算法文本分类
- python玩转大数据-数据选择
- Python标准库之sqlite3使用实例
- python的内存管理机制 图解+Django Web开发学习笔记
- Python2学习笔记(1)