函數(shù)——返回值,作用域

函數(shù)的返回值

"""
1.函數(shù)的返回值:
a.就是函數(shù)返回給調(diào)用的值
b.就是return關(guān)鍵字后面的表達(dá)式的值
c.就是函數(shù)調(diào)用表之后的值達(dá)式的值

Python中每一個(gè)函數(shù)都是有返回值的矮男,返回值就是return
如果函數(shù)中沒有return移必,name函數(shù)的返回值就是None

***函數(shù)調(diào)用:
a.先回到函數(shù)調(diào)用位置
b.用實(shí)參給形參賦值
c.執(zhí)行函數(shù)體
d.執(zhí)行完函數(shù)體,將返回值返回給函數(shù)調(diào)用表達(dá)式
e.回到函數(shù)調(diào)用表達(dá)式處
****函數(shù)的函數(shù)體只有在調(diào)用之后才會(huì)執(zhí)行

2.return
1.將return之后的值返回給函數(shù)調(diào)用表達(dá)式
*** 調(diào)用函數(shù)之后如果沒有返回值毡鉴,只是函數(shù)體打 印崔泵,那么返回值為none秒赤,如果有返回值,函數(shù)體之外 就可以使用返回值
2.結(jié)束函數(shù)

3.函數(shù)的結(jié)束
a.函數(shù)體執(zhí)行完
b.遇到return

4.函數(shù)調(diào)用表達(dá)式
Python中每一個(gè)函數(shù)調(diào)用表達(dá)式都是有值的
"""

def func1():
    print('aaa')
a = func1()   # 函數(shù)調(diào)用表達(dá)式
print(a, func1())  # 如果函數(shù)中沒有return憎瘸,name函數(shù)的返回值就是None

輸出:

aaa
aaa
None None

求和函數(shù)

def my_sum(x,y):
    return  x+y
print(my_sum(10,20))

輸出:

30

練習(xí):寫一個(gè)函數(shù)判斷一個(gè)人的年齡是否為成年人

def ismanyear(years):
    if years >= 18:
        return True
    else:
        return False

if ismanyear(10):
    print('可以進(jìn)入網(wǎng)吧')
else:
    print('未成年入篮,禁止進(jìn)入網(wǎng)吧')

person = {'name':'yuting','ismanyear':ismanyear(17)}
print(person)

輸出:

未成年,禁止進(jìn)入網(wǎng)吧
{'name': 'yuting', 'ismanyear': False}

"""
3.函數(shù)的結(jié)束
a.函數(shù)體執(zhí)行完
b.遇到return
"""

def func2():
    print('123')
    return 10  # 遇到return提前結(jié)束函數(shù)體
    print('321')

print(func2())

輸出:

123
10

偽代碼

'''
寫一個(gè)函數(shù) 幌甘,下載指定地址對(duì)應(yīng)的數(shù)據(jù)
def download(url):
    判斷有沒有網(wǎng):
    if 沒有網(wǎng):
        return None
    
    寫網(wǎng)絡(luò)請(qǐng)求
    請(qǐng)求數(shù)據(jù)
    保存數(shù)據(jù)
'''

練習(xí):寫一個(gè)函數(shù)潮售,求1+2+3+.....,和不能大于一萬

def isyiwang():
    sum1 =0
    number = 1
    while True:
        if sum1 + number >=10000:
            return  sum1, number-1  # python中可以有多個(gè)返回值,在return后面返回多個(gè)值锅风,每一個(gè)值之間用逗號(hào)隔開酥诽,返回值是一個(gè)元組
        sum1 += number

        number += 1


print(isyiwang())

輸出:

(9870, 140)

作用域

"""
作用域:一個(gè)變量可以使用的范圍,就是這個(gè)變量的作用域(函數(shù)和類可以影響變量的作用域)

全局變量: 從聲明開始皱埠,到文件結(jié)束都可以使用
局部變量: 在函數(shù)(類)中聲明的變量是局部變量肮帐,只能在函數(shù)(類)中使用

"""

1.全局變量

a = 10 # a是全局變量

def func1():
    print(a)

func1()
print(a)

輸出:

10
10

2.局部變量

def func3():
    a = 100 #局部變量,作用域是函數(shù)內(nèi)
    print(a)
func3()

#  print(a) #報(bào)錯(cuò):nameError

