python ---------函數

來源:互聯網
上載者:User

標籤:變數   form   組合   代碼   username   close   print   pen   --   

一、為什麼要使用函數?

  因為如果沒有函數我們平時的代碼就會有很多重複

  避免代碼重用

  提升代碼的可讀性

二、函數的定義與調用:

  

1def  函數名(參數1,參數2)

    ‘‘‘ 函數注釋‘‘‘

    print(‘函數體‘)

    return 傳回值

函數就是封裝一個功能

定義:

  def 關鍵字開頭,空格之後接函數名和圓括弧,最後加一個冒號

  def是固定的不能改變

函數名的定義和變數一樣 :數字字母底線 任意組合 ,不能是數字開頭  不能是關鍵字  要具有可描述性

函數的調用

傳回值=函數名(參數1,參數2)#記得函數名後面加括弧

下面我們先來定義一個求計算字串長度的函數。假如我們的len()函數現在不能用了,那麼我們就需要定義一個函數,求字串的長度。如果讓我們一次一次的去寫相同的代碼,會顯得很麻煩。這時候我們的函數就上場了。

def length():    s= ‘hello world‘    length = 0    for i in s :        length +=1    print(length)print(length())    #因為沒有傳回值你列印最後會顯示一個nulldef length():    s= ‘bjbbabjsaofsa‘    num = 0    for i in s:        num +=1    return num   m = length()print(m)# print(length())#return的時候你可以定義一個變數來接收 也可以不接收直接列印 但是如果print就不可以 但是一般最好不要在函數中寫print太lowle 
View Code函數的傳回值:

定義函數一般不要在函數中寫print

return

1、在函數中遇到return就結束函數

2、將值返還給函數的調用者

  無return

    return None

  return一個值該值是什麼就返還什麼

大家看一下對與函數中只能存在一個return 因為第一個碰到return就把函數結束了

>>> def func(a, b ,c):    return a    return b>>> print(func(3, 7, 8))3     #只返回第一個return的3  因為碰到第一個return就把函數結束了 其他的return 存在的沒有意義了>>> 

 

 

  

函數的傳遞參數:

  兩個方面:

  實參角度:

  1形式參數和實際參數

  

def my_len(a): #這個a就是形式參數 用來接收實際參數的    return lprint(my_len(3))  #實際參數 實實在在存在的
View Code

 

  2位置傳參 一  一對應

  

def func(a, b ,c):    return a, b, cprint(func(2, 3,700))   #一一對應並且是當作一個元組列印出來

  3、混合傳參----->關鍵字永遠在最後面

  

def func(a, b=30 ,c): #形式參數和實際參數的一樣都是直接賦值的要放在最後不然會報錯,這個你看b直接賦值了但是放在了中間就報錯    return a, b, c,print(func(2, 3,b=700))

 

  

def func(a, c ,b=40):    return a, b, c  #這個就是對的  就是全部都放在後面print(func(2, 3,b=700))

如果你return的好幾個值都在一起return那麼最後的傳回值顯示出來就在一個元組內

 

 

 

預設傳參:

def Info(username,sex=‘男‘):  #定義一個預設參數  sex    with open(‘one‘,encoding= ‘UTF-8‘,mode = ‘a‘)as f :  #a就是追加內容        f.write(‘{}\t{}\n‘.format(username,sex))while True :    username= input(‘輸入您的姓名:(男生為1開頭)‘).strip()    if ‘1‘ in username :        username =username[1:]        Info(username)    else :        Info(username,sex=‘女‘)
View Code

 

python ---------函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.