这 10 个超的 Python 函数你不妨试试!

上传人:啧**** 文档编号:305507042 上传时间:2022-06-07 格式:DOCX 页数:8 大小:19.33KB
返回 下载 相关 举报
这 10 个超的 Python 函数你不妨试试!_第1页
第1页 / 共8页
这 10 个超的 Python 函数你不妨试试!_第2页
第2页 / 共8页
这 10 个超的 Python 函数你不妨试试!_第3页
第3页 / 共8页
这 10 个超的 Python 函数你不妨试试!_第4页
第4页 / 共8页
这 10 个超的 Python 函数你不妨试试!_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《这 10 个超的 Python 函数你不妨试试!》由会员分享,可在线阅读,更多相关《这 10 个超的 Python 函数你不妨试试!(8页珍藏版)》请在金锄头文库上搜索。

1、WORD(可编辑版本)这 10 个超的 Python 函数,你不妨试试! 来看个例子你就明白 # 创建函数def add(a, b): result = a + b print(fa + b = result) return resultfrom functools import reduceresult = reduce(add, 1, 2, 3, 4)print(结果:, result) 输出 1 + 2 = 33 + 3 = 66 + 4 = 10结果: 10 执行过程:第一次将列表中的前两个数取出来作为函数add的参数,其次次将上一次函数add的返回值与列表的第3个数作为参数,依此类推

2、,最终得到单个值。这便是reduce的作用。有点像万物归一的感觉。 当然,假如只不过是计算列表中的元素之和,大可不必绕这么大弯子用reduce来处理,直接用 sum 函数就可以解决。 result = sum(1, 2, 3, 4) 假如是计算列表中元素的乘积,python并沒有内置的函数直接计算,这时辰咱们可以借用reduce来处理 def mul(a, b): return a * bresult = reduce(mul, 1, 2, 3, 4)print(结果:, result) 输出 结果: 24 或者使用 lambda 匿名函数 result = reduce(lambda a,

3、b: a * b, 1, 2, 3, 4) 甚至可以直接使用operator模块下的乘法操作符函数 from operator import mulresult = reduce(mul, 1, 2, 3, 4)print(结果:, result) 最终你会发觉解法其实许多种,不过咱们应当记住python之禅里面那句话: There should be one- and preferably only one -obvious way to do it. 用最合适的方式去做一件事 2. split() split 接收单个参数,用于将字符串切割成列表,比如一段英文字符串根据空格切割就可以统计出

4、单词的个数, words = python is the best programming languagewords = words.split( )print(words) 输出 column1, column2, column3 3. enumerate() enumerate 函数用于迭代列表等可迭代对象,它的使用场景一般消失在你需要猎取列表的下标位置时,咱们明白直接用for循环去迭代列表时,是拿不到元素下标位置的,而 enumerate 就可以猎取,否则你还得自己去定义单个索引变量。 words = python, is, the, best, programming, langua

5、geindex = 0for w in words: print(index, w) index += 1 0 python 1 is 2 the 3 best 4 programming 5 language 使用 enumerate 函数,处理起来就更优雅了 for index, w in enumerate(words): print(index, w) 0 python 1 is 2 the 3 best 4 programming 5 language 4. map() map是单个与reduce函数对应的函数,Google的map/reduce框架的思想其实便是从这两个函数借鉴而来

