设为首页 收藏本站
查看: 1458|回复: 0

[经验分享] python的集合与函数

[复制链接]

尚未签到

发表于 2018-8-6 10:27:16 | 显示全部楼层 |阅读模式
  函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
  函数能提高应用的模块性,和代码的重复利用率。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)
DSC0000.jpg

  函数return问题:
  在定义一个函数之后必须用关键字return来返回一个数值
  请比较一下两个式子:
DSC0001.jpg    DSC0002.jpg

  这两个函数一个在函数体中定义了return x+y, 一个则是直接print x+y,输出结果表示,函数如果在没有return时,会自动返回一个None;
  返回多个值: DSC0003.jpg
  函数的作用域:
  global    定义一个全局变量,在函数体内部只能定义一个局部变量。
DSC0004.jpg

  函数的高级特性:迭代:
  eg   请找出0到20之内所有偶数的平方:
DSC0005.jpg

  集合:集合和列表和元组最大的区别就是在于集合有去重的作用,所以说集合不是一个重复的数据结构,还有可以判断两个集合之间是否有交集,并集,差集,是否子集等作用。
  集合的定义: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中的所有元素
DSC0006.jpg

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

DSC0008.jpg

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547458-1-1.html 上篇帖子: python中的while...else-pengwei59的博客 下篇帖子: 46. Python Socket编程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表