Python刚入门第一个先学什么?让你的第一个程序横空出世!

Python环境搭建完成了,现在能够踏上Python学习的旅程了,对新手来说,还是需求踏踏实实的从头开始,按照学习程序的惯例,第一个程序必是“Hello,World!”,但是今天我的第一个Python程序却为“Hello,Python Language!”

在开始编写代码之前,作为新手强烈建议自己一个字符一个字符敲到电脑上,不要使用“仿制”、“粘贴”。因为只有自己在敲代码的过程中才能发现一些经常容易被所忽略的细节,比如:大小写出错、拼写错误、标点符号中英文混用、混用空格与Tab 键。所以自己在敲代码的过程中需求仔细对照,仔细检查养成杰出的编程习惯与风格,快速了解与把握编程技巧。

请点击此处输入图片描述

Python能够正式进行编写程序,一种是Python交互形式:在windows开始菜单运转框中输入“cmd”,翻开命令行窗口,在 C:UsersAdministrator> 提示符下输入:“Python”。Python交互形式的代码是输入一行,执行一行,而且无法保存代码,首要是为了调试Python代码用的,也便于初学者学习,它不是正式运转Python代码的环境!进入命令行形式,如下图:

请点击此处输入图片描述

最后,使用exit()退出 Python,我们的第一个Python程序就算完成了!

1、转义字符

正则表达式是建立在字符串的根本上,当必要在字符中使用不凡字符时,python用反斜杠转义字符。如下表:

请点击此处输入图片描述

原始字符串

偶尔我们并不想让转义字符生效,我们只想表示字符串本来的意思,这就要用r和R来界说原始字符串。例如以下代码的实际输出为“ ”。

请点击此处输入图片描述

2、体味正则表达式

正则就是一种字符串的轨则,正则表达式就是这种轨则的一种描述。正则表达式要先编译成正则工具,才能使用这个正则工具对字符串停止轨则的相干把持。比如看输入字符串是否适宜正则所代表的轨则。是否包含正则所代表的轨则的子串。

下图展现了使用正则表达式停止婚配的流程:

请点击此处输入图片描述

那么该若何描述正则表达式呢?正则都包含哪些轨则呢?正则都可以对字符串停止哪些把持呢?

3、正则表达式的语法轨则

我们晓得正则工具是用来措置字符串的,正则工具经由过程正则表达式来描述。而正则表达式的描述仍是经由过程字符串。所以这里必定要分清楚。一个用来描述轨则的字符串叫做正则表达式,被编译成正则工具,再用正则工具来婚配待措置的字符串。

下图列出了Python支撑的正则表达式元字符和语法:

请点击此处输入图片描述

4、正则表达式注意事项

(1)数目词的贪婪形式与非贪婪形式

正则表达式通常用于在文本中查找婚配的字符串。Python里数目词默认是贪婪的(在少数说话里也可能是默认非贪婪),老是考试考试婚配尽可能多的字符;非贪婪的则相反,老是考试考试婚配尽可能少的字符。例如:正则表达式”ab*”若是用于查找”abbbc”,将找到”abbb”。而若是使用非贪婪的数目词”ab*?”,将找到”a”。

注:我们一样平常使用非贪婪形式来提取。

(2)反斜杠问题

与大多数编程说话不异,正则表达式里使用””作为转义字符,这就可能形成反斜杠困扰。假设你必要婚配文本中的字符””,那么使用编程说话表示的正则表达式里将必要4个反斜杠”\\”:前两个和后两个分袂用于在编程说话里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。

Python里的原生字符串很好地处理了这个问题,这个例子中的正则表达式可以使用r”\”表示。同样,婚配一个数字的”\d”可以写成r”d”。有了原生字符串,妈妈也不消担忧是不是漏写了反斜杠,写出来的表达式也更直不雅观不雅观勒。

请点击此处输入图片描述

5、Python Re模块

Python 自带了re模块,它供给了对正则表达式的支撑。首要用到的编制列举如下

请点击此处输入图片描述

参数flag是婚配形式

经由过程compile编制将正则表达式编译生成一个pattern正则工具,然后我们把持这个工具来停止进一步的婚配。我们可能注意到compile函数包含另一个参数 flags。flags参数是用来编译正则表达式字符串的。

可选值有:

re.I(全拼:IGNORECASE): 忽略巨细写(括号内是完好写法,下同)

re.M(全拼:MULTILINE): 多行形式,改变'^'和'$'的举动(拜见上图)

re.S(全拼:DOTALL): 点肆意婚配形式,使'.'可婚配网罗 在内所有字符

re.L(全拼:LOCALE): 使预定字符类 w W  B s S 取决于当前区域设定

re.U(全拼:UNICODE): 使预定字符类 w W  B s S d D 取决于unicode界说的字符属性

re.X(全拼:VERBOSE): 详细形式。这个形式下正则表达式可所以多行,忽略空白字符,并可以参加解释。

6、正则的应用函数

以下七个编制中的flags同样是代表婚配形式的意思,若是在pattern生成时已经指了然flags,那么不才面的编制中就不必要传入这个参数了。

6.1、re.match(pattern, string[, flags])

这个编制将会从string(我们要婚配的字符串)的开首起头,考试考试婚配pattern,不息向后婚配,若是碰着无法婚配的字符,或婚配未竣事已经到达string的末尾,都市前往None。两个成效均表示婚配失败,不然婚配pattern成功,同时婚配停止,不再对string向后婚配。

Match工具的的属性和编制:

re.match函数前往的为Match工具。Match工具是一次婚配的成效,包含了良多关于此次婚配的信息,可以使用Match供给的可读属性或编制来获取这些信息。

属性:string、re、pos、endpos、lastindex、lastgroup。

编制:group()、groups()、groupdict()、start()、end([group])、span([group])、expand(template):

详解可以参考我的CSDN博客,下面我们以一个demo体验一下。

请点击此处输入图片描述

输出成效为

请点击此处输入图片描述

6.2、re.search(pattern, string[, flags])

search编制与match编制极其近似,区别在于match()函数只检测re是不是在string的起头位置婚配,search()会扫描整个string查找婚配,match()只需在0位置婚配成功的话才有前往,若是不是起头位置婚配成功的话,match()就前往None。同样,search编制的前往工具同样match()前往工具的编制和属性。

6.3、re.split(pattern, string[, maxsplit])

按照可以婚配的子串将string朋分后前往列表。maxsplit用于指定最大朋分次数,不指定将全数门割。

6.4、re.findall(pattern, string[, flags])

搜索string,以列表情势前往全数能婚配的子串。

6.5、re.finditer(pattern, string[, flags])

搜索string,前往一个挨次访谒每一个婚配成效(Match工具)的迭代器。

6.6、re.sub(pattern, repl, string[, count])

使用repl替代string中每一个婚配的子串后前往替代后的字符串。当repl是一个字符串时,可以使用id或g、g引用分组,但不能使用编号0。当repl是一个编制时,这个编制理当只接收一个参数(Match工具),并前往一个字符串用于替代(前往的字符串中不能再引用分组)。count用于指定最多替代次数,不指按时全数替代。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180202A0PPCF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券