最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python函數(shù)和變量名解析

 更新時(shí)間:2019年07月19日 09:25:49   作者:Field_Yang  
今天小編就為大家分享一篇基于Python函數(shù)和變量名解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1、Python函數(shù)

函數(shù)是Python為了代碼最大程度的重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu),用于將相關(guān)功能打包并參數(shù)化

Python中可以創(chuàng)建4種函數(shù):

1)、全局函數(shù):定義在模塊中,每個(gè)模塊都是一個(gè)全局作用域,因此,全局作用域的范圍僅限于單個(gè)程序文

2)、局部函數(shù):嵌套在其它函數(shù)中

3)、lambda函數(shù):表達(dá)式

4)、方法:與特定數(shù)據(jù)類(lèi)型關(guān)聯(lián)的函數(shù)表,并且只能與數(shù)據(jù)類(lèi)型關(guān)聯(lián)一起使用

Python提供眾多內(nèi)置函數(shù)

Python創(chuàng)建、改變、查找變量名都是在名稱(chēng)空間中進(jìn)行,在代碼中變量名被復(fù)制的位置決定了其能被訪問(wèn)到的范圍

Python函數(shù)執(zhí)行環(huán)境

如圖,函數(shù)可以通過(guò)多種方法獲得輸入以及產(chǎn)生輸出:

創(chuàng)建函數(shù),語(yǔ)法格式:

def funcName(arg1,arg2, ...):

suite

語(yǔ)法說(shuō)明:

1)、def是一個(gè)可執(zhí)行語(yǔ)句,可以出現(xiàn)在任何能夠使用語(yǔ)句的地方,甚至可以嵌套在其它語(yǔ)句中,例如if或while語(yǔ)句。

2)、def創(chuàng)建一個(gè)對(duì)象并將其賦值給一個(gè)變量名(即函數(shù)名)

3)、return用于返回結(jié)果對(duì)象,為可選參數(shù),無(wú)return語(yǔ)句時(shí)函數(shù)自動(dòng)返回none對(duì)象。返回對(duì)個(gè)值時(shí),使用逗號(hào)隔開(kāi),并組合稱(chēng)一個(gè)元組對(duì)象返回

4)、def語(yǔ)句運(yùn)行之后,可以在程序中使用函數(shù)后附加括號(hào)進(jìn)行調(diào)用,每次對(duì)函數(shù)的調(diào)用都會(huì)創(chuàng)建一個(gè)新的本地作用域,賦值的變量除非聲明為全局變量,否則均為本地變量

5)、所有的變量名都可以歸納為本地、全局或內(nèi)置的(由__builtin__模塊提供)

python函數(shù)用法示例

例1:交互式模式下創(chuàng)建并調(diào)用函數(shù)

In [1]: def printname():

 ...:   raw_input('Please Inputyour name:')

 ...:  

In [2]: printname()

Please Input your name:Fieldyang

例2:編輯test.py,測(cè)試全局變量和函數(shù)內(nèi)本地變量

[root@test 0527]# vim test.py

#!/usr/bin/python27

x = 27

def f1():

  x= 52

  print x

f1()

print x

[root@test 0527]# chmod +x test.py

[root@test 0527]# ./test.py

52 #調(diào)用函數(shù)產(chǎn)生的輸出,函數(shù)內(nèi)變量

27 #print產(chǎn)生的輸出,本地變量

例3:編輯test.py,測(cè)試全局變量和函數(shù)內(nèi)變量的作用域

[root@test 0527]# vim test.py

#!/usr/bin/python27

x = 27

def f1():

  y= 52

  print "def y = %d,global x = %d" % (y,x)

f1()

print "global x = %s." %x

print y

[root@test 0527]# ./test.py

def y = 52,global x = 27

global x = 27.

Traceback (most recent call last):

 File "./test.py", line 9, in <module>

  print y

NameError: name 'y' is not defined

#函數(shù)內(nèi)部可以使用全局變量,局部同名變量不影響全局變量,并且全局變量無(wú)定義時(shí)無(wú)法自行使用函數(shù)內(nèi)同名變量。

#函數(shù)內(nèi)部賦值的變量可以使用global聲明為全局變量,則全局中均會(huì)調(diào)用該變量值。

例4:編輯test.py,定義全局變量

[root@test 0527]# vim test.py

#!/usr/bin/python27

x = 27

y = 66

#本地變量,函數(shù)內(nèi)部聲明“global y”后該參數(shù)不會(huì)被調(diào)用

def f1():

  global y

  y= 52

  print "global y = %d,global x = %d" % (y,x)

f1()

print "global x = %s." %x

print "global y = %s." %y

[root@test 0527]# ./test.py

global y = 52,global x = 27

global x = 27.

global y = 52.

2、變量名解析

1)、LEGB原則:

Local-->Enclosing functionlocals-->Global-->Built-in

