Python函数、切片、迭代学习小结

一、函数

1.在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

2.如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

3.Python函数可以返回多个返回值,但是究其根本它其实只是反回了一个tuple,而tuple中包含多值。

4.Python的函数里可以定义默认参数,比如:def fuc(a,b=1):,这里默认参数就是b=1,如果调用方法时不穿b参数那么b的默认值就是1,如果传,那么默认值被覆盖。由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面。

5.Python之定义可变参数,我们可以通过def fuc(*args):这种形式向函数中传入任意数量的参数,原理是python会把传入的多个参数合成一个tuple,传递给函数。

二、切片

1.我理解的切片就是对有序数据进行截取,分割。

2.拿list作案例,如list[0:3],就是截取list索引下0-2的元素生成一个新的list,当第一个索引为0时也可以省略list[:3];当一直切片到最后一个元素时可表示为list[2:],理解为从索引2开始一直截取到最后一个元素,因此list[:]可以理解为复制了一个新的list。

3.切片操作还可以指定第三个参数,如list[::2],第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。注:把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。

4.python同样也支持倒序切片。如list[0:-2]。

5.切片同样可应用到字符串截取,但截取后得到的依旧是字符串。

三、迭代

1.迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素。

2.像如下:(1).有序集合:list,tuple,str和unicode;(2).无序集合:set;(3).无序集合并且具有 key-value 对:dict都可以通过for...in...来进行迭代。

3.enumerate()函数,它可以把有序数组里的每个元素和其对应的索引关联起来形成一个个tuple,从而可以用for循环来迭代索引。

4.对于dict中的value进行迭代,我们可以通过dict.values()或d.itervalues()函数结合for循环来实现。                                        两者的区别在于:(1).values()方法实际上把一个 dict 转换成了包含 value 的list;                                                                                          (2).itervalues()方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方                                            法比values() 方法节省了生成 list 所需的内存。注:在python3.5中此函数被.items()取代。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 5,774评论 0 5
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 5,863评论 0 1
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 12,229评论 1 118
  • Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算...
    Gaolex阅读 7,929评论 5 55
  • 朋友C,早年毕业后,升学无望,于是四处打听工作岗位。经朋友的介绍说,他那边有个保安的岗位,待遇薪水还不错,可以...
    浩瀚的一颗星阅读 3,641评论 3 3