1. 程式人生 > >dir(),divmod(),eval(),exec() 2018-10-6

dir(),divmod(),eval(),exec() 2018-10-6

ever 例如 orm case som 內容 自動 ftl only

#內置函數源碼

def dir(p_object=None): # real signature unknown; restored from __doc__
    """
    dir([object]) -> list of strings
    
    If called without an argument, return the names in the current scope.
    Else, return an alphabetized list of names comprising (some of) the attributes
    of the given object, and of attributes reachable from it.
    If the object supplies a method named __dir__, it will be used; otherwise
    the default dir() logic is used and returns:
      for a module object: the module's attributes.
      for a class object:  its attributes, and recursively the attributes
        of its bases.
      for any other object: its attributes, its class's attributes, and
        recursively the attributes of its class's base classes.
    """
    return []

def divmod(x, y): # known case of builtins.divmod
    """ Return the tuple (x//y, x%y).  Invariant: div*y + mod == x. """
    return (0, 0)

def eval(*args, **kwargs): # real signature unknown
    """
    Evaluate the given source in the context of globals and locals.
    
    The source may be a string representing a Python expression
    or a code object as returned by compile().
    The globals must be a dictionary and locals can be any mapping,
    defaulting to the current globals and locals.
    If only globals is given, locals defaults to it.
    """
    pass

def exec(*args, **kwargs): # real signature unknown
    """
    Execute the given source in the context of globals and locals.
    
    The source may be a string representing one or more Python statements
    or a code object as returned by compile().
    The globals must be a dictionary and locals can be any mapping,
    defaulting to the current globals and locals.
    If only globals is given, locals defaults to it.
    """
    pass


'''
百度翻譯:
        DEF DIR(PyObjult=無):未知的實簽名;從

        “”

        DIR([Obj])->字符串列表



        如果沒有參數調用,則返回當前範圍中的名稱。

        否則,返回字母名稱的列表,包括(部分)屬性。

        給定的對象和可從其獲得的屬性。

        如果對象提供了一個名為y.dIrthix的方法,則將使用該方法,否則

        默認的DR()邏輯被使用並返回:

        對於模塊對象:模塊的屬性。

        用於類對象:屬性及其遞歸屬性

        它的基礎。

        對於任何其他對象:它的屬性,它的類的屬性,以及

        遞歸地遞歸類的基類的屬性。

        “”

        返回[]



        DEVMODD(x,y):已知的構建實例

        “返回元組(x//y,x%y)。不變量:div *y+mod==x。

        返回(0, 0)



        DEFEVE(*ARGs,**KWARGS):未知實簽名

        “”

        在全球化和本地人的背景下評估給定的來源。



        源可以是表示Python表達式的字符串。

        或CaseRever()返回的代碼對象。

        全局變量必須是字典,而局部變量可以是任何映射,

        默認為當前全局變量和本地變量。

        如果只給出全局變量,則局部變量默認為它。

        “”

        通過



        DEFEXEC(*ARGs,**KWARGS):未知實簽名

        “”

        在全局和局部上下文中執行給定的源。



        源可以是表示一個或多個Python語句的字符串。

        或CaseRever()返回的代碼對象。

        全局變量必須是字典,而局部變量可以是任何映射,

        默認為當前全局變量和本地變量。

        如果只給出全局變量,則局部變量默認為它。

        “”

        通過

'''

direct = '''
目錄無鏈接:

1 scope
2 alpahabetized
3 comprising
4 reachable
5 otherwise
6 logic
7 recursively
8 invariant
9 mapping
10 evaluate

'''

