ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

近日Python学习复习与总结

近日Python学习复习与总结 1.各种数据容器的总结与对比字符串 有序不可变可索引可切片可重数用于文本处理列表 有序可变可索引可切片可重数用于有序可重复的数据集合元组 有序不可变可索引可切片可重数用于固定数字记录集合 可变用于去重复数据 无序不索引不切片不重复字典 可变 value可重复 无序不索引靠key取东西而非位置不切片 key 不重复用于键值对2.函数1定义函数是组织好的可重复使用的用来实现特定功能的代码片段内置函数例子len()求长度元素个数可用于列表元组字典键值对的数量字符串sum()求数据容器中所有数字总和(只能用于数字求和只能放数字列表不能直接放字典字典想求和要先循环取出里面的数字round(数字, 保留小数位数)作用四舍五入.return多值组成元组后面可用解包操作(2)函数的定义与调用return后函数直接结束了不会继续往下跑代码3函数的嵌套调用后进先出4函数进阶1.函数变量的作用域全局变量在函数之外定义的变量在整个文件中都可以使用通常定义在文件顶部局部变量在函数内部定义的变量只能函数内部使用外部无法访问函数执行完就自动销毁global关键字告知python解释器要在函数内部使用全局变量且內部可修改全局变量值2.函数参数1传实参方式位置传参根据函数定义时的位置来传递参数关键字传参函数定义时以形参名称作为关键字以keyvalue形式传递混用位置传参在前默认参数定义时为参数提供默认值调用时可不提供直接认定默认值不定长参数—位置传递*arges)*arges将未知数量的参数合并封装为一个元组不定长参数—位置传递**kwargs)键值 参数会被**kwargs合并封装为一个字典2例题易错点1.为什么round要写 is not none,但是print不用呢kwargs.get(print)这种写法自动帮你处理 key 不存在的情况不需要额外写is not None。round要写是因为round允许其00在 Python 里属于假值。 拿到0if 0判定为 False直接不进入分支。 但round0是合法需求保留 0 位小数取整数我们希望只要传了 round 参数不管它是 0、1、2都要执行。总结if kwargs.get(xxx)键存在且值为真才执行键不存在自动返回 None直接不执行不用额外判断 key 是否存在if kwargs.get(xxx) is not None只要这个键存在就执行哪怕值是 False/03.函数的参数类型oper用于接收函数4.匿名函数1)因其匿名所以调用时还是要先用变量赋值此时这个变量是函数(2)例题易错点1key的作用告诉 sort 函数【用什么东西来比较大小】。默认情况下sort()直接拿元素本身去比写了key就拿key 函数返回的结果去比较这里lambda item: len(item)返回字符串长度。 比较的不再是字符串本身而是字符串的长度数字。 实现需求按字符个数排序。2sort()接收两个只能用关键字传参的参数key指定一个单参数函数用来提取用于比较的值。例子keystr.lower。 列表里每一个元素都会调用这个 key 函数得到结果拿这个结果去完成排序。 默认值None代表不做转换直接拿元素本身比较。reverseFalse默认 False升序从小到大reverseTrue降序从大到小。注意用这个就默认拿元素本身去比再进行升降序转换如果要使其按元素长度去排就先用key,再用date_list.reverse() 或者一步到位用date_list.sort(keylambda item:len(item),reverse True5.Python模块1定义一个.py文件就是一个模块模块是Python程序的基本组织单位。在模块中可以定义变量函数类以及可执行的代码。(2)模块例如3导入模块语法导入多个模块中间用逗号导入形式中有指明功能名调用时直接写功能名即可最后的*是指将该模块的所有功能导入调用时也可直接用功能名__all__用于控制import*时导入哪些功能用了if __name__ __main__:加了__name__就意味着 不想将本文件中此下的代码 在被导入其他文件时 运行
返回列表