乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python基礎(chǔ)第十三課--超級好用的eval函數(shù)(小白piao分享)

       印度阿三17 2020-03-01

      eval()函數(shù)

      1.函數(shù)原型:

      eval(expression[,globals[,locals]])

      expression----表達式
      globals----變量作用域,全局命名空間,如果被提供,則必須是一個字典對象
      locals----變量作用域,局部命名空間,如果被提供,可以是任何映射對象。
      返回值----返回表達式計算結(jié)果

      2.實例:

      >>>x = 7
      >>> eval( '3 * x' )
      21
      >>> eval('pow(2,2)')
      4
      >>> eval('2   2')
      4
      >>> n=81
      >>> eval("n   4")
      85

      3.命名空間

                python是用命名空間來記錄變量的運行狀態(tài)的,命名空間是一個dictionary型的對象,鍵是變量名,值是變量值。

              在任何一個python的程序當中,都存在多個命名空間。

              每個函數(shù)都有著自已的命名空間,叫做局部空間,它記錄了函數(shù)的變量,包括函數(shù)的參數(shù)和局部定義的變量。

              每個模塊擁有它自已的命名空間,叫做全局空間,它記錄了模塊的變量,包括函數(shù)、其它導(dǎo)入的模塊、模塊級的變量和常量。還有就是內(nèi)置空間, 任何模塊均可訪問它,它存放著內(nèi)置的函數(shù)和異常。

              python的全局空間存儲在一個叫 globals() 的dict對象中;局部名字空間存儲在一個叫 locals() 的dict對象中??梢杂?mark>print (locals())來查看該函數(shù)體內(nèi)的所有變量名和變量值。

      4.參數(shù):

              在globals和locals兩個參數(shù)為空時,很好理解,expression就是一個str的表達式。eval()此時得到的就是該表達式的結(jié)果。
              當locals參數(shù)為空,globals參數(shù)不為空時,先查找globals參數(shù)中是否存在變量,并計算。當兩個參數(shù)都不為空時,先查找locals參數(shù),再查找globals參數(shù)。

      5.關(guān)于locals和globals兩個參數(shù)的例子:

              5.1 傳遞全局變量:

      print(eval("{'age':29,'name':name}",{"name":'小白piao'}))
      #輸出結(jié)果:{'age': 29, 'name': '小白piao'}

              5.2 傳遞局部變量:

      age = 29
      print(eval("{'name':name,'age':age}",{"name":"小白piao"},locals()))
      #輸出結(jié)果為:{'name': '小白piao', 'age': 29}

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多