java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...
不想做一個待宰的羔羊!!!!要自己變得強大。。。。
函數的定義和使用放在最前邊還是有原因的,現在語言趨于通用,基本類型基本都是那些,重點還是學習對象的使用方法,而最根本的還是方法的使用,因此優先介紹,方法的目的還是重用和封裝
一、方法的定義
方法的定義使用關鍵詞def來定義,定義格式如下:
def方法名(參數定義):
方法體
方法名:方法名的規范同變量名規范一樣
參數定義:比較復雜,后面會進行講解
冒號:這個類似于Java的{},必不可少
方法體:方法實現的功能在此定義即可
簡單的例子:
#定義sayHello
defsayHello():print('hello yiwangzhibujian')#調用方法
sayHello()
基本用法還是很簡單的,深入起來也不難。
二、方法的返回值
返回值的關鍵字使用return,一般來說,所有的方法都是有返回值的,如果方法沒有使用return,那么Python會在代碼結束的時候自動添加:return None
返回值的用法和Java語言一樣,用來返回結果或者提前結束方法,但是也有一些不一樣的地方
2.1 返回多個結果
這是一個比較特殊的功能,可以返回多個值,實際上返回的是一個tuple,返回值的使用方法和tuple的使用方法是一樣的,簡單例子如下:
defreturnMulti():return 1,2,3result=returnMulti()print(result)print(isinstance(result, tuple))========控制臺輸出========(1, 2, 3)
True
所以定義函數的時候寫好注釋,讓使用者明確知道返回值的類型。
2.2 返回函數
除了能夠返回數值以后,還能返回一個函數,因為函數也是一個變量。感覺和js一模一樣。
三、方法的參數
方法參數的情況就比較多了,除了基本用法以外,其他的也需要好好掌握。
3.1 方法的重載
因為參數沒有了類型,所以Python的函數的重載不能靠參數類型了,而只能靠參數的個數,這一點還是比較頭疼的,類型需要在方法體內進行判斷。
3.2 參數默認值
當需要傳入多個參數的時候,如果有的參數的值使用頻率非常高,可以把這個值設置為默認值,這樣方便使用。
比如說字符串轉換數字的全局函數:int()
一個參數的定義:int(x=0)
兩個參數的定義:int(x, base=10)
當只有一個參數的時候,即便不輸入,也有一個默認值為0:
print(int())print(int(0))print(int('0'))
因此上面三個輸出均為0。
當然一般的字符串轉數字都是十進制,所以把10當做默認的進制,當然如果需要轉換二進制,也是可以設置參數的,這就需要主動設置了:
print(int('10'))print(int('10',base=10))print(int('10',base=2))=========控制臺輸出=========
10
10
2
這就是默認值的基本用法,但有一點要注意的,默認參數默認值必須放在普通參數后面。
3.3 可變參數
可變參數和Java的可變參數是一樣的,用來代表同一處理方式的數量不確定的參數,只是表現形式不一樣,下面示例方法打印實際傳入方法的參數,具體實現可以根據實際情況來:
def see(*nums):print(nums)print(isinstance(nums, tuple))
see(1,2,3)=========控制臺輸出=========(1, 2, 3)
True
由此可知,可變參數實際上是以tuple的形式傳入方法內部的。使用可變參數也要注意以下事項:
一個方法只能有一個可變參數
可變參數必須放在默認參數的后面
3.4 關鍵字參數
可變參數還是有它的缺點的,就是只能是同一種元素的多個值,用在不需要區分每個值類型的情況下才能使用,但是當需要區分的時候則需要使用關鍵字參數,可以連同這個參數的名稱一起傳進來:
def see(**keyvalue):print(keyvalue)print(isinstance(keyvalue, dict))
see(a=1,b=2,c=3)=======控制臺輸出======={'a': 1, 'b': 2, 'c': 3}
True
可以發現,實際上Python把關鍵字參數封裝成一個dict并傳入到方法內,這樣拿到它后就可以進行使用,至于用法等你有這個需求的時候就可以使用了。
關鍵字參數的輸入也是可以加以限制的,使用*分割,后面的即是限定的輸入名稱:
def info(name,age,*,country,city):print(name,age,country,city)
info('yiwangzhibujian',27,country='Chine',city='BeiJing')=========控制臺輸出===========yiwangzhibujian27 Chine BeiJing
當然如果關鍵字參數指定需要的參數值,但是卻沒有輸入的時候,還是會報錯的,因此也是可以給關鍵字參數加上默認值的:
def info(name,age,*,country=’China',city):
print(name,age,country,city)
如果函數定義中已經有了一個可變參數,后面跟著的命名關鍵字參數就不再需要一個特殊分隔符*了,例如:
def person(name, age, *favoNum, country, city):print(name, age, favoNum, country, city)
掌握以上基本用法就可以了。
3.5 各種類型參數的混用
參數類型多了,怎么使用就很頭痛,順序錯了還不行。順序如下:普通參數、默認參數、可變參數、關鍵字參數。
四、函數的其他應用
4.1 空函數
當我們定義了一個參數時,如果還沒有想好怎么實現,空著的話是會報錯的,這時候可以使用pass來表示空著的函數:
defme():pass
這樣的話運行就不會報錯了,等以后想好實現再來補充。
4.2 參數類型檢查
因為Python不是強類型語言,所以參數的類型是不能確定的,可是當我們在參數類型不確定的情況下去假定它的類型并使用它,就會發生異常,因此對傳入參數進行類型檢查就是有必要的,當傳入錯誤的參數可以進行有效的提醒,參數類型檢查使用前面講過的全局函數isinstance()即可,函數具體使用方法詳見:Java程序員學習Python(四)— 內置方法和內置變量中isinstance()的介紹。
4.3 傳入函數
既然前面說過函數也是一個對象,那么Python也是允許傳入一個方法的。例如定義一個判斷方法:
def judge(fun,*num):returnfun(num)print(judge(max,1,2,3))print(judge(min,1,2,3))==========控制臺輸出===========
3
1
這樣就根據傳入的方法來獲取指定的數字,當然參數類型檢查還是有必要的,不然對一個不是函數的參數調用方法肯定是會報錯的。
4.4 文檔中方法的描述形式
學習Python的過程中還是要經常看文檔的,關于文檔中對函數的描述簡單介紹下,首先你要掌握上面的幾種參數類型,這是基本的要求。還有就是對中括號的理解:
例如:str.endswith(suffix[, start[, end]]),中括號代表參數可選擇輸入,不是必填項,當然可選擇也代表著有默認值,注意查看函數的定義,也就是說,這個函數可以如此輸入:
str.endswith(suffix)
str.endswith(suffix, start)
str.endswith(suffix, start, end)
這個了解即可,實際定義函數的時候不能這么定義。
4.5 對函數的深層理解
函數也是一個對象和js類似,方法名只是指向函數對象的一個引用,這種特性會有以下效果:
print(abs(-1))
abs2=absprint(abs2(-1))
這個只是基本理解,后續學習后的理解會再來補充。。
總結
以上是生活随笔為你收集整理的java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java怎么用doss窗口_GitHub
- 下一篇: java.lang.StackOverf