輸出;

100

3.global和nonlocal
"""
global :在函數(shù)中聲明一個(gè)全局變量
格式:
global 變量名
變量名 = 值

"""

abc = 'abc'
bcd = 'bcd'
def func4():
    abc = 'aaa'  # 局部變量边器,如果全局變量名和全局變量名相同训枢,在函數(shù)中使用的是局部變量名
    print(abc)

    global  bcd  # 說明bcd是一個(gè)全局變量
    bcd = 100
    print(bcd)

func4()
print(abc)
print(bcd)

輸出:

aaa
100
abc
100

練習(xí):聲明一個(gè)變量,統(tǒng)計(jì)一個(gè)函數(shù)調(diào)用的次數(shù)

count = 0
def my_func():
    global  count
    count += 1
    print('===')

my_func()
my_func()
print('1233')
a = 10
my_func()
print(count)

"""
nonlocal
相當(dāng)于局部里面的全局 局部里的global,只能在局部里面用
"""

def func11():
    a_11 =10
    print('外部',a_11)

    # python中函數(shù)中可以聲明函數(shù) 只能在函數(shù)中調(diào)用
    def func22():
        nonlocal  a_11
        a_11 = 100
        print('內(nèi)部',a_11)
        print('內(nèi)部函數(shù)')

    func22()
    print('外部', a_11)

func11()

輸出:

===
===
1233
===
3
外部 10
內(nèi)部 100
內(nèi)部函數(shù)
外部
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忘巧,一起剝皮案震驚了整個(gè)濱河市恒界,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袋坑,老刑警劉巖仗处,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異枣宫,居然都是意外死亡婆誓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門也颤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洋幻,“玉大人,你說我怎么就攤上這事翅娶∥牧簦” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵竭沫,是天一觀的道長(zhǎng)燥翅。 經(jīng)常有香客問我,道長(zhǎng)蜕提,這世上最難降的妖魔是什么森书? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上凛膏,老公的妹妹穿的比我還像新娘杨名。我一直安慰自己,他們只是感情好猖毫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布台谍。 她就那樣靜靜地躺著,像睡著了一般吁断。 火紅的嫁衣襯著肌膚如雪趁蕊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天胯府,我揣著相機(jī)與錄音介衔,去河邊找鬼。 笑死骂因,一個(gè)胖子當(dāng)著我的面吹牛炎咖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寒波,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乘盼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了俄烁?” 一聲冷哼從身側(cè)響起绸栅,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎页屠,沒想到半個(gè)月后粹胯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辰企,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年风纠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牢贸。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竹观,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出潜索,到底是詐尸還是另有隱情臭增,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布竹习,位于F島的核電站誊抛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏整陌。R本人自食惡果不足惜芍锚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一昔园、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧并炮,春花似錦、人聲如沸甥郑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澜搅。三九已至伍俘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勉躺,已是汗流浹背癌瘾。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饵溅,地道東北人妨退。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜕企,于是被迫代替她去往敵國(guó)和親咬荷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)轻掩,也就是一...
    悟名先生閱讀 4,149評(píng)論 0 13
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔幸乒,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡(jiǎn)書還為我保存起的...
    Jenaral閱讀 2,762評(píng)論 2 9
  • 2014年唇牧,禁不住對(duì)互聯(lián)網(wǎng)創(chuàng)業(yè)偉大夢(mèng)想的渴望罕扎,我蠢蠢欲動(dòng),毅然辭去了某打車軟件“中管”職位丐重,開始摸索著走上了創(chuàng)業(yè)...
    靳曉輝閱讀 201評(píng)論 0 1
  • 2018年弥臼,最HOT的詞就是區(qū)塊鏈了宴咧,繼“互聯(lián)網(wǎng)+”之后滔韵,“區(qū)塊鏈+”成為了一種新式流行元素硕蛹,因其發(fā)展前景...
    陌上花開區(qū)塊鏈閱讀 2,362評(píng)論 1 1
  • 早晨,閑來無事誉帅,慢慢悠悠地在街頭閑逛纳猪。不知不覺走了好久好久…… “今天又這么長(zhǎng)的隊(duì)氧卧,又得排好長(zhǎng)時(shí)間!”從我身旁跑過...
    漫漫魚慢慢游閱讀 239評(píng)論 4 1