欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、Python函數(shù)

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

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

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

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

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

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

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

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

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

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

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

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

suite

語法說明:

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

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

3)、return用于返回結(jié)果對象,為可選參數(shù),無return語句時函數(shù)自動返回none對象。返回對個值時,使用逗號隔開,并組合稱一個元組對象返回

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

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,測試全局變量和函數(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,測試全局變量和函數(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)部可以使用全局變量,局部同名變量不影響全局變量,并且全局變量無定義時無法自行使用函數(shù)內(nèi)同名變量。

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

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

[root@test 0527]# vim test.py

#!/usr/bin/python27

x = 27

y = 66

#本地變量,函數(shù)內(nèi)部聲明“global y”后該參數(shù)不會被調(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

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

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

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ù)和變量名解析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對python 命令的-u參數(shù)詳解

    對python 命令的-u參數(shù)詳解

    今天小編就為大家分享一篇對python 命令的-u參數(shù)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python如何將.tif格式圖批量轉(zhuǎn)化為.jpg格式圖

    python如何將.tif格式圖批量轉(zhuǎn)化為.jpg格式圖

    這篇文章主要介紹了python如何將.tif格式圖批量轉(zhuǎn)化為.jpg格式圖問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python區(qū)分不同數(shù)據(jù)類型的方法

    python區(qū)分不同數(shù)據(jù)類型的方法

    這篇文章主要介紹了python區(qū)分不同數(shù)據(jù)類型的方法實(shí)例以及相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • 完美解決python中ndarray 默認(rèn)用科學(xué)計(jì)數(shù)法顯示的問題

    完美解決python中ndarray 默認(rèn)用科學(xué)計(jì)數(shù)法顯示的問題

    今天小編就為大家分享一篇完美解決python中ndarray 默認(rèn)用科學(xué)計(jì)數(shù)法顯示的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python3爬取數(shù)據(jù)至mysql的方法

    python3爬取數(shù)據(jù)至mysql的方法

    這篇文章主要為大家詳細(xì)介紹了python3爬取數(shù)據(jù)至mysql的方法 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python采集貓眼兩萬條數(shù)據(jù) 對《無名之輩》影評進(jìn)行分析

    Python采集貓眼兩萬條數(shù)據(jù) 對《無名之輩》影評進(jìn)行分析

    這篇文章主要給大家介紹了關(guān)于利用Python榮國采集兩萬條貓眼數(shù)據(jù),對《無名之輩》影評進(jìn)行分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 關(guān)于Python的異常捕獲和處理

    關(guān)于Python的異常捕獲和處理

    程序在運(yùn)行過程當(dāng)中,不可避免的會出現(xiàn)一些錯誤,比如:使用了沒有賦值過的變量,使用了不存在的索引,一個數(shù)字除以0,這些錯誤在程序中,我們稱其為異常,那么如何處理這些異常呢,今天我們就來看一看
    2023-04-04
  • python使用自定義user-agent抓取網(wǎng)頁的方法

    python使用自定義user-agent抓取網(wǎng)頁的方法

    這篇文章主要介紹了python使用自定義user-agent抓取網(wǎng)頁的方法,涉及Python使用urllib2模塊操作網(wǎng)頁的技巧,需要的朋友可以參考下
    2015-04-04
  • python中apply函數(shù)詳情

    python中apply函數(shù)詳情

    這篇文章主要介紹了python中apply函數(shù)詳情,該函數(shù)最有用的是第一個參數(shù),這個參數(shù)是函數(shù),相當(dāng)于C/C++的函數(shù)指針,更多詳細(xì)內(nèi)容,需要的小伙伴可以參考下面文章內(nèi)容
    2022-01-01
  • Python 實(shí)現(xiàn)選擇排序的算法步驟

    Python 實(shí)現(xiàn)選擇排序的算法步驟

    下面小編就為大家分享一篇Python 實(shí)現(xiàn)選擇排序的算法步驟,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論