您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在Python中調用自定義函數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、函數的定義及其應用
所謂函數,就是把具有獨立功能的代碼塊組織成為一個小模塊,在需要的時候調用函數的使用包含兩個步驟
1.定義函數–封裝獨立的功能
2.調用函數–享受封裝的成果
函數的作用:在開發時,使用函數可以提高編寫的效率以及代碼的重用‘'
函數:
函數是帶名字的代碼塊,用于完成具體的工作
需要在程序中多次執行同一項任務時,你無需反復編寫完成該任務的代碼,而只需調用該任務的函數,讓python運行其中的代碼,你將發現,通過使用函數,程序編寫,閱讀,測試和修復都將更容易
1.定義函數
def 函數名():
函數封裝的代碼
1.def是英文define的縮寫
2.函數名稱應該能夠表達函數封裝代碼的功能,方便后續的調用
3.函數名稱的命名應該符合標識符的命名規則
可由字母,下劃線和數字組成
不能以數字開頭
不能與關鍵字重名
參數的作用
函數,把具有獨立功能的代碼塊組織成為一個小模塊,在需要的時候調用函數的參數,增加函數的通用性,針對相同的數據處理邏輯,能夠適應更多的數據
1.在函數內部,把參數當作變量使用,進行需要的數據處理
2.函數調用時,按照函數定義的參數順序,把希望在函數內部處理的數據,通過參數傳遞
形參和實參
形參:定義函數時,小括號中的參數,是用來接收參數用的,在函數內部作為變量使用
實參:調用函數時,小括號中的參數,是用來把數據傳遞到函數內部用的
函數的返回值
在程序開發中,有時候,會希望一個函數執行結束后(舉例子:溫度計函數,要返回給我>們當前的溫度),告訴調用者一個結果,以便調用者針對具體的結果作出后續的處理
返回值是函數完成工作后,最后給調用者的一個結果
在函數中使用return關鍵字可以返回結果
調用函數一方,可以使用變量來接收函數的返回結果
局部變量和全局變量
局部變量是在函數內部定義的變量,只能在函數內部使用
全局變量是在函數外部定義的變量,(沒有定義在某一個函數內),所有函數內部都可以使用這個變量
局部變量
局部變量是在函數內部定義的變量,只能在函數內部使用
函數執行結束后,函數內部的局部變量,會被系統回收
不同的函數,可以定義相同的名字的局部變量,但是各用各的不會產生影響
局部變量的作用
在函數內部使用,臨時保存函數內部需要使用的數據
變量進階
目標
變量的引用
可變和不可變類型
局部變量和全局變量
變量的引用
變量和數據都是保存在內存中的
在python中函數的參數傳遞以及返回值都是靠引用傳遞的
引用的概念
在python中
變量和數據是分開存儲的
數據保存在內存中的一個位置
變量中保存的是數據在內存中的地址
變量中記錄數據的地址,就叫做引用
使用id()函數可以查看變量中保存數據所在內存的地址
二、函數的跨文件調用
模塊文件:每一個python源文件都可以是一個模塊文件,可以在一個python文件中定義函數或者變量,然后在另一個函數使用import filename導入這個模塊,導入之后,可以使用模塊名.變量或者模塊名.函數的方式使用這個模塊文件的函數和變量
首先定義一個函數
# 1.定義一個函數,能夠打印*組成的一條分隔線 def print_line(): print '*' * 50 print_line() # 2.定義一個函數能夠打印由任意字符串組成的分割線 def print_line(char): print char * 50 print_line('&') # 3.定義一個函數能夠打印任意重復次數的分隔線 def print_line(char,times): print char * times print_line('%',20) # 4.定義一個函數能夠打印五行分隔線, # 分隔線要求符合需求3 # def print_line(char,times): # print char * times def print_lines(char,times): """打印多行分隔線 :param char: 分隔線使用的分隔字符 :param times: 分隔線重復的次數 """ row = 0 while row < 5: print_line(char,times) row += 1 print_lines('!',70)
模塊文件:每一個python源文件都可以是一個模塊文件 可以在一個python文件中定義函數或者變量 然后在另一個文件中使用 import filename 導入這個模塊 導入之后,就可以使用 模塊名.變量/模塊名.函數的方式, 使用這個模塊中定義的函數和變量
import func_04 import fun_01 print func_04.name func_04.print_lines('*',80) result = fun_01.sum_2_sum(3,6) print result
2.模塊的調用
1.
test1文件中 title = '模塊1' # 函數 def demo1(): print '今天學習%s' %title # 類 class Cat(object): pass title = '模塊2' test2文件中 # 函數 def demo1(): print '今天學習%s' %title # 類 class Dog(object): pass
import test1 import test2 test1.demo1() test2.demo1() cat = test1.Cat() print cat dog = test2.Dog() print dog
使用as指定模塊的別名(大駝峰命名法)
from test1 import Cat # 如果重名的話,則第二個導入的覆蓋同名的第一個 from test1 import demo1 as test_demo1 from test2 import demo1 cat = Cat() print cat test_demo1() demo1()
2.python的解釋器在導入模塊的時候,會:
1.搜索當前目錄指定的模塊文件,如果有就直接導入
2.如果沒有,再搜索系統目錄
注意:在開發時,給文件起名,不要和系統模塊文件重名
所以在導入文件時,不能起和系統文件重名的名字,例如下例的random
import random ran = random.randint(1,10) print ran
3.name屬性
功能:測試模塊的的代碼只在測試情況下被運行,而在導入時不會被運行
name時python的一個內置屬性,記錄這一個字符串
被其他文件導入時,name就是模塊名
如果是當前執行的程序name就是main
def wn(): print '今天是個好日子' if __name__ == '__main__': print __name__ print '模塊的引用'
調用函數 import test wn = test.wn() print wn
上述就是小編為大家分享的怎么在Python中調用自定義函數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。