context = '''

1 scope
        [ 英  [sk??p]   美  [skop]
        n. 範圍;余地;視野;眼界;導彈射程
        vt. 審視]
        {the range of things that a subject, activity, book etc deals with
        〔學科、活動、書籍等的〕範圍}
        <return the names in the current scope:
        返回當前範圍的所有名字(變量名)>






2 alphabetize <=> alphabetize
        [ 英  ['?lf?b?ta?z]   美  ['?lf?b?'ta?z]
            vt. 依字母順序排列;用字母表示;拼音化]
        {to arrange(安排,排列) things in order according(
         使一致) to the letters of the alphabet(字母表)
            按字母順序排列}
        <return an alphabetized list of names comprising (
            some of) the attributes:
            返回按字母排序的變量名的列表,包括(部分)屬性>





        
3 comprising <=> comprise
        [
             英  [k?m'pra?z]   美  [k?m'pra?z]
            vt. 包含;由…組成
            ]
        {If you say that something comprises or is comprised of a number of things or people, you mean it has them as its parts or members. 包含; 由…組成}
        <comprising (some of) the attributes
            包含(部分)屬性>
        





4 reachable
        [ 英  ['ri?t??bl]   美  ['rit??bl]
            adj. 可獲得的;可達成的]
        {   softly reachable 軟可及的
            Reachable Zone 可接觸區域
            reachable object 可達對象
            Reachable Accounts 成功聯系量
            reachable vertex 可達頂點
            reachable neighbor 可達鄰域
            reachable domain 可達範圍
            Stay Reachable 保持平易近人
            reachable subnet 可達子網}
        <and of attributes reachable from it:
            以及從中可獲得的屬性>





        
5 otherwise
        [英 [??e?wa?z]   美 [??e?rwa?z]  
            adv.
            否則;另外;別的方式
            adj.
            別的,另外的;不同的
            conj.
            否則,不然]
        {used when saying what bad thing will happen if something is not done
            否則,要不然 〔指如果不做某事,就會發生不好的事〕}
        <otherwise the default dir() logic is 
            used and returns:
            否則,默認的dir()邏輯就會被使用並返回(如下值:)>





        
6 logic
        [ 英  ['l?d??k]   美  ['lɑd??k]
            n. 邏輯;邏輯學;邏輯性
            adj. 邏輯的]
        {a way of thinking about something that seems correct and reasonable, or a set of sensible
        (明智的; 通情達理的; 合乎情理的; 意識到的,能感覺到的;) reasons for doing something
            邏輯;〔做某事的〕道理,合理的想法a set of 一套}
        <邏輯>
        





7 recursively
        [[ri'k?sivli] 
            adv. 遞歸地;遞回地]
        {   recursively computable 遞歸可計算的
            recursively constructing 遞歸構造
            recursively projective 遞歸射影的
            recursively invariance 遞歸不變性
            Include Recursively 包括當前文件夾
                    以及它的子文件夾內所有的文件夾
            recursively axiomatizable 遞歸可公理化
            recursively isomorphism 遞歸同構
            Recursively Representative 遞歸可表示性
            recursively presentable 遞歸可表現}
        <for a class object:  its attributes, and recursively the attributes
            用於類對象,(返回)它的屬性和遞歸屬性>

        




8 invariant
        [ 英  [?n've?r??nt]   美  [?n'v?r??nt]
            adj. 不變的
            n. [數] 不變量;[計] 不變式]
        { an entity(實體,存在,本質), quantity(量,數量,大量,總量ˋkwɑnt?t? /), etc,

        that is unaltered(不變的/?n???lt?d/) by a 

        particular(特別的) transformation(轉化) of 
        coordinates(坐標,相配之衣物,使協調 /k?????d?n?ts, -?ne?ts/) 不變式; 不變量
        百度:不受特定坐標變換影響的實體、數量等

                invariant mass 不變質量
                invariant mass 固有質量
                Casimir invariant 卡西米爾不變量
                Hopf invariant 霍普夫不變量
                time invariant 時間不變量
                invariant point 不變點
                invariant function 不變函數
                invariant subgroup 不變子群
                integral invariant 積分不變式
                integral invariant 積分不變量
                optical invariant 光學不變量
                optical invariant 光學間隔}
        <Return the tuple (x//y, x%y). Invariant: div*y + mod == x.
        百度:返回元組(x//y,x%y)。不變量:div *y+mod==x?>
        
9 mapping <=> map
        [ 英  ['m?p??]   美  ['m?p??]
            v. 繪圖;籌劃(map的ing形式)
            n. 地圖;繪圖;[數] 映像]
        {   texture mapping 材質貼圖
            texture mapping 紋理映射
            texture mapping 紋理貼圖
            texture mapping 貼圖坐標
            space mapping 空間映射
            space mapping 空間制圖
            space mapping 空間映射法
            Squeeze mapping 擠壓映射
            Cylindrical Mapping 圓柱體貼圖
            Cylindrical Mapping 圓柱體映射
            Cylindrical Mapping 圓柱貼圖
            Cylindrical Mapping 圓柱映射
            concept mapping 概念構圖
            concept mapping 概念圖
            concept mapping 概念映射
            concept mapping 概念繪圖
            inverse mapping 逆映射
            inverse mapping 反向映射
            inverse mapping 逆映像
            inverse mapping 材質處理逆向算法
            Delete Mapping 刪除貼圖
            Automatic Mapping 自動映射
            Automatic Mapping 自動繪圖
            Automatic Mapping 自動貼圖
            Automatic Mapping 卷展欄
            aerial mapping 航空測繪
            aerial mapping 航空測圖
            aerial mapping 航空寫像
            aerial mapping 航攝制圖}
        <The globals must be a dictionary and locals can be any mapping:
            全局變量必須是字典,局部變量可以是任何映射。

            eval(expression[, globals[, locals]])
            expression -- 表達式。
            globals -- 變量作用域,全局命名空間,如果被提供,
            則必須是一個字典對象。
            locals -- 變量作用域,局部命名空間,如果被提供,
            可以是任何映射對象。>
        



10 evaluate 
            [ 英  [?'v?lj?e?t]   美  [?'v?lj?'et]
                vt. 評價;估價;求…的值
                vi. 評價;估價]
            {to judge how good, useful, or successful
                 something is 評估,評價}
            <Evaluate the given source in the context of globals and locals
              在全局和局部的上下文中評估給定的源(碼)>





函數dir()
            dir()?函數不帶參數時,返回當前範圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。

            語法

            dir 語法:
            dir([object])

            參數說明:

            object -- 對象、變量、類型。

            ---------------------

            本段內容摘自 蘇源流 的CSDN 博客




函數divmod()
            把除數和余數運算結果結合起來,返回一個包含商和余數的元組(a // b, a % b)。例如10/3 = 3……1 (3余1)
            divmod(10,3) ---> (3,1)

                >>> divmod(10,3)
                (3, 1)
                >>> 


函數eval()和exec(),可以將引號裏的命令執行,input()的數據類型為str
                  eval(input()) , exec(input())就可以直接解讀
                  input的內容
        運用場景:
                比如你做了一個記賬程序,要修改信用卡的可用額度
                amount_usable = input('請輸入現在的可用額度')
                eval(amout_usable),可用額度就由字符串類型變成了數字類型

exec()與eval()的區別:
    exec()可以解悉帶=號的表達式,eval()不行。看單詞意思就可以知道誰的功能
    eval<=>evaluate 求……值。
    exec<=>excute 執行


具體參考博客:https://www.cnblogs.com/yangmingxianshen/p/7810496.html





'''


>>> data = {'1':1 , '2':2}
>>> text = 'data['1'] = 111'
  File "<stdin>", line 1
    text = 'data['1'] = 111'
                  ^
SyntaxError: invalid syntax #外面和裏面的引號要區分開。
>>> text = "data['1'] = 111"
>>> text
"data['1'] = 111"
>>> eval(text)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    data['1'] = 111
              ^
SyntaxError: invalid syntax #說=是不支持的語法
>>> exec(text)
>>> data
{'1': 111, '2': 2}#被exec改成功了
>>> 

exec()與eval()與compile()具體區別參考博客:https://www.cnblogs.com/yangmingxianshen/p/7810496.html

dir()具體:https://blog.csdn.net/kyjl888/article/details/78940805?utm_source=copy

dir(),divmod(),eval(),exec() 2018-10-6