python的集合与函数,,函数是组织好的,可重


函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义一个函数:

定义一个由自己想要功能的函数,以下是简单的规则:

函数代码块以def关键词开头,后接函数标识符名称和圆括号()

任何传入参数和自变量必须放在圆括号里。圆括号之间可以用于定义参数。

函数内容以冒号起始,并且缩进。

return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

eg: def dealnum (x,y):

if x>= y:

s = x*y

return s

函数的调用:

函数名()

函数定义时候不执行,函数必须在调用的时候传递参数才能够执行。

函数的参数问题

1)必选参数: 形式参数:

eg:

def add(x,y): ------函数定义

return x+y

add(1,2) -----------函数调用

默认参数:

def sum(x,y=2) ----------函数定义

return x**y

sum (3) --------直接传递x的值,y值默认

可变参数:函数定义的参数个数是可以发生变化的,可变参数可以理解为在刚刚开始的时候装入 了一个空的tuple

形式参数:def add(*args): --------------定义函数

sum = 0

for i in args:

sum += i

print sum

add(1,2,3,4,5,6,7) --------------args变量名指向了一个元组

关键字参数:关键字参数和可变参数类似,都可以接收参在数数量不确定的时候使用,但是关键字参数可以传入含参数名的参数,就相当于是传入了一个dict,这是关键字参数和可变参数的最大不同之处。

def dealperson(name,age,**other):

print name,age,other

dealperson("james",33,"paly"=basketball,"size"=114)

技术分享图片

函数return问题:

在定义一个函数之后必须用关键字return来返回一个数值

请比较一下两个式子:

技术分享图片 技术分享图片


这两个函数一个在函数体中定义了return x+y, 一个则是直接print x+y,输出结果表示,函数如果在没有return时,会自动返回一个None;

返回多个值: 技术分享图片


函数的作用域:

global 定义一个全局变量,在函数体内部只能定义一个局部变量。

技术分享图片

函数的高级特性:迭代:

eg 请找出0到20之内所有偶数的平方:

技术分享图片



集合:集合和列表和元组最大的区别就是在于集合有去重的作用,所以说集合不是一个重复的数据结构,还有可以判断两个集合之间是否有交集,并集,差集,是否子集等作用。

集合的定义:1)s = {1,2,3,4} --------此时的是一个集合,但是s={}时候s为一个字典类型。

2)s = set () --------直接通过工厂方法来赋值。

所有的数据类型通过转化为集合类型就可以具有无重性:

eg:li=[1,2,3,4,4,3,2]

s = set(li) -------此时的s就是一个集合,具有无重性。

eg: li={1,2,3,4,3,2}

d = {}.fromkeys(li); ----------字典的去重。

集合和字典类似,是无顺的,并且不能切片、索引、重复、也不支持连接等动作,但是支持迭代(for)、成员查找等动作。

集合的增、删、改:

增加:s={1,3,4,5}

s.add(9) -------------通过add()函数直接给集合添加元素,

s1 = {"hello,world"}

s.update(s1) ---------------通过update()函数把两个集合连接起来。

删除:s.pop() ---------------可以理解为出栈

s.remove(1) ---------------删除指定元素‘1’

s.discard() ----------------删除集合s本身,如果s集合不存在将do nothing

s.clear() -----------------清空集合s中的所有元素

技术分享图片

集合最大的作用就是去重性:

技术分享图片

技术分享图片

先定义集合,确保产生的数字没有重复性,然后转化为列表,通过li.sort()函数按照从下到打的顺序排列好。





















python的集合与函数

评论关闭