python学习第19天

一.正则函数

1.search 通过正则匹配出第一个对象返回,通过group取出对象中的值

2.match 验证用户输入的内容(了解)

search只要在正则表达式前面加上^就和match一模一样

3.split 切割

strvar = "alex|xboy&wusir-egon"
res = re.split("[|&-]",strvar)

4.sub 替换(正则表达式,替换的字符串,原字符串.[可选的替换次数])

strvar = "alex|xboy&wusir-egon"
res = re.sub("[|&-]","%",strvar,1)
print(res) # alex%xboy&wusir-egon

5.subn 替换与sub的用法一样,区别在于返回值不同,subn返回的是元组

res = re.subn("[|&-]","%",strvar)
print(res) # ('alex%xboy%wusir%egon', 3)

6.finditer 匹配字符串中相应内容,返回迭代器

from collections import Iterator
strvar = "sdfasf234234你好23423"
it = re.finditer(r"\d+",strvar)
print(isinstance(it,Iterator))
for i in it:
	print(i.group())
#234234
#23423

7.complie 指定一个统一的匹配规则

正常情况下,正则表达式执行一次,编译一次

如果需要反复使用,会浪费系统资源,比如内存,cpu

compile可以使正则编译一次,终身受益,无需反复编译

strvar = "sdfasf234234你好23423"
pattern = re.compile("\d+")
print(pattern) # re.compile('\\d+')

obj = pattern.search(strvar)
print(obj.group()) # 234234
lst = pattern.findall(strvar)
print(lst) # ['234234', '23423']

修饰符

1 . re.I 使匹配对大小写不敏感

strvar = "<h1>123</H1>"
pattern = re.compile("<h1>(.*?)</h1>",flags=re.I)
obj = pattern.search(strvar)
print(obj)
print(obj.group()) # <h1>123</H1>

2 . re.M 使每一行都能够单独匹配(多行匹配) 影响 ^ 和 $

strvar = """<h1>123</H1>
<p>123</p>
<div>123</div>
"""
pattern = re.compile("^<.*?>(?:.*?)<.*?>$",flags=re.M)
print(pattern.findall(strvar)) # ['<h1>123</H1>', '<p>123</p>', '<div>123</div>']

3 . re.S 使 . 匹配包括换行符在内的所有字符

strvar = """give
1112233mefive
"""
pattern = re.compile("(.*?)mefive",flags=re.S)
obj = pattern.search(strvar)
print(obj.group()) # 1112233mefive
"""
   give
   1112233mefive
"""

二. oop面向对象开发

1.类的定义

class Car:
   pass
   
class Car(): # (推荐)
   pass

class Car(object):
   pass

2.类的实例化

class Car():
   pass
obj = Car()

3.类的基本结构

1)成员属性

2)成员方法

class Car():
   # 成员属性
   color = "屎黄色的"
   # 成员方法
   def func():
      print("小车会跑")

**注意:

类中的代码可以直接执行,但是严禁使用,不要直接把代码裸露在类中,应该把相应的逻辑放在成员方法中处理

# 反例
class Car():
   if 5 == 5:
      print(4567)

# 正确的方法
class Car():
   def func():
      if 5 == 5:
         print(4567)

4.类的命名

推荐使用大驼峰命名法

mycar => MyCar
dahuangfeng => DaHuangFeng
posted @ 2020-05-25 15:58  打酱油的阿超  阅读(121)  评论(0编辑  收藏  举报