菜单

第3天 python基础的就学

2019年4月10日 - Java
1. 循环
    while 条件:
        代码块(循环体)
        break 彻底停止当前本层循环
        continue 停止当前本次循环,继续执行下一次循环
    else: # 当条件为假的时候会执行else
        代码块
2. 格式化输出
    %s 占位字符串
    %d 占位数字
    int(str) # 字符串转换成int 
    str(int) # int转换成字符串
3. 运算符(难点)
    基本运算:算数运算、⽐较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.
    (1)算数运算

python基础学习(10叁),python基础学习

 

re模块包蕴对 正则表明式。本章会对re模块首要特征和正则表达式进行介绍。

 

怎样是正则表明式

正则表明式是足以合营文本片段的方式。最简易的正则表明式正是司空眼惯字符串,能够包容其本人。换包话说,正则表达式’python’ 能够相配字符串’python’ 。你能够用那种相配行为寻找文本中的方式,并且用总括后有值并发特定形式,或都将文件举行分层。

 

** 通配符

正则表明式可以合作多于三个的字符串,你能够运用部分特殊字符创造那类情势。比如点号(.)能够相称任何字符。在大家用window 搜索时用问号(?)相配任意一人字符,功用是均等的。那么那类符号就叫 通配符。

 

**manbetx网页手机登录版, 对特殊字符实行转义

经过地点的办法,借使我们要同盟“python.org”,直接用用‘python.org’能够么?这么做能够,但那样也会协作“pythonzorg”,那可不是所梦想的结果。

好呢!大家要求对它实行转义,能够在它前面加上发斜线。因而,本例中得以选择“python\\.org”,那样就只会合作“python.org”了。

 

** 字符集

大家能够运用中括号([ ])括住字符串来创立字符集。能够接纳范围,比如‘[a-z]’能够匹配a到z的四意一个字符,还足以由此三个接三个的办法将限量联合起来使用,比如‘[a-zA-Z0-9]’能够包容任意大小写字母和数字。

反转字符集,能够在起来使用^字符,比如‘[^abc]’能够相配任何除了a、b、c之外的字符。

 

** 选择符

有时候只想相称字符串’python’ 和 ’perl’  ,能够应用选拔项的特殊字符:管道符号(|) 。由此, 所需格局能够写成’python|perl’ 。

 

** 子模式

不过,某些时候不需求对整人体模型式应用采取符—只是情势的一局地。那时能够利用圆括号起须求的有的,或称子格局。 前例能够写成 ‘p(ython | erl)’

 

** 可选项

在子格局前边加上问号,它就改为了可选项。它恐怕出现在相称字符串,但毫无必须的。

