Your IP : 3.143.24.110


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/operator.cpython-35.opt-1.pyc



��Yfo*�6@s�dZddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6g6Zd7d8lmZd9d&�Zd:d#�Zd;d	�Zd<d+�Zd=d�Z	d>d
�Z
d?d-�Zd@d5�ZdAd�Z
dBd�ZdCd�ZdDd�ZdEd�ZdFd
�ZdGd�ZdHd�ZeZdId%�ZdJd)�ZdKd*�ZdLd'�ZdMd,�ZdNd.�ZdOd/�ZdPd0�ZdQd1�ZdRd3�ZdSd4�ZdTd6�Z dUd�Z!dVd�Z"dWd�Z#dXd�Z$dYd�Z%dZd�Z&d[d2�Z'd7d\d$�Z(Gd]d�d�Z)Gd^d �d �Z*Gd_d(�d(�Z+d`d�Z,dad�Z-dbd�Z.dcd�Z/ddd�Z0ded�Z1dfd�Z2dgd�Z3dhd�Z4did�Z5djd�Z6dkd�Z7dld!�Z8dmd"�Z9yd7dnl:TWne;k
rzYnXd7dol:mZeZ<eZ=eZ>eZ?e	Z@e
ZAeZBeZCeZDeZEeZFeZGeZHeZIeZJeZKeZLeZMeZNeZOeZPeZQeZReZSeZTe ZUe!ZVe"ZWe$ZXe%ZYe'ZZe,Z[e-Z\e.Z]e/Z^e0Z_e1Z`e2Zae3Zbe4Zce5Zde6Zee7Zfe8Zge9ZhdpS)qas
Operator Interface

This module exports a set of functions corresponding to the intrinsic
operators of Python.  For example, operator.add(x, y) is equivalent
to the expression x+y.  The function names are those used for special
methods; variants without leading and trailing '__' are also provided
for convenience.

This is the pure Python implementation of the module.
�abs�add�and_�
attrgetter�concat�contains�countOf�delitem�eq�floordiv�ge�getitem�gt�iadd�iand�iconcat�	ifloordiv�ilshift�imatmul�imod�imul�index�indexOf�inv�invert�ior�ipow�irshift�is_�is_not�isub�
itemgetter�itruediv�ixor�le�length_hint�lshift�lt�matmul�methodcaller�mod�mul�ne�neg�not_�or_�pos�pow�rshift�setitem�sub�truediv�truth�xor�)rcCs
||kS)zSame as a < b.�)�a�br8r8�-/opt/alt/python35/lib64/python3.5/operator.pyr&scCs
||kS)zSame as a <= b.r8)r9r:r8r8r;r#scCs
||kS)zSame as a == b.r8)r9r:r8r8r;r	#scCs
||kS)zSame as a != b.r8)r9r:r8r8r;r+'scCs
||kS)zSame as a >= b.r8)r9r:r8r8r;r+scCs
||kS)zSame as a > b.r8)r9r:r8r8r;r
/scCs|S)zSame as not a.r8)r9r8r8r;r-5scCs|r
dSdS)z*Return True if a is true, False otherwise.TFr8)r9r8r8r;r59scCs
||kS)zSame as a is b.r8)r9r:r8r8r;r=scCs
||k	S)zSame as a is not b.r8)r9r:r8r8r;rAscCs
t|�S)zSame as abs(a).)�_abs)r9r8r8r;rGscCs||S)zSame as a + b.r8)r9r:r8r8r;rKscCs||@S)zSame as a & b.r8)r9r:r8r8r;rOscCs||S)zSame as a // b.r8)r9r:r8r8r;r
SscCs
|j�S)zSame as a.__index__().)�	__index__)r9r8r8r;rWscCs|S)zSame as ~a.r8)r9r8r8r;r[scCs||>S)zSame as a << b.r8)r9r:r8r8r;r%`scCs||S)zSame as a % b.r8)r9r:r8r8r;r)dscCs||S)zSame as a * b.r8)r9r:r8r8r;r*hscCs||S)zSame as a @ b.r8)r9r:r8r8r;r'lscCs|S)zSame as -a.r8)r9r8r8r;r,pscCs||BS)zSame as a | b.r8)r9r:r8r8r;r.tscCs|
S)zSame as +a.r8)r9r8r8r;r/xscCs||S)zSame as a ** b.r8)r9r:r8r8r;r0|scCs||?S)zSame as a >> b.r8)r9r:r8r8r;r1�scCs||S)zSame as a - b.r8)r9r:r8r8r;r3�scCs||S)zSame as a / b.r8)r9r:r8r8r;r4�scCs||AS)zSame as a ^ b.r8)r9r:r8r8r;r6�scCs6t|d�s.dt|�j}t|��||S)z%Same as a + b, for a and b sequences.�__getitem__z!'%s' object can't be concatenated)�hasattr�type�__name__�	TypeError)r9r:�msgr8r8r;r�scCs
||kS)z(Same as b in a (note reversed operands).r8)r9r:r8r8r;r�scCs1d}x$|D]}||kr
|d7}q
W|S)z)Return the number of times b occurs in a.r7�r8)r9r:�count�ir8r8r;r�s

cCs||=dS)zSame as del a[b].Nr8)r9r:r8r8r;r�scCs||S)z
Same as a[b].r8)r9r:r8r8r;r�scCs=x6t|�D]\}}||kr
|Sq
Wtd��dS)z!Return the first index of b in a.z$sequence.index(x): x not in sequenceN)�	enumerate�
ValueError)r9r:rF�jr8r8r;r�scCs|||<dS)zSame as a[b] = c.Nr8)r9r:�cr8r8r;r2�scCst|t�s.dt|�j}t|��yt|�SWntk
rPYnXyt|�j}Wntk
r||SYnXy||�}Wntk
r�|SYnX|tkr�|St|t�s�dt|�j}t|��|dkrd}t	|��|S)a2
    Return an estimate of the number of items in obj.
    This is useful for presizing containers when building from an iterable.

    If the object supports len(), the result will be exact. Otherwise, it may
    over- or under-estimate by an arbitrary amount. The result will be an
    integer >= 0.
    z/'%s' object cannot be interpreted as an integerz'__length_hint__ must be integer, not %sr7z$__length_hint__() should return >= 0)
�
isinstance�intr@rArB�len�__length_hint__�AttributeError�NotImplementedrH)�obj�defaultrCZhint�valr8r8r;r$�s4	

	
	c@sLeZdZdZd
Zdd�Zdd�Zdd	�Zd
d�ZdS)raV
    Return a callable object that fetches the given attribute(s) from its operand.
    After f = attrgetter('name'), the call f(r) returns r.name.
    After g = attrgetter('name', 'date'), the call g(r) returns (r.name, r.date).
    After h = attrgetter('name.first', 'name.last'), the call h(r) returns
    (r.name.first, r.name.last).
    �_attrs�_callcs�|sZt|t�s!td��|f|_|jd���fdd�}||_nC|f||_ttt|j����fdd�}||_dS)Nzattribute name must be a string�.cs$x�D]}t||�}qW|S)N)�getattr)rQ�name)�namesr8r;�func�s
z!attrgetter.__init__.<locals>.funccst�fdd��D��S)Nc3s|]}|��VqdS)Nr8)�.0�getter)rQr8r;�	<genexpr>�sz4attrgetter.__init__.<locals>.func.<locals>.<genexpr>)�tuple)rQ)�getters)rQr;rZ�s)	rK�strrBrT�splitrUr^�mapr)�self�attrZattrsrZr8)r_rYr;�__init__�szattrgetter.__init__cCs
|j|�S)N)rU)rcrQr8r8r;�__call__�szattrgetter.__call__cCs2d|jj|jjdjtt|j��fS)Nz	%s.%s(%s)z, )�	__class__�
__module__�__qualname__�joinrb�reprrT)rcr8r8r;�__repr__s	zattrgetter.__repr__cCs|j|jfS)N)rgrT)rcr8r8r;�
__reduce__szattrgetter.__reduce__N)rTrU)	rArhri�__doc__�	__slots__rerfrlrmr8r8r8r;r�sc@sLeZdZdZd
Zdd�Zdd�Zdd	�Zd
d�ZdS)r z�
    Return a callable object that fetches the given item(s) from its operand.
    After f = itemgetter(2), the call f(r) returns r[2].
    After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3])
    �_itemsrUcsc�s0�f|_�fdd�}||_n/�f�|_��fdd�}||_dS)Ncs|�S)Nr8)rQ)�itemr8r;rZsz!itemgetter.__init__.<locals>.funccst�fdd��D��S)Nc3s|]}�|VqdS)Nr8)r[rF)rQr8r;r]sz4itemgetter.__init__.<locals>.func.<locals>.<genexpr>)r^)rQ)�items)rQr;rZs)rprU)rcrqrrrZr8)rqrrr;reszitemgetter.__init__cCs
|j|�S)N)rU)rcrQr8r8r;rfszitemgetter.__call__cCs2d|jj|jjdjtt|j��fS)Nz	%s.%s(%s)z, )rgrhrArjrbrkrp)rcr8r8r;rl s	zitemgetter.__repr__cCs|j|jfS)N)rgrp)rcr8r8r;rm%szitemgetter.__reduce__N)rprU)	rArhrirnrorerfrlrmr8r8r8r;r 	sc@sLeZdZdZdZdd�Zdd�Zd	d
�Zdd�Zd
S)r(z�
    Return a callable object that calls the given method on its operand.
    After f = methodcaller('name'), the call f(r) returns r.name().
    After g = methodcaller('name', 'date', foo=1), the call g(r) returns
    r.name('date', foo=1).
    �_name�_args�_kwargscOsyt|�dkr$d}t|��|d}|d|_t|jt�sYtd��|dd�|_||_dS)N�z9methodcaller needs at least one argument, the method namer7rDzmethod name must be a string)rMrBrsrKr`rtru)�args�kwargsrCrcr8r8r;re1s