6、的。map函数用于把单个列表通过函数处理,映射成单个新的列表。例如给列表的每个元素做平方,将列表元素转换成字符串,得到单个新的列表。 result = map(lambda x: str(x), 1, 2, 3, 4)print(list(result)result = map(lambda x: x * x, 1, 2, 3, 4)print(list(result) 输出: 1, 2, 3, 41, 4, 9, 16 此外,map 函数还可以接受多个列表参数,使得多个列表合并为单个列表成为大概,例如,将两个列表相同位置的元素相加得到单个新的列表 def merge(x, y): retur

7、n x + yresult = map(merge, 1, 2, 3, 3, 2, 1)print(list(result) 输出 4, 4, 4 5. getattr() getattr() 返回对象属性对应的值,接受两个参数,第单个是对象,其次个是属性名,这一个函数通常用户动态或者某个对象下面的某些属性的值,看例子: class Foo: def _init_(self): self.a = 10foo = Foo()a = getattr(foo, a)print(a) 输出 10 你大概会问,我直接 foo.a 不就可以猎取a属性的值了吗?正常状况是这么样没错,假如是你在不明白什么状况

8、下要猎取什么属性的值时,这时辰getattr就可以派上用场了。初学者大概还体验不到,当你尝试去写些框架级的代码时,你要想起来有这么样的函数可以使用就行。 6. slice slice 是单个切片函数,切片操作你大概使用过,通过切片来猎取列表的子集, 例如: s = 1,2,3,4 s1:3 # 猎取列表s中第1到第3之间的元素组成的子列表 “1:3” 其便是 便是 slice(1:3) 函数的缩写方式,前者就像是语法糖 s = 1, 2, 3, 4print(sslice(1, 3) 通常实际应用过程中,直接用语法糖的写法就可以,没必要用slice函数进行切片,可是你至少应当明白slice是怎

9、么用的。 7. sorted() sorted 函数应当日常代码中,算是单个高频函数了,用于将列表等可迭代对象进行排序,它不会转变原列表的挨次,而是返回单个新的列表。默认根据升序排列 nums = 4, 5, 6, 3, 1print(sorted(nums) 输出 1, 3, 4, 5, 6 假如想要降序排列,则需要指定其次个参数:reverse=True nums = 4, 5, 6, 3, 1print(sorted(nums, reverse=True) # 6, 5, 4, 3, 1 sorted 函数的强大之处远不止如此,由于你还可以自定义排序规章,比如参与比较是单个自定义的类St

10、udent, 我需要根据Student里面的年龄age进行排序,这时辰咱们需要自定义排序因子函数 def my_sort_key(s): return s.ageclass Student: def _init_(self, age): self.age = age def _str_(self): return fStudent(self.age)s1 = Student(12)s2 = Student(2)s3 = Student(30)new_list = (sorted(s1, s2, s3, key=my_sort_key)for i in new_list: print(i) 输出

11、: Student(2)Student(12)Student(30) 8. format format 函数曾经字符串格式化最常用的函数,使用也是独特简洁,但自从f字符串消失继而,format 的功能渐渐被取代,可是3.6之前依旧是可以常见到该函数的应用场景。 s = is first nameprint(s.format(liu) 假如需要占位符比较多搞不清次序的话,可以给每个占位符单个名字,这么样就不拍对不上位置了 s = first_name is first nameprint(s.format(first_name=liu) 9. join() join 也是比较常用的单个内置函数,

12、它可以将列表对象用指定的字符作为元素之间的连接,转换为字符串。 words = python, is, the, best, programming, languageprint( .join(words) # 用空格连接 python is the best programming language 10. type type 我觉得是python最难理解的单个内置函数了,新手大概以为type便是单个用来查看某个对象的类型是什么,例如: print(type(10) # class intprint(type() # class listprint(type(s)# class str 它的

13、另单个作用是可以用type来创建类,一般状况下,咱们都用关键字 class 来定义单个类,而type也可以用来创建类 Person = type(Person, (), live:True) Personclass _main_.Person 第单个参数 Person是类的名字, 其次个参数用来指定父类是谁, 第三个参数是这一个类的类属性有哪些。上面这段代码等价于: class Person:. live = True. Personclass _main_.Person 创建Person这类的type函数其实是单个叫“元类”的东西。而关于元类甚至可以话一整篇文章来讲解了,好在我在之前的文章中有介绍过,感爱好的可以查看一下之前写的一篇叫什么是 Python 元类这篇文章。元类在写一点框架时用的较多,比如你去按sqlalchemy的源码的时辰,你会发觉有大量使用元类的场景。 技术沟通 欢迎转载、保藏、有所收获点赞支持一下! 目前开通了技术沟通群,群友已超过2000人,添加时最好的备注方式为:来源+爱好方向,便利找到志同道合的伴侣 方式、发送如下图片至微信,长按识别,后台回复:加群; 方式、添加微信号:pythoner666,备注:来自CSDN 方式、微信搜寻公众号:Python研习与数据挖掘,后台回复:加群 8

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号