第 31 页 - 学习
简述Python里面search和match的区别

match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果,否则返回None;search()函数会在整个字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的...

正则表达式贪婪与非贪婪模式的区别?

贪婪模式:定义:正则表达式去匹配时,会尽量多的匹配符合条件的内容标识符:+,?,*,{n},{n,},{n,m}匹配时,如果遇到上述标识符,代表是贪婪匹配,会尽可能多的去匹配内容非贪婪模式:定义:正则表达式去匹配时,会尽量少的匹配符合...

用Python匹配HTML tag的时候,<.> 和 <.?> 有什么区别

第一个代表贪心匹配,第二个代表非贪心;?在一般正则表达式里的语法是指的"零次或一次匹配左边的字符或表达式"相当于{0,1}而当?后缀于*,+,?,{n},{n,},{n,m}之后,则代表非贪心匹配模式,也就是说,尽可能少的匹配左边的字...

Python字符串查找和替换?

a、str.find():正序字符串查找函数函数原型:str.find(substr[,pos_start[,pos_end]])返回str中第一次出现的substr的第一个字母的标号,如果str中没有substr则返回-1...

谈谈你对面向对象的理解?

面向对象是相当于面向过程而言的,面向过程语言是一种基于功能分析的,以算法为中心的程序设计方法,而面向对象是一种基于结构分析的,以数据为中心的程序设计思想。在面向对象语言中有一个很重要的东西,叫做类。面向对象有三大特性:封装、继承、多态。

面向对象中怎么实现只读属性?

将对象私有化,通过共有方法提供一个读取数据的接口classperson:def__init__(self,x):self.__age=10defage(self):r...

Python的魔法方法

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python所调用,你可以定义自己想要的行为,而这一切都是自动发生的,它们经常是两个下划线包围来命名的(比如__...

Python中的可变对象和不可变对象?

不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说...

Python中yield的用法?

yield就是保存当前程序执行状态。你用for循环的时候,每次取一个元素的时候就会计算一次。用yield的函数叫generator,和iterator一样,它的好处是不用一次计算所有元素,而是用一次算一次,可以节省很多空间,gener...

X是什么类型?

X=(iforiinrange(10))X是generator类型

生成器,迭代器的区别?

迭代器是遵循迭代协议的对象。用户可以使用iter()以从任何序列得到迭代器(如list,tuple,dictionary,set等)。另一个方法则是创建一个另一种形式的迭代器——generator。要获取下一个元素...

解释以下什么是闭包?

在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包。