r’(heep://)?(www\.)?python\.org’

只可以相配下列字符:

http://www.python.org’

http://python.org’

‘www.python.org’

‘python.org’

 

** 重复子方式

(pattern)* : 允许格局重复0次或频仍

(pattern)+ : 允许方式再度1回或频仍

(pattern){m,n} : 允许形式重复m~ n 次

例如:

r’w * \.python\.org’  匹配 ‘www.python.org’ 、’.python.org’ 、’wwwwwww.python.org’

r’w + \.python\.org’  相配 ‘w.python.org’ ;但不能够相称 ’.python.org’ 

r’w {3,4}\.python\.org’  只可以同盟‘www.python.org’ 和‘wwww.python.org’ 

 

re模块的内容

 

re模块中有个别人命关天的函数:

manbetx网页手机登录版 1

  re.compile 将正则表明式转换为形式对象,能够兑现更有效用的相配。

  re.search 会在给定字符串中寻找第二个非常给正则表式的子字符串。找到函数再次来到MatchObject(值为True),不然重回None(值为False) 。因为再次来到值的天性,所以该函数能够用在规范语句中:

if re.serch(pat, string):

print ‘found it !’

 

  re.math 会在给定字符串的初步相称正则表明式。由此,re.math(‘p’ , ‘python’)重回真,re.math(‘p’ , ‘www.python’) 则赶回假。

  re.split 会依据方式的同盟项来分割字符串。

>>> import re
>>> some_text = 'alpha , beta ,,,gamma delta '
>>> re.split('[,]+',some_text)
['alpha ', ' beta ', 'gamma delta ']

 

  re. findall以列表格局重临给定形式的持有相称项。比如,要在字符串中找找全部单词,能够像上边这么做:

>>> import re
>>> pat = '[a-zA-Z]+'
>>> text = '"Hm...err -- are you sure?" he said, sounding insecure.'
>>> re.findall(pat,text)
['Hm', 'err', 'are', 'you', 'sure', 'he', 'said', 'sounding', 'insecure']

 

  re.sub的效益在于:使用给定的替换内容将合营方式的子符串(最左端并且重叠子字符串)替换掉。

>>> import re
>>> pat = '{name}'
>>> text = 'Dear {name}...'
>>> re.sub(pat, 'Mr. Gumby',text)
'Dear Mr. Gumby...'

 

  re.escape 函数,能够对字符串中具有希望被分解为正则运算符的字符实行转义的利用函数。

假设字符串不短且含有众多特殊字符,而你又不想输入一大堆反斜线,能够选取那个函数:

>>> re.escape('www.python.org')
'www\\.python\\.org'
>>> re.escape('but where is the ambiguity?')
'but\\ where\\ is\\ the\\ ambiguity\\?'

 

 

 

协作对象和组

 

简单来说来说,组正是放置在圆括号里内的子模块,组的序号取决于它左边的括号数。组0便是一切模块,所以在底下的形式中:

‘There  (was a (wee) (cooper)) who (lived in Fyfe)’

带有组有:

0  There  was a  wee cooper  who  lived in Fyfe

1  was a  wee  cooper

2  wee

3  cooper

4  lived in Fyfe

 

re 相配对象的重中之重格局

manbetx网页手机登录版 2

下边看实例:

manbetx网页手机登录版 3

>>> import re
>>> m = re.match(r'www\.(.*)\..{3}','www.python.org')
>>> m.group()
'www.python.org'
>>> m.group(0)
'www.python.org'
>>> m.group(1)
'python'
>>> m.start(1)
4
>>> m.end(1)
10
>>> m.span(1)
(4, 10)

manbetx网页手机登录版 4

  group方法重返方式中与给定组相配的字符串,如若没有组号,暗中认可为0 ;如上面:m.group()==m.group(0) ;假使给定3个组号,会回到单个字符串。

  start 方法重回给定组匹配项的上马索引,

  end方法重返给定组相配项的了断索引加1;

  span以元组(start,end)的花样重临给组的发端和终结地点的目录。

 


正则表明式应该是不易于领悟的一个知识点;python没意思的根底终于学完了。尽管学的不扎实,但大体有了个影像;前面包车型大巴将会十三分有趣,读取文件,编写图形窗口,连接数据库,web编制程序….

 

http://www.bkjia.com/Pythonjc/1224619.htmlwww.bkjia.comtruehttp://www.bkjia.com/Pythonjc/1224619.htmlTechArticlepython基础学习(十三),python基础学习 re
模块包括对正则表明式。本章会对 re 模块首要特色和正则表明式实行介绍。
什么是正则表明式…

manbetx网页手机登录版 5

          (二)相比运算

manbetx网页手机登录版 6

           (三)赋值运算

manbetx网页手机登录版 7

           (四)逻辑运算

manbetx网页手机登录版 8

    and 并且,左右两端同时为真,结果才能是真
    or  或者,左右两端至少有一个是真,结果就是真
    not 否,非真即假,非假即真

    ***运算顺序: () => not => and => or
    x or y
    如果x为0则返回y,否则返回x
    [注意]:and和or相反(x and y)

manbetx网页手机登录版 9

 

4. 编码
    最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII
    GBK 把中国的文字进行编码. 对ASCII扩充。 16bit  => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)
    UNICODE 32bit 兼容各个国家的编码。万国码。 浪费空间  32bit => 4byte
    UTF-8 可变长度的UNICODE。本质是UNICODE。
        英文在UTF-8里面占用1个字节  8bit
        欧洲文字。占用2个字节  16bit
        中文. 占用3个字节   24bit
    UTF-16 ...

    8bit => 1byte
    1024byte => 1kb
    1024kb => 1mb
    1024mb => 1gb
    1024gb => 1tb
    1024tb = > 1

5. in
    判断xxx是否出现在xxxx中

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图