zoukankan      html  css  js  c++  java
  • python基础

    匿名函数

    匿名是因为不需要以标准的方式来声明,如使用def语句
    lambda [arg1,[ar2,...argN]:expression
    
    #定义匿名函数
    In [1]: a = lambda x,y: x+y
    
    In [2]: ?a
    Signature: a(x, y)
    Docstring: <no docstring>
    File:      ~/<ipython-input-1-07b4826b0230>
    Type:      function
    
    #直接返回结果
    In [3]: a(2,4)
    Out[3]: 6
    
    

    正则表达式

    search()方法,搜索123,只要"abc123milk"中存在,就返回结果
    match()方法,默认是从开头查找,

    In [4]: import re
    
    In [5]: re.search("123","abc123milk")
    Out[5]: <_sre.SRE_Match object; span=(3, 6), match='123'>
    
    In [6]: re.search("123","abc1c3milk")
    
    In [7]: re.search("1.3","abc1c3milk")
    Out[7]: <_sre.SRE_Match object; span=(3, 6), match='1c3'>
    
    In [8]: re.match("1.3","abc1c3milk")
    
    In [9]: re.match("[0-9]{3}1.3","abc1c3milk")
    
    In [10]: re.match("[a-w]{3}1.3","abc1c3milk")
    Out[10]: <_sre.SRE_Match object; span=(0, 6), match='abc1c3'>
    

    match提取内容

    提取内容:使用小括号将内容括起来, [a-w]{3}(1.3)取出内容
    groups()取得结果,得到无组

    In [11]: re.match("[a-w]{3}(1.3)","abc1c3milk").groups()
    Out[11]: ('1c3',)
    

    group(0)取出整个正则匹配到的结果
    group(1)取出想要取出第一个小括号中的结果
    group(2)取出想要取出第二个小括号中的结果

    In [12]: re.match("[a-w]{3}(1.3)","abc1c3milk").group(0)
    Out[12]: 'abc1c3'
    
    In [13]: re.match("[a-w]{3}(1.3)","abc1c3milk").group(1)
    Out[13]: '1c3'
    
    In [17]: re.match("[a-w]{3}(1.3)([a-z]{4})","abc1c3milk").group(2)
    Out[17]: 'milk'
    
    

    模块的导入导出

    from module import name [,name2,nam3,...nameN]
    import as
    

    查找模块顺序

    In [18]: import sys
    
    In [19]: sys.path
    Out[19]: 
    ['',
     '/usr/lib64/python36.zip',
     '/usr/lib64/python3.6',
     '/usr/lib64/python3.6/lib-dynload',
     '/usr/local/lib64/python3.6/site-packages',
     '/usr/local/lib/python3.6/site-packages',
     '/usr/lib64/python3.6/site-packages',
     '/usr/lib/python3.6/site-packages',
     '/usr/local/lib/python3.6/site-packages/IPython/extensions',
     '/root/.ipython']
    

    '',代表先查找当前目录,然后向下查找

    导入方法及别名

    In [20]: from re import search
    
    In [21]: from re import search as sss
    
    In [22]: sss("abc","123abcmilk")
    Out[22]: <_sre.SRE_Match object; span=(3, 6), match='abc'>
    

    装饰器

    装饰器本质上是一个Python函数
    装饰器的返回值也是一个函数对象
    它可以让其他函数在不需要做任何代码变动的前提下增加额外功能

    简单装饰器

    def debug(func):
        def wrapper():
            print("[DEBUG]: enter {}()".format(func.__name__))
            return func()
        return wrapper
    
    def say_hello():
        print("hello!")
    
    say_hello = debug(say_hello)  # 添加功能并保持原函数名不变
    

    装饰器语法糖

    def debug(func):
        def wrapper():
            print("[DEBUG]: enter {}()".format(func.__name__))
            return func()
        return wrapper
    
    @debug
    def say_hello():
        print("hello!")
    

    初级装饰器传参

    def debug(func):
        def wrapper(*args, **kwargs):  # 指定宇宙无敌参数
            print("[DEBUG]: enter {}()".format(func.__name__))
            print('Prepare and say...',)
            return func(*args, **kwargs)
        return wrapper  # 返回
    
    @debug
    def say(something):
        print("hello {}!".format(something))
    

    面向对象编程

    类与实例
    类创建和类属性
    实例化和实例属性
    经典类和新式类区别
    类的继承

  • 相关阅读:
    Jquery 跨域问题
    Linux下scp的用法
    JZ2440_V3_内核驱动程序_点亮一个LED灯
    MATLAB GUIDE 上位机串口通信开发 绘制图形
    关于在DSP工程内数组、strnpy函数、atoi函数的使用心得
    Visio中手绘图形的填充
    Ubuntu16.04NFS配置与ARM开发板互传文件_挂载和卸载
    树莓派压力测试工具STui + Stress的使用
    如何将代码优雅的插入到word中
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/anyux/p/11921594.html
Copyright © 2011-2022 走看看