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

基于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ù)類型關(guān)聯(lián)的函數(shù)表,并且只能與數(shù)據(jù)類型關(guān)聯(lián)一起使用

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

Python創(chuà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),并組合稱一個(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)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    python中apply函數(shù)詳情

    這篇文章主要介紹了python中apply函數(shù)詳情,該函數(shù)最有用的是第一個(gè)參數(shù),這個(gè)參數(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à)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論