標題目錄
- 一、Python函式是什么
- 二、Python函式定義
- 三、Python函式使用
- 四、Python代碼執行程序
- 五、Python基本資料型別
- 六、Python變數在記憶體中的存盤
- 七、可變資料型別和不可變資料型別
- 八、最后
一、Python函式是什么
函式是組織好的,可重復使用的,用來實作單一,或相關聯功能的代碼段,
函式能提高應用的模塊性,和代碼的重復利用率,你已經知道Python提供了許多內建函式,比如print(),但你也可以自己創建函式,這被叫做用戶自定義函式,
二、Python函式定義
定義一個由自己想要功能的函式,以下是規則:
1、函式代碼塊以 def 關鍵詞開頭,后接函式識別符號名稱和圓括號 (),
2、任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用于定義引數,
3、函式的第一行陳述句可以選擇性地使用檔案字串—用于存放函式說明,
4、函式內容以冒號起始,并且縮進,
5、return [運算式] 結束函式,選擇性地回傳一個值給呼叫方,不帶運算式的return相當于回傳 None,
三、Python函式使用
1、python中定義函式所用的關鍵字是def, def 函式名() : 冒號代替其他編程語言的大括號,然后換行縮進寫的代碼就是函式體,( ```是檔案注釋)
def demo01():
'''
列印一個簡單的函式
'''
print("Hello!")
demo01()
2、函式也可以嵌套,
def demo02(name):
def demo03(name):
print('字母:' + name)
demo03(name)
demo02('A')
3、python當中允許給函式的形參設定一個默認值,不傳引數呼叫的話,就會使用默認值,
def welcome(name = 'A'):
print("Hello !" + name)
welcome("B")
welcome()
列印:
Hello !B
Hello !A
4、關鍵字引數讓你可以不需要考慮函式的引數位置,只要以鍵值對形式指定引數的對應形參,
def welcome(name,address):
print("你好 {name} , 歡迎來到 {address} !")
welcome(address='這里',name='aaa')
5、有時需要允許用戶提供任意數量的引數,函式的形參可以帶個星號來接收,不管呼叫函式的時候傳遞了多少實參,都將被收集到形參這個變數當中,形參的型別是元組,
def welcome(*names):
print(names)
welcome('aaa','bbb','ccc','ddd')
還有一種就是帶兩個星號的形參,用于接收鍵值對形式的實參,匯入到函式中的型別是字典,
def welcome(**names):
print(names)
welcome(name='aaa',age=20,sex='男')
6、分配引數是收集引數的相反操作,可使得一個元組或字典變數自動分配給函式中的形參,
def welcome(name,address):
print(f"你好 {name} , 歡迎來到 {address} !")
a = ('aaa','這里')
welcome(*a)
7、所有的函式都是有回傳值的,如果沒有指定回傳值,那么默認會回傳None,對應其他語言中的null,
8、匿名函式,區別與正常函式定義的流程,可以直接定義一個簡單的函式并把函式本身賦值給一個變數,使得這個變數可以像函式一樣被呼叫,在python中可以用lambda關鍵字來申明定義一個匿名函式,
四、Python代碼執行程序
原始碼編譯為位元組碼(.pyc) ——> Python虛擬機 ——> 執行編譯好的位元組碼 ——> Python虛擬機將位元組碼翻譯成相對應的機器指令(機器碼),
程式運行時,先編譯位元組碼并保存到記憶體中,當程式運行結束后,Python解釋器將記憶體中的位元組碼物件寫到.pyc檔案中,
第二次運行時,先從硬碟中尋找.pyc檔案,如果找到,就直接載入,否則再次執行上面的程序,
五、Python基本資料型別
Python常用資料型別:整型(int)、浮點型(float)、字串(string)、空值(None)、布林值(True和False)、復數、類、函式等,
Python中常量的命名規則,變數名全大寫為常量,變數的命名遵循識別符號的命名規則,
六、Python變數在記憶體中的存盤
物件:創建資料物件時,記憶體中會保存物件的值,這個值就是物件自己;
參考:物件保存在記憶體空間,外部想要使用物件的值,就需要使用參考來操作物件,當物件的參考為0時,物件會被回收,
七、可變資料型別和不可變資料型別
1、可變資料物件:串列(list)和字典(dict)
2、不可變資料物件:整型(int)、浮點型(float)、字串(string)和元組型別(tuple)
不可變資料型別:物件本身的值不可變,如果改變了變數的值,相當于新建了一個物件,而對于相同值的物件,在記憶體中只有一個物件,
可變資料型別:允許變數的值進行改變,對于變數給值的程序中,只是改變了變數的值,而不會新建一個物件,所以可變資料型別的意思就是說對一個變數進行操作時,其值是可變的,值的變化并不會引起新建物件,即地址是不會變的,只是地址中的內容變化了或者地址得到了擴充,,不過對于相同的值的不同物件,在記憶體中則會存在不同的物件,即每個物件都有自己的地址,相當于記憶體中對于同值的物件保存了多份,這里不存在參考計數,是實實在在的物件,
八、最后
作為自學過的人,我深深體會過沒人帶,沒人問的感覺,所以我想把自己所學、實際作業中使用的技術、自學方法、心得、踩過的一些坑以及面試題都分享出來,群175317069,已經有很多同行加入群里,平時會交流一些技術問題,也可以互相介紹好的作業機會,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/16215.html
標籤:其他
上一篇:UnitTest的基本概念與原理
