㈠ 如何理解python的语句,三种程序基本结构,模板、函数的概念
Python是一种高级编程语言,它支持多种编程结构,可以实现各种类型的程序。下面是对Python的语句、三种程序基本结构、模板和函数的解释:
语句(Statement):Python中的语句是一条执行指令,它告诉解释器要执行什么操作。Python中常见的语句包括赋值语句、条件语句、循环语句、函数调用等等。Python中的语句通常以换行符或分号结束。
三种程序基本结构:Python中的程序通常由三种基本结构组成,包括顺序结构、选择结构和循环结构。顺序结构是按照代码的编写顺序执行,选择结构根据条件选择不同的执行路径,循环结构则是在满足条件的情况下重复执行某一段代码。
模板(Template):Python中的模念空板是一种预定义的代码框架,可以用于生成特定类型的程序。模板中通常包含一些变量,这些变量可以被程序的使用者替换为实际的数值或代码片段,从而生成不同的程序。
函数(Function):Python中的函数是一段可重复使用的代码,它接受一些输入参数,并返回一个计算结果。函数可以减少重复代码的编写,提高代码的复用性和可维护性。毁基在Python中,可以使用def关键字来定义函数,函数名和参数列表用圆括号括起来,函数体以冒号开始,使用缩进来表示函数体的代码块。
总的来说,Python是一种高级编程语言,它支持多种编程结构,包括语句、三种程序基本结构、模板和函数。这些纤高谨编程结构可以让程序员按照自己的需求和目的来编写不同类型的程序,从而实现各种不同的应用场景。
㈡ Python中的下横线是什么意思
Python中的下横线是什么意思
下划线一般有两种情况:
1、两边都有两个下划线的情况:这一般是指内建预定义属性,这种内建预定义属性。
2、中间一根下划线:这个命名中两个单词的分割线,这个以前OO编程中单词首字母大写差不多一个作用,只不过一般python的模块函数编程会用下划线分割这种方式。
更多技术请关注Python视频教程。
㈢ Python 标准库模块 - re
正则表达式引擎对正则表达式文本进行编译生成正则表达式对象,再由正则表达式对象对目标文本进行匹配,后返回匹配结果。
正则表达式中一共包含 2 中字符: 普通字符 、 元字符
匹配单个字符的元字符及其含义:
匹配重复性的元字符及其含义:
匹配位置的元字符及其含义:
分组匹配的元字符及其含义:
表示或运算的元字符:
转义元字符:
在 Python 中使用正则表达式,我们需要借助 re 模块提供的强大 API,下面我们就来学习几个 re 模块常用的接口吧~
参数说明: findall("正则表达式", "要匹配的字符串", flags=标志1|标志2|...)
返回值:以列表形式返回匹配到的字符串。
下面,我们用 findall 返回 Python 之禅中首尾用到的反义词:
运行结果:
当正则表达式中含有一个以上分组时, findall 返回的列表由元组构成,元组中包含每个分组匹配到的内容。如果只有一个分组,则返回由该分组匹配到的内容组所构成的列表:
match 函数返回的结果是一个 SRE_Match 对象:
SRE_Match 具有很多的属性,比如 .string 属性可以方便我们我获取在匹配时输入的字符串:
属性 .re 可以获取匹配时使用的编译后的正则表达式模式:
由于默认使用了 re.UNICODE ,所以我们这里的 w 可以匹配中文字符。
属性 .regs 则以列表的形式返回正则表达式匹配到的内容以及各个分组陪陪到的内容,不过请注意,返回的都是索引的形式:
可以使用序列切片来看一下我们的正则表达式及其中的两个分组所匹配到的内容:
SRE_Match 对象也提供了非常多好用的方法,比如 groups 可以获取各个分组匹配到的内容:
group 则可以灵活地获取正则表达式或对应分组匹配到的内容:
如果使用的正则表达式定义了分组的名称, group 还可以通过名称获取相应分组匹配的内容:
在定义了分组的名称之后,还可以方便地使用 groupdict 以字典的形式返回所有分组匹配的结果:
最后需要注意的是, match 从字符串的开头开始匹配,如果开头不符合要求,则直接返回 None 。
与 match 匹配开头不同, search 匹配第一个符合规则的字符串,未成功则返回 None 。参数: re.search(pattern, string, flags=0) ;返回值同 match 。
在介绍 match 的使用时,最后一个例子,由于我们在字符串前面添加了 'PYTHON' 导致 match 使用原来的正则表达式无法匹配,返回 None 。此时,使用 search 就可以迎刃而解啦:
运行结果:
小结:
参数: re.split(pattern, string, maxsplit=0, flags=0) , split 功能非常强大,以正则表达式匹配到的标志来分隔字符串,比如下面这样一个混乱的字符串,我们要提取其中所有的数字:
下面,我们就来详细介绍一下 split 的用法。
首先,是以单字符切割:
以分号切割时,共产生了 4 个子字符串,放在列表中返回。
下面,还是以单字符切割,但可以使用正则表达式中的 [] 来指定多种字符:
由于字符串 line 中有连续的 2 个分号,逗号或者空格,因此可以使用 [;s,]+ 来切割:
最后,上面的字符串在切割时,分隔符都没有被保留下来,使用括号捕获分组,即可保留分隔符:
re.sub 提供比字符串的 replace 方法更加强大的功能:对于输入的字符串 string ,利用正则表达式 pattern 强大的字符串处理功能,实现复杂的字符串替换处理为 repl ,返回被替换后的字符串。
下面的例子中,我们将句子中多余的空格和数字去掉:
如果想要知道替换过程中,共发生了多少次替换,可以使用 subn :
小结:
上述的案例中,我们每次都需要传入正则表达式,相应的函数每次在调用时,都需要编译一次正则表达式。如果上述过程需要多次重复,那么每次都去耗费时间编译正则表达式是很不划算的。
re 模块为我们提供了 compile 函数,用来编译正则表达式模式,返回编译好模式。因此,可以把那些常用的正则表达式编译成正则表达式对象,以提高效率。
格式: re.compile(pattern, flags=0) ,其中 pattern 为编译时用的表达式字符串, flags 为编译标志位,用于修改正则表达式的匹配方式,如:是否区分大小写,多行匹配等。常用的 flags 有:
注:使用按位或 | 连接多个 flags 。
我们上述介绍的 re 模块的匹配、分割、替换函数, compile 函数的返回值类提供了相应的方法,使用方式类似,只是不需要传入正则表达式字符串而已。
由于用法几乎一致,这里就不一一举例啦~
贪婪模式 : * + ? {m,n} ,正则表达式的重复默认总是尽可能多得向后匹配内容。
非贪婪模式 : *? +? ?? {m,n}? ,尽可能少的匹配内容。
㈣ Python中所有变量和常量都是有所属类型的吗
在 Python 中,数据类型是动态的,这意味着变量的数据类型可以在运行时改变。因此,在 Python 中,不是所有变量和常量都有所属类型。
Python中的变量不需要事先声明变量类型,可以直接使用等号进行赋值。
例如:a = 42b = "Hello World"
变量 a 是一个整数类型的变量,变量 b 是一个字符串类型的变量。
常量的概念与变量不同,常量指被程序预定义的值,在 Python 中常常使用常量来代替某些常用的固定值或者比较难计算的值。Python没饥袭有直接定义常量的关键字,可以通过大写的方式来烂伍兄表示常量。
例如:PI = 3.14
在 Python 中,这个 PI 变量是一个常量,一橘森般情况下值不会发生改变。但事实上,Python并没有对这个变量做出保护,还是可以通过程序去改变它的值。
总之,在 Python 中,变量和常量是没有被严格区分的,它们都是可以被赋予不同类型的值的。但是一些比较常用的值可以通过定义为常量来表明其意义和作用。