zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    Visual Studio 2010的活动,有兴趣的朋友可以来参加
    .NET 业务框架开发实战之九 Mapping属性原理和验证规则的实现策略
    Javascript 返回上一页
    Entity Framework 4.0新增对TSQL的支持
    .Net 4.0中支持的更加完善了协变和逆变
    c#4.0——泛型委托的协变、逆变
    JQuery 常用方法基础教程
    AspNetPager分页示例
    微软一站式示例代码浏览器
    UI与实体的映射
  • 原文地址:https://www.cnblogs.com/yunchao-520/p/12957366.html
Copyright © 2011-2022 走看看