Python隨筆9 函式

2022-09-03 14:27:12 字數 2288 閱讀 2274

函式就是乙個程式段,給乙個函式名、寫一些語句,然後就可以在任意地方使用這個函式任意次數,可以大大的降低工作量

函式的定義:

def 函式名(引數):

語句

def

printmyaddress(address):

print("

my address is %s

"%address)

printmyaddress("bj

") #

主程式呼叫函式

引數:分為形參和實參,所謂形參就是函式定義時的引數(形式上的引數不佔記憶體);

實參就是實際的引數,在呼叫函式時傳入的引數(佔記憶體),實參分為位置實參和關鍵字實參

位置實參就是在有多個形參時,傳入的實參按照順序一一對應,要保準實參的個數和形參個數一致,不然會報錯

關鍵字實參就是使用=,形參=實參的方式傳值,不需要管順序,只能給乙個形參賦一次值

兩種方式可以混合使用,但是位置實參必須在前面

引數可以有預設值,在呼叫函式時如果不給函式實參,那麼久使用預設值

當不確定需要傳入多少引數時,可以在形參定義時使用*(收集引數),*args(列表),**kwargs(字典)來表示

def function1(*args,**kwargs):

print

(args)

print

(kwargs)

function1(*[1,2,3,4,5],**)

結果:

(1, 2, 3, 4, 5)

返回值:

函式是不會直接輸出任何東西的,當它處理完資料之後會返回乙個值或一組值, 使用return可以給主程式返回函式執行的結果

def

info(name,address):

return name + "

"+address

print(info('

tom','

bj'))

結果:

tom bj

作用域:

變數分為區域性變數和全域性變數

區域性變數是在函式內部的,與函式外部無關(同名也無關),在函式執行時建立,函式執行之前或結束後不存在,python提供記憶體管理機制處理變數的**,變數生效的部分叫做變數的作用域

全域性變數是在主程式中定義的變數,python允許你使用它只要你不試圖修改它,如果函式的任意部分想要修改這個變數,那麼python會建立乙個區域性變數但不會修改全域性變數

def

calculatetax(price,tax_rate):

"taxtotal總**

"taxtotal = price *tax_rate

my_price = 100 #

函式內部修改my_price

print("

function inside my_price is :

",my_price) #

此處列印my_price為全域性變數

return

taxtotal

my_price = int(input("

enter a price:"))

totalprice = calculatetax(my_price,8)

print("

price =

",my_price,"

total price =

",totalprice)

print("

outside my_price is:

",my_price)

結果:

enter a price:5function inside my_price 

is : 100price = 5 total price = 40outside my_price

is: 5

命名規則:

1.模組名和包名採用小寫字母並且以下劃線分隔單詞的形式;

如:regex_syntax,py_compile,_winreg

2.類名或異常名採用每個單詞首字母大寫的方式;

如:baseserver,forkingmixin,keyboardinterrupt

3.全域性或者類常量,全部使用大寫字母,並且以下劃線分隔單詞;

如:max_load

4.其餘變數命名包括方法名,函式名,普通變數名則是採用全部小寫字母,並且以下劃線分隔單詞的形式命名。

如:my_thread

5.以上的內容如果是內部的,則使用下劃線開頭命名。

如:__init__,__new__

Python隨筆記(函式)

函式 在乙個完整的專案中,某些功能會反覆的使用,那麼會將功能封裝成函式,當我們要使用函式的時候直接呼叫函式就可以。本質 函式就是對功能的封裝 優點 1 簡化 結構,增加了 的復用 2 如果想修改某些功能,或者除錯某個bug,只需要修改對應的函式即可。定義函式 格式 def 函式名 引數列表 語句 r...

python隨筆8 定義函式

定義函式 下面是乙個簡單的函式 def greet user print hello greet user 首行 使用關鍵字def來告訴python你要定義乙個函式。這是函式定義,向python指出了函式名,還可能在括號內指出函式為完成其任務需要什麼樣的資訊。在這裡,函式名為greet user 它...

jvm隨筆9 鎖優化

1.自旋鎖 問題 掛起和恢復執行緒要轉入核心態中完成,許多應用,共享資料的鎖定狀態只會持續很短一段時間,為了這段時間去掛起和恢復執行緒並不值得。兩個或以上的執行緒並行執行時,可以讓後面請求鎖的那個執行緒等一下,但不放棄處理器的執行時間,看看持有鎖的執行緒是否很快就會釋放鎖。為了讓執行緒等待,只需讓執...