Python小知识 | 这些技能你不会?(三)

阅读提醒:代码图片可以点击放大查看,注意眼睛。

一、字典和集合

(1)字典

Python里字典(dict)是一种比较常用的数据结构,基本格式{key : values},keyvalues可以为任意类型,比如int,str等。

(2)集合

Python里集合(set),可以使用大括号 { } 或者 set() 函数创建,可以称为特殊列表,不能包含重复元素,另外需要注意:创建一个空集合必须用 set() 而不是 { },因为只用 { } 是用来创建,系统会默认为空字典。

(3)小技能,模糊查找

startswith 函数 startswith函数用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。 参数介绍 startswith(str, beg,end)

str -- 检测的字符串。
beg -- 可选参数用于设置字符串检测的起始位置。
end -- 可选参数用于设置字符串检测的结束位置。

二、类和对象

(1)基本介绍 书上是这样说的“信不信由你,从开始阅读本书起,你就一直在使用Python对象”,我觉得,完全没毛病,你有对象吗?

差点忘了,我这个是小技能,就不太细的去讲这些理论性的东西了,下面图片简单介绍一下类与对象,觉得不错点个赞哦~

简单介绍一下

(2)创建类,创建对象,调用类方法

创建类:class关键字,根据缩进确定类范围

创建对象: 对象 = 类名(变量) 如:t0 = Myclass()

调用类方法:对象名.类方法名(参数) 如:t0.my_function()

(3)最重要的init__()函数

Python 里由“__”开始的和结尾的为保留字。 方法__init__是类最重要的方法之一,根据名字可以看出来,表示初始化,创建类对象的同时会自动调用这个方法,传参给类变量,通过__init__函数是个不错的选择或者说唯一选择。

三、生成器

在Python中,一边循环一边计算的机制,称为生成器(Generator)。 也可以这样理解,生成器就是一个可以自动迭代的对象,类似于for循环,又比for循环灵活。

根据上面,我们大致了解到生成器就是一个可迭代的对象,用yield关键字可以实现,上面已经说了函数执行到yield语句,就会停止本次运行,返回yield后的参数或语句,等下次调用该函数时,会从上次暂停的地方开始继续运行迭代,你肯定会想,那生成器到底有什么用呢? 我们再来看一个实例:

生成整数范围内的奇数,很多人会觉得,我直接也可以生成啊,为什么要用yield改成生成器呢?你有没有想过,整数内的奇数,虽然有一个范围,但是,也还是很多的哈,你用什么存储呢?生成器的好处就是,你需要多少个,或者说你需要哪一个,需要第几个,我就给你找到这个数,只要到了这个数,我就停下来休息,等你下次想找别的了,我再接着继续找,一样的找到就休息,所以这样我们就不用考虑,这么多数放哪个地方了。 再来一个高级实例收尾:

思路比较简单,生成随机数,首先要有个随机数种子(初始值),然后对初始值进行一些随机操作,这里采用了扩大(与一个质数相乘),回原(与另一个质数取余),这样反复做了两次,最后与max_rand 取余,得出最终随机数,这样一顿骚操作保证了数据的随机性,中间操作要设计到恰到好处,比较难,像密码学老师说的“你加密,又加密,再加密,又再加密···很可能最后出来的就是明文了”。

最后介绍一下__next__()函数,第一个实例就说了,生成器可以用for循环迭代,另外还有一个内置函数__next__也是可以的,从名字可以看出就是调出下一个,示例如下:

生成器给我最大的感受就是,我在使用的过程中,不用过多的考虑,这些数据可能会溢出,或者怎么样,让我更多的想我实现的功能怎么设计会漂亮一点,多看看,敲一下上面的实例代码,就理解了。

本文分享自微信公众号 - 小詹学Python(xiaoxiaozhantongxue)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏自学测试之道

接口自动化之主流程请求封装

如上,这个只是简单的例子,后续还可以添加case关联、header、method等信息

17470
来自专栏浊酒清味

Python快速入门(六)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

13020
来自专栏浊酒清味

一文搞懂Python解释器,终端,编辑器区别和联系

对于刚刚接触或者对Python有一些了解的初学者,很难区分Python解释器,编辑器以及终端这些概念。以致于在学习教程的时候遇到一些困难以及犯一些错误。

40520
来自专栏浊酒清味

Python快速入门(三)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

8820
来自专栏浊酒清味

我叫你一声,你敢答应吗?

西游记著名桥段“我叫你一声你敢答应吗?”想必大家都有非常深刻的印象,甚至还会浮出这个画面:

9620
来自专栏浊酒清味

Python快速入门(五)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

5920
来自专栏浊酒清味

Python快速入门(一)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

13420
来自专栏浊酒清味

Python快速入门(二)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

9220
来自专栏浊酒清味

Python快速入门(四)

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

6920
来自专栏浊酒清味

Python进阶之NumPy快速入门(一)

NumPy是Python的一个扩展库,负责数组和矩阵运行。相较于传统Python,NumPy运行效率高,速度快,是利用Python处理数据必不可少的工具。

9530

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励