学习完c/c++这些编程语言后,想快速掌握python的基础语法,方便使用python应用
1.口令保管箱
这段程序,将取代剪辑版上的文本,新文本都将以星号开始。
#!python
#bulletPointerAdder.py - Adds Wikipedia bullet points to the start
# of each line of text on the clipboard.
import pyperclip
text = pyperclip.paste()
#TODO:Separate lines and add stars.
lines=text.split('\n')
for i in range (len(lines)): #loop through all indexes in the "lines" list
lines[i]= '* ' + lines[i]
#add star to each string in "lines" list
text = '\n'.join(lines)
pyperclip.copy(text)
2正则表达式的基本应用---电话号码的提取程序
A,在python里使用正则表达式有以下几步:
a,用 import re 模块导入正则表达式模块
b,用re.compare()函数创建一个Regex对象(记得使用原始字符串)
c,向Regex对象的search()方法传入想匹配的字符串,返回一个Match对象
d,调用Match对象的group()方法,返回实际匹配的文本
phoneNumRegex = re.compare(r'\d\d\d-\d\d\d-\d\d\d\d')
mo = phoneNumRegex.search('My number is 123-456-7890.')
print('Phone number is: ' +mo.group())
Phone number is: 123-456-7890
注:若compare(r'(\d\d\d\)-(\d\d\d-\d\d\d\d)‘),可以向group传入整形变量,group(1) 返回第一个分组对象,123
B,用管道匹配多个分组(字符‘|’)
管道用来匹配许多表达式中的第一个,group()返回第一次出现的匹配
>>>h=re.compare(r'Mycat|Mydog')
>>>h1=h.search('Mycat and Mydog')
>>>h1.group()
'Mycat'
C,问号实现零次或者一次匹配;*号实现任意次数匹配;+实现至少一次匹配;花括号{}匹配特定次数匹配
My(cute)?cat 正则表达式中(cute)?中,模式cute是可选分组,可有可无都能匹配
贪心匹配,非贪心匹配
在字符串hahahahaha中,因为(ha){3,5}可以匹配3,4或者5个实例,python正则表达式默认“贪心”,尽可能匹配长字符串
r'(ha){3,5} 调用h1.group()返回 ‘hahahahaha’
若想匹配非贪心匹配 ,在结束的花括号后面加?
D,findall() 返回一组字符串,包含被查找字符串中所有匹配
E,字符分类
\d 数字
\D 除数字外任意字符
\w 任意字母,数字,下划线字符
\W 除字母,数字,下划线字符的任意字符
\s 空格,制表符,换行符
\S 除空格,制表符,换行符以外任意字符
[0-5] 匹配数字0到5
[sadf] 匹配字母s a d f
^spam 字符串必须以spam开始
spam$ 字符串必须以spam结束
. 匹配一次除换行符以外字符