變量名引用分三個(gè)作用域進(jìn)行

首先是本地、之后是函數(shù)內(nèi)、接著是全局、最后是內(nèi)置,作用域越小,優(yōu)先級(jí)越高

2)、變量名解析示例

例1:函數(shù)嵌套的使用

[root@test 0527]# vim test2.py

#!/usr/bin/python27

#

z = "From global :"

m = 666

def f1():

  x= "From function f1 :"

  y= 222

  print "%s y = %d" % (x,y)

  print "%s m = %d" % (z,m)

  def f2():

    x = "From function f2 :"

    print "%s y = %d" % (x,y)

  f2()

f1()

print "%s m = %d" % (z,m)

[root@test 0527]# chmod +x test2.py

[root@test 0527]# ./test2.py

From function f1 : y = 222

From global : m = 666

From function f2 : y = 222

From global : m = 666

以上這篇基于Python函數(shù)和變量名解析就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中子類(lèi)繼承父類(lèi)傳遞參數(shù)的方法

    Python中子類(lèi)繼承父類(lèi)傳遞參數(shù)的方法

    在面向?qū)ο缶幊讨?繼承是一種使得一個(gè)類(lèi)(稱(chēng)為子類(lèi))能夠獲取另一個(gè)類(lèi)(稱(chēng)為父類(lèi))的屬性和方法的機(jī)制,Python支持繼承,并提供了靈活的方式來(lái)繼承和擴(kuò)展類(lèi)的功能,本文將詳細(xì)介紹如何在Python中使用子類(lèi)繼承父類(lèi),并傳遞參數(shù),需要的朋友可以參考下
    2025-03-03
  • Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃

    Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃

    這篇文章主要介紹了Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃,文章圍繞Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃的相關(guān)資料展開(kāi)內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • python線程中同步鎖詳解

    python線程中同步鎖詳解

    這篇文章主要為大家詳細(xì)介紹了python線程中同步鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python自定義元類(lèi)的實(shí)例講解

    Python自定義元類(lèi)的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python自定義元類(lèi)的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-03-03
  • Pandas數(shù)據(jù)分析之批量拆分/合并Excel

    Pandas數(shù)據(jù)分析之批量拆分/合并Excel

    怎樣將一個(gè)大的Excel拆分,或者將很多小Excel文件合并?下面這篇文章主要給大家介紹了關(guān)于Pandas數(shù)據(jù)分析之批量拆分/合并Excel的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • python+pytest自動(dòng)化測(cè)試函數(shù)測(cè)試類(lèi)測(cè)試方法的封裝

    python+pytest自動(dòng)化測(cè)試函數(shù)測(cè)試類(lèi)測(cè)試方法的封裝

    這篇文章主要介紹了python+pytest自動(dòng)化測(cè)試函數(shù)測(cè)試類(lèi)測(cè)試方法的封裝,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 深入理解Python 多線程

    深入理解Python 多線程

    這篇文章主要介紹了Python 多線程的相關(guān)知識(shí),文中講解的非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 基于python實(shí)現(xiàn)對(duì)文件進(jìn)行切分行

    基于python實(shí)現(xiàn)對(duì)文件進(jìn)行切分行

    這篇文章主要介紹了基于python實(shí)現(xiàn)對(duì)文件進(jìn)行切分行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python實(shí)現(xiàn)接口下載json文件并指定文件名稱(chēng)

    Python實(shí)現(xiàn)接口下載json文件并指定文件名稱(chēng)

    在 Web 開(kāi)發(fā)中,提供文件下載功能是一種常見(jiàn)的需求,尤其是當(dāng)涉及到導(dǎo)出數(shù)據(jù)為 JSON 格式時(shí),為了確保文件名的自定義以及避免亂碼問(wèn)題,開(kāi)發(fā)者需要采取一些特定的措施,本文介紹了Python實(shí)現(xiàn)接口下載json文件并指定文件名稱(chēng),需要的朋友可以參考下
    2024-10-10
  • 解決django xadmin主題不顯示和只顯示bootstrap2的問(wèn)題

    解決django xadmin主題不顯示和只顯示bootstrap2的問(wèn)題

    這篇文章主要介紹了解決django xadmin主題不顯示和只顯示bootstrap2的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論

西和县| 兴义市| 公主岭市| 获嘉县| 大洼县| 广丰县| 莱州市| 新化县| 井陉县| 汾阳市| 综艺| 静海县| 乌兰察布市| 迁安市| 昌黎县| 榕江县| 桂东县| 德州市| 博白县| 合肥市| 奉贤区| 汉阴县| 无为县| 文化| 青海省| 金沙县| 宁化县| 红河县| 襄垣县| 黄山市| 仁怀市| 凤城市| 洞口县| 柳河县| 庆云县| 荔浦县| 广平县| 万载县| 四川省| 邵东县| 岳阳县|