zmethodcaller.__init__cCst||j�|j|j�S)N)rWrsrtru)rcrQr8r8r;rf<szmethodcaller.__call__cCstt|j�g}|jtt|j��|jdd�|jj�D��d|jj|jj	dj
|�fS)Ncss%|]\}}d||fVqdS)z%s=%rNr8)r[�k�vr8r8r;r]Bsz(methodcaller.__repr__.<locals>.<genexpr>z	%s.%s(%s)z, )rkrs�extendrbrtrurrrgrhrArj)rcrwr8r8r;rl?s#	zmethodcaller.__repr__cCsY|js#|j|jf|jfSddlm}||j|j|j�|jfSdS)Nr7)�partial)rurgrsrt�	functoolsr|)rcr|r8r8r;rmGs	zmethodcaller.__reduce__N)rsrtru)	rArhrirnrorerfrlrmr8r8r8r;r((scCs||7}|S)zSame as a += b.r8)r9r:r8r8r;rQs
cCs||M}|S)zSame as a &= b.r8)r9r:r8r8r;rVs
cCs<t|d�s.dt|�j}t|��||7}|S)z&Same as a += b, for a and b sequences.r>z!'%s' object can't be concatenated)r?r@rArB)r9r:rCr8r8r;r[s

cCs||}|S)zSame as a //= b.r8)r9r:r8r8r;rcs
cCs||K}|S)zSame as a <<= b.r8)r9r:r8r8r;rhs
cCs||;}|S)zSame as a %= b.r8)r9r:r8r8r;rms
cCs||9}|S)zSame as a *= b.r8)r9r:r8r8r;rrs
cCs||}|S)zSame as a @= b.r8)r9r:r8r8r;rws
cCs||O}|S)zSame as a |= b.r8)r9r:r8r8r;r|s
cCs||C}|S)zSame as a **= b.r8)r9r:r8r8r;r�s
cCs||L}|S)zSame as a >>= b.r8)r9r:r8r8r;r�s
cCs||8}|S)zSame as a -= b.r8)r9r:r8r8r;r�s
cCs||}|S)zSame as a /= b.r8)r9r:r8r8r;r!�s
cCs||N}|S)zSame as a ^= b.r8)r9r:r8r8r;r"�s
)�*)rnN)irn�__all__�builtinsrr<r&r#r	r+rr
r-r5rrrrr
rrrr%r)r*r'r,r.r/r0r1r3r4r6rrrrrrr2r$rr r(rrrrrrrrrrrrr!r"�	_operator�ImportError�__lt__�__le__�__eq__�__ne__�__ge__�__gt__�__not__�__abs__�__add__�__and__�__floordiv__r=�__inv__�
__invert__�
__lshift__�__mod__�__mul__�
__matmul__�__neg__�__or__�__pos__�__pow__�
__rshift__�__sub__�__truediv__�__xor__�
__concat__�__contains__�__delitem__r>�__setitem__�__iadd__�__iand__�__iconcat__�
__ifloordiv__�__ilshift__�__imod__�__imul__�__imatmul__�__ior__�__ipow__�__irshift__�__isub__�__itruediv__�__ixor__r8r8r8r;�<module>s�)')


?>