精华内容
下载资源
问答
  • 紧跟with后面语句被求值后,返回对象__enter__()方法被调用,这个方法返回值将被赋值给as后面变量。当with后面代码块全部被执行完之后,将调用前面返回对象__exit__()方法。 复制代码 代码如下: file = ...
  • as用法

    2019-10-05 09:01:49
    Y'know, as someone who's recently been- dumped?---《老友记》第一季 第二集 有任何建言吗?就一个最近刚被甩人而言。 释义: conj. 因为;随着;虽然;依照;当…时 prep. 如同;当作;以…身份 adv. ...

    So, got any advice? Y'know, as someone who's recently been- dumped?---《老友记》第一季 第二集

    有任何建言吗?就一个最近刚被甩的人而言 。

    释义:

    • conj. 因为;随着;虽然;依照;当…时
    • prep. 如同;当作;以…的身份
    • adv. 同样地;和…一样的

    转载于:https://www.cnblogs.com/CodingPerfectWorld/archive/2010/07/16/1778892.html

    展开全文
  • with as的用法

    2017-10-31 21:32:00
    –针对一个别名with tmp as (select * from tb_name) –针对多个别名with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), … --相当于建了个e临时表with ...

    –针对一个别名
    with tmp as (select * from tb_name)

    –针对多个别名
    with
    tmp as (select * from tb_name),
    tmp2 as (select * from tb_name2),
    tmp3 as (select * from tb_name3),


    --相当于建了个e临时表
    with e as (select * from scott.emp e where e.empno=7499)
    select * from e;

    --相当于建了e、d临时表
    with
    e as (select * from scott.emp),
    d as (select * from scott.dept)
    select * from e, d where e.deptno = d.deptno;
    其实就是把一大堆重复用到的sql语句放在with as里面,取一个别名,后面的查询就可以用它,这样对于大批量的sql语句起到一个优化的作用,而且清楚明了。

    转载于:https://www.cnblogs.com/assasion/p/7763847.html

    展开全文
  • sql语句中with as 的用法

    万次阅读 多人点赞 2019-03-06 20:23:21
    with tmp as (select * from tb_name) –针对多个别名 with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), … –相当于建了个e临时表 with e as (select *...

    –针对一个别名
    with tmp as (select * from tb_name)

    –针对多个别名
    with
    tmp as (select * from tb_name),
    tmp2 as (select * from tb_name2),
    tmp3 as (select * from tb_name3),

    –相当于建了个e临时表
    with e as (select * from scott.emp e where e.empno=7499)
    select * from e;

    –相当于建了e、d临时表
    with
    e as (select * from scott.emp),
    d as (select * from scott.dept)
    select * from e, d where e.deptno = d.deptno;

    其实就是把一大堆重复用到的sql语句放在with as里面,取一个别名,后面的查询就可以用它,这样对于大批量的sql语句起到一个优化的作用,而且清楚明了。

    向一张表插入数据的with as用法

    insert into table2
    with
    s1 as (select rownum c1 from dual connect by rownum <= 10),
    s2 as (select rownum c2 from dual connect by rownum <= 10)
    select a.c1, b.c2 from s1 a, s2 b where…;
    select s1.sid, s2.sid from s1 ,s2需要有关联条件,不然结果会是笛卡尔积。
    with as 相当于虚拟视图。

    with as短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个sql片断,该sql片断会被整个sql语句所用到。有的时候,是为了让sql语句的可读性更高些,也有可能是在union all的不同部分,作为提供数据的部分。
      
    特别对于union all比较有用。因为union all的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用with as短语,则只要执行一遍即可。如果with as短语所定义的表名被调用两次以上,则优化器会自动将with as短语所获取的数据放入一个temp表里,如果只是被调用一次,则不会。而提示materialize则是强制将with as短语里的数据放入一个全局临时表里。很多查询通过这种方法都可以提高速度。

    with
    sql1 as (select to_char(a) s_name from test_tempa),
    sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1))
    select * from sql1
    union all
    select * from sql2
    union all
    select ‘no records’ from dual
    where not exists (select s_name from sql1 where rownum=1)
    and not exists (select s_name from sql2 where rownum=1);

    WITH语句的优点:

    (1). SQL可读性增强。比如对于特定with子查询取个有意义的名字等。

    (2)、with子查询只执行一次,将结果存储在用户临时表空间中,可以引用多次,增强性能。

    举例:在进行导入EXCEL的过程中,有时候,需要将数据存储在临时表中,当下一次在进行导入的时候,进行清除临时表的数据,但是这时候,有时候发生并发问题的话,两个用户可能会分别操作对方的数据,所以,可能造成混乱,但是可以使用WITH函数和UNION语句拼接一个SQL语句,存储在SESSION中,当需要导出错误信息的时候,可以使用该语句构造数据。

    展开全文
  • python中with...as的用法

    万次阅读 多人点赞 2018-01-29 21:37:21
    文章内容主要部分来至:... with…as,就是个python控制流语句,像 if ,while一样。 with…as语句是简化版try except finally语句。 那我们先理解一下try…except…finally语句是干啥。实际上,try…exc

    文章内容主要部分来至:http://www.360doc.com/content/16/0905/16/25664332_588595085.shtml


    with…as,就是个python控制流语句,像 if ,while一样。
    with…as语句是简化版的try except finally语句。

    那我们先理解一下try…except…finally语句是干啥的。实际上,try…except语句和try…finally语句是两种语句,用于不同的场景。但是当二者结合在一起时,可以“实现稳定性和灵活性更好的设计”。

    1. try…except语句

    用于处理程序执行过程中的异常情况,比如语法错误、从未定义变量上取值等等,也就是一些python程序本身引发的异常、报错。比如你在python下面输入 1 / 0:

    >>> 1/0
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ZeroDivisionError: division by zero

    系统会给你一个ZeroDivisionError的报错。

    说白了就是为了防止一些报错影响你的程序继续运行,就用try语句把它们抓出来(捕获)。
    try…except的标准格式:

    try:  
        ## normal block  
    except A:  
        ## exc A block  
    except:  
        ## exc other block  
    else:  
        ## noError block  

    程序执行流程是:

    –>执行normal block
    –>发现有A错误,执行 exc A block(即处理异常)
    –>结束
    如果没有A错误呢?
    –>执行normal block
    –>发现B错误,开始寻找匹配B的异常处理方法,发现A,跳过,发现except others(即except:),执行exc other block
    –>结束
    如果没有错误呢?
    –>执行normal block
    –>全程没有错误,跳入else 执行noError block
    –>结束

    Tips: 我们发现,一旦跳入了某条except语句,就会执行相应的异常处理方法(block),执行完毕就会结束。不会再返回try的normal block继续执行了。

    try:
        a = 1 / 2 #a normal number/variable
        print(a)
        b = 1 / 0 # an abnormal number/variable
        print(b)
        c = 2 / 1 # a normal number/variable
        print(c)
    except:
        print("Error")

    输出:

    0.5
    Error

    结果是,先打出了一个0,又打出了一个Error。就是把ZeroDivisionError错误捕获了。

    先执行try后面这一堆语句,由上至下:
    step1: a 正常,打印a. 于是打印出0.5 (python3.x以后都输出浮点数)
    step2: b, 不正常了,0 不能做除数,所以这是一个错误。直接跳到except报错去。于是打印了Error。
    step3: 其实没有step3,因为程序结束了。c是在错误发生之后的b语句后才出现,根本轮不到执行它。也就看不到打印出的c了


    但这还不是try/except的所有用法

    except后面还能跟表达式的! 所谓的表达式,就是错误的定义。也就是说,我们可以捕捉一些我们想要捕捉的异常。而不是什么异常都报出来。

    异常分为两类:

    • python标准异常
    • 自定义异常

    我们先抛开自定义异常(因为涉及到类的概念),看看except都能捕捉到哪些python标准异常。请查看菜鸟笔记

    try:
        a = 1 / 2
        print(a)
        print(m)  # 此处抛出python标准异常
        b = 1 / 0 # 此后的语句不执行
        print(b)
        c = 2 / 1
        print(c)
    except NameError:
        print("Ops!!")
    except ZeroDivisionError:
        print("Wrong math!!")
    except:
        print("Error")

    输出:

    0.5
    Ops!!
    

    当程序执行到print(m)的时候 发现了一个NameError: name 'm' is not defined,于是控制流去寻找匹配的except异常处理语句。发现了第一条匹配,执行对应block。执行完结束。

    2. try…finallly语句

    用于无论执行过程中有没有异常,都要执行清场工作。

    好的 现在我们看看他俩合在一起怎么用!!

    try:  
        execution block  ##正常执行模块  
    except A:  
        exc A block ##发生A错误时执行  
    except B:  
        exc B block ##发生B错误时执行  
    except:  
        other block ##发生除了A,B错误以外的其他错误时执行  
    else:  
        if no exception, jump to here ##没有错误时执行  
    finally:  
        final block  ##总是执行  

    tips: 注意顺序不能乱,否则会有语法错误。如果用else就必须有except,否则会有语法错误。

    try:
        a = 1 / 2
        print(a)
        print(m) # 抛出NameError异常
        b = 1 / 0
        print(b)  
        c = 2 / 1
        print(c)
    except NameError:
        print("Ops!!")  # 捕获到异常
    except ZeroDivisionError:
        print("Wrong math!!")
    except:
        print("Error")
    else:
        print("No error! yeah!")
    finally:      # 是否异常都执行该代码块
        print("Successfully!")

    输出:

    0.5
    Ops!!
    Successfully!

    try语句终于搞清楚了! 那么可以继续with…as的探险了

    3. with…as语句

    with as 语句的结构如下:

    with expression [as variable]:  
        with-block  

    看这个结构我们可以获取至少两点信息 1. as可以省略 2. 有一个句块要执行
    pic
    所谓上下文管理协议,其实是指with后面跟的expression。这个expression一般都是一个类的实体。这个类的实体里面要包含有对__enter____exit__函数的定义才行。

    除了给类定义一些属性之外,还可以定义类的方法。也就是允许对类的内容有哪些操作,最直观的方法就是用dir()函数来看一个类的属性和方法。比如要查看字符串类有哪些属性和方法:

    >>> dir(str)
    ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

    类,除了python内置的,当然还可以自己定义! 所以除了expression表示一些含有这两种方法的内置类,还可以自己定义类,让他们含有enterexit方法。

    可能大家一直奇怪,为什么有的方法,比如上图中的'split' 'title'什么的都没有下划线,而又有很多,,比如__enter____exit__要写下划线呢?请参考博文http://blog.csdn.net/qiqicos/article/details/79208039


    with…as语句执行顺序:
    –>首先执行expression里面的__enter__函数,它的返回值会赋给as后面的variable,想让它返回什么就返回什么,只要你知道怎么处理就可以了,如果不写as variable,返回值会被忽略。

    –>然后,开始执行with-block中的语句,不论成功失败(比如发生异常、错误,设置sys.exit()),在with-block执行完成后,会执行expression中的__exit__函数。

    with...as语句中with-block被执行或者终止后,这个类对象应该做什么。如果这个码块执行成功,则exception_type,exception_val, trace的输入值都是null。如果码块出错了,就会变成像try/except/finally语句一样,exception_type, exception_val, trace 这三个值系统会分配值。


    这个和try finally函数有什么关系呢?其实,这样的过程等价于:

    try:  
        执行 __enter__的内容  
        执行 with_block.  
    finally:  
        执行 __exit__内容  

    那么__enter____exit__是怎么用的方法呢?我们直接来看一个栗子好了。
    程序无错的例子:

    class Sample(object):             # object类是所有类最终都会继承的类
        def __enter__(self):          # 类中函数第一个参数始终是self,表示创建的实例本身
            print("In __enter__()")
            return "Foo"
    
        def __exit__(self, type, value, trace):
            print("In __exit__()")
    
    
    def get_sample():
        return Sample()
    
    
    with get_sample() as sample:
        print("sample:", sample)
    
    
    print(Sample)    # 这个表示类本身   <class '__main__.Sample'>
    print(Sample())  # 这表示创建了一个匿名实例对象 <__main__.Sample object at 0x00000259369CF550>

    输出结果:

    In __enter__()
    sample: Foo
    In __exit__()
    <class '__main__.Sample'>
    <__main__.Sample object at 0x00000226EC5AF550>
    

    步骤分析:
    –> 调用get_sample()函数,返回Sample类的实例;
    –> 执行Sample类中的__enter__()方法,打印"In__enter_()"字符串,并将字符串“Foo”赋值给as后面的sample变量;
    –> 执行with-block码块,即打印"sample: %s"字符串,结果为"sample: Foo"
    –> 执行with-block码块结束,返回Sample类,执行类方法__exit__()。因为在执行with-block码块时并没有错误返回,所以type,value,trace这三个arguments都没有值。直接打印"In__exit__()"

    程序有错的例子:

    class Sample:
        def __enter__(self):
            return self
    
        def __exit__(self, type, value, trace):
            print("type:", type)
            print("value:", value)
            print("trace:", trace)
    
        def do_something(self):
            bar = 1 / 0
            return bar + 10
    
    
    with Sample() as sample:
        sample.do_something()

    输出结果:

    type: <class 'ZeroDivisionError'>
    value: division by zero
    trace: <traceback object at 0x0000019B73153848>
    Traceback (most recent call last):
      File "F:/机器学习/生物信息学/Code/first/hir.py", line 16, in <module>
        sample.do_something()
      File "F:/机器学习/生物信息学/Code/first/hir.py", line 11, in do_something
        bar = 1 / 0
    ZeroDivisionError: division by zero

    步骤分析:
    –> 实例化Sample类,执行类方法__enter__(),返回值self也就是实例自己赋值给sample。即sampleSample的一个实例(对象);
    –>执行with-block码块: 实例sample调用方法do_something();
    –>执行do_something()第一行 bar = 1 / 0,发现ZeroDivisionError,直接结束with-block代码块运行
    –>执行类方法__exit__(),带入ZeroDivisionError的错误信息值,也就是type,value, trace,并打印它们。

    展开全文
  • sql语句中with as 的用法说明 –针对一个别名 with tmp as (select * from tb_name) –针对多个别名 with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3),...
  • python with as的用法

    2018-11-04 20:48:14
    with是对try…expect…finally语法一种简化。 1 try except python中try/except/else/finally语句完整格式如下所示: try:  Normal execution block except A:  Exception A handle except B:  Exception...
  • with...as的用法

    2019-09-23 14:32:35
    with…as语句是简化版try except finally语句。 那我们先理解一下try…except…finally语句是干啥。实际上,try…except语句和try…finally语句是两种语句,用于不同场景。但是当二者结合在一起时,可以“实现...
  • Python中as的三种用法

    2021-01-25 20:45:45
    1.with…as… 第一种是和with结合使用,主要用于文件读写操作,省去了关闭文件麻烦。 2.导入模块起别名 第二种就是导入模块对模块进行重命名,或者导入函数对函数重命名。 3.except结合使用 第三种是和except...
  • as far as的意思是“根据……而言”,这个句型中可以根据情况加入各种不同的动词。 如:as far as I remember / recall / collect…:就我回忆…… as far as I know / tell…:就我所知…… as far as I can see...
  • 这个语法是用来代替传统try…finally语法。 基本思想是with所求值对象必须有一个__enter__()方法...紧跟with后面语句被求值后,返回对象__enter__()方法被调用,这个方法返回值将被赋值给as后面变量。...
  • Python 中with…as语句

    千次阅读 2018-05-25 18:03:22
    通常在Python的使用中,大家经常看到with…as语句有这样的用法: with open('test.txt') as f: f.read() 而正如大家所看到的Python中关于with…as语句的用法最多的也是在对文件的操作中,那么with关键字到底是...
  • 函数参数没有一个严谨定义,也就是说我们可以传入任意多参数,然而到了AS3.0时代,我们必须严格遵守参数定义法,但是我们并没有丢失函数参数传入灵活性,AS3.O提供了一个新关键字…(rest),用法(…...
  • count(*) over(partition by…的用法记录参考 select count(*) over(partition by col1) from tmp_test; 计算每一行中,根据col1分组的数量 with a as ( select tollgateid,plateno,platecolor,storageurlcloseshot...
  • 首先,import xx(指module) 常用来调用数据库,如: ```python import pandas 其次,import xx(指name1, name2…) from xx(指module) 和 from xx import xx,常用来...最后,import xx(指module) as xx(指alias),
  • currentTarget用法 [效果] 0.swf (2008-11-19 16:10:26, Size: 1 KB, Downloads: 2) [代码]AS3中代码可用currentTarget指向 CODE: var myText:TextField=new TextField; addChild...
  • 本文背景是,想创建一个临时文件名给 with … as … 使用,使用完成后立刻删除临时文件: 得到一个临时文件名 在 with … as执行体中,使用文件:写入一些内容, 然后解析内容把 想要内容赋值给变量,在...
  • As a matter of fact… 不瞒你说……用法透视这个句型含义接近”in fact”,意思是“不瞒你说;其实;实际上”。做插入语单独使用。支持范例 1. As a matter of fact, we were just talking about you when you ...
  • You/We may/might (just) as well… 我们不妨……用法透视此句型表示委婉建议,一般是针对当时情况提出另外提议。意思是“我们不妨……,我们还是……吧”。支持范例 We may just as well go to a movie. ...
  • ORACLE WITH AS 用法

    2021-05-25 09:54:57
    with tmp as (select * from tb_name) –对多张表查询结果取别名 with tmp as (select * from tb_name), tmp1 as (select * from tb_name2), tmp1 as (select * from tb_name3), … –对两场表查询结果取别名,...
  • 学习Python有一段时间了,最近做一个项目会涉及到文件读取和关闭。比如:我想把一些对象序列化到文件里面,然后当我再次使用时候,在从文件里面读取反序列化成...With-as 用法 我们先看一下例子,当我们需要...
  • Numpy中random用法

    2018-06-22 18:17:40
    random模块用于生成随机数,下面是一些常用函数的用法 numpy.random.rand(d0,d1,…,dn) 生成一个[0,1)之间的随机浮点数或N维浮点数组 #numpy.random.rand(d0,d1,...,dn) import numpy as np #生成一个[0,1)...
  • 本文实例讲述了Python中with及contextlib的用法。分享给大家供大家参考,具体如下: 平常Coding过程中,经常使用到的with场景是(打开文件进行文件处理,然后隐式地执行了文件句柄的关闭,同样适合socket之类的,...
  • SQL中PIVOT的用法

    千次阅读 2019-10-19 11:46:11
    PIVOT 提供语法比一系列复杂 SELECT…CASE 语句中所指定语法更简单和更... [第一个透视列] AS <列名称>, [第二个透视列] AS <列名称>, ... [最后一个透视列] AS <列名称>, FROM (...
  • python中with的用法

    2021-04-18 19:41:43
    with是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except…....with expression [as target]: with_body 参数说明: expression:是一

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 204
精华内容 81
关键字:

as…as的用法