day9-函數基礎

函數基礎

1.什么是函數

函數就是對實習某一特定功能的代碼的封裝

2.函數的分類

系統(tǒng)函數:系統(tǒng)自己定義的函數(不需要程序去實現(xiàn))
自定義函數:需要自己編碼的函數

3.聲明函數

1)語法
def 函數名(參數列表):
函數體

2)說明
def - 聲明函數的關鍵字
函數名 - 是標識符编矾,不能是關鍵字
PEP8命名規(guī)范(所有字母小寫擅耽,多個單詞用下劃線隔開)错英;
見名只義,根據名字大概能直到函數的功能
() - 固定寫法
參數列表 - 這兒的參數又叫形參号醉,以’變量名1,變量名2夫否,···‘的形式出現(xiàn)
形參可以沒有挥萌,也可以有多個
將函數外面的數據傳遞到函數里面
函數體 - 實現(xiàn)函數功能的一條或者多條語句

3)初學者聲明函數的過程
a.確定函數功能
b.根據功能確定函數名
c.確定形參:看實現(xiàn)函數的功能需不需要從函數外面?zhèn)鲾祿枰獢祿蛯粋€參數
d.實現(xiàn)的函數的功能
e.確定返回值

!!!!注意:聲明函數的時候不會執(zhí)行函數體亡问!調用函數的時候才會執(zhí)行函數體

4.函數的調用

調用函數就是使用函數
1)語法
函數名(實參列表)

2)說明
函數名 - 已經聲明過的函數的函數名
() - 固定寫法
實參列表 - 實參是給形參賦值的官紫;實參是具體的值,比如:數據州藕,已經賦值過的變量束世,運算表達式(不能是賦值語句)···

3)調用過程
第一步:回到函數聲明的位置
第二步:傳參;用實參給形參賦值
第三步:執(zhí)行函數體
第四步:執(zhí)行完函數體床玻,回到函數調用的位置

練習1:求三個數的最大值
練習2:寫一個函數判斷一個字符串中有中文字符
練習3:寫一個函數實現(xiàn)將一個數據插入到列表的最前面

def num_max(num1, num2, num3):
    if num1 > num2 and num1 > num3:
        print(num1)
    elif num2 > num1 and num2 > num3:
        print(num2)
    else:
        print(num3)

num_max(1, 3, 67)
def chinese_in_string(string):
    for character in string:
        if '\u4e00' <= character <= '\u9fa5':
            print('is')
            break
    else:
        print('no')

chinese_in_string('abase我wre')
def insert_front(list1, item):
    list1.insert(0, item)

nums = [12, 45]
insert_front(nums, 234)
print(nums)

函數的參數

1.位置參數和關鍵字參數(實參)

1)位置參數:調用函數的時候毁涉,讓實參和形參的位置一一對應
2)關鍵字參數:調用函數的時候,以‘形參=實參’的形式傳參锈死;位置可以亂
注意:1.不管使用哪種方式傳參贫堰,要保證每個參數都有值**
2.如果既有位置參數和關鍵字參數穆壕,位置參數一定要放在關鍵字參數的前面**

2.參數默認值(形參)
聲明函數的時候可以給參數設置默認值,以‘形參=值’的方式來設置
設置了默認值的參數在調用函數的時候可以不用傳參
如果有的參數有默認值其屏,有的參數沒有默認值喇勋,有默認值的參數必須放置沒有默認值參數的后面

def func2(x=10, y=49, z=10):
    print('x:%s y:%s z:%s' % (x, y, z))

func2(23, 45, 100)
func2(z=399)

3.參數類型說明

1)賦默認值
2)以‘形參:類型名’的方式說明類型
對參數類型進行說明可以引導函數調用正確的傳參,也可以讓實現(xiàn)函數體的時候有代碼提示

def func4(x: list, y: str, z=0):
print(x, y, z)

4.不定長參數

1)
聲明函數的時候在參數前加偎行,那么這個參數就變成不定長參數川背,可以同時接收多個實參
(不定長參數的實質就是一個元組,接收到的實參就是元組中的元素)
帶一個
的不定長參數蛤袒,調用的時候需要使用位置參數

2)
聲明函數的時候熄云,在參數前面加**,那么這個參數就會變成不定長參數妙真,就可以同時接收多個參數
(這個不定長參數的實質是一個字典皱碘,調用的時候就必須使用關鍵字參數)

注意:參數中帶的參數需要放在不帶的 參數的后面**
帶一個的需要放在帶兩個的前面**

def func11(**x):
    print(x)

func11(a=1, b=2, c=5)

def func(*arg, **kwrgs):
    print(arg, kwrgs)

func(2, b=5, c=0)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市隐孽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌健蕊,老刑警劉巖菱阵,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缩功,居然都是意外死亡晴及,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門嫡锌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虑稼,“玉大人,你說我怎么就攤上這事势木≈刖耄” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵啦桌,是天一觀的道長溯壶。 經常有香客問我,道長甫男,這世上最難降的妖魔是什么且改? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮板驳,結果婚禮上又跛,老公的妹妹穿的比我還像新娘。我一直安慰自己若治,他們只是感情好慨蓝,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布感混。 她就那樣靜靜地躺著,像睡著了一般菌仁。 火紅的嫁衣襯著肌膚如雪浩习。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天济丘,我揣著相機與錄音谱秽,去河邊找鬼。 笑死摹迷,一個胖子當著我的面吹牛疟赊,可吹牛的內容都是我干的。 我是一名探鬼主播峡碉,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼近哟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鲫寄?” 一聲冷哼從身側響起吉执,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎地来,沒想到半個月后戳玫,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡未斑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年咕宿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜡秽。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡府阀,死狀恐怖,靈堂內的尸體忽然破棺而出芽突,到底是詐尸還是另有隱情试浙,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布寞蚌,位于F島的核電站川队,受9級特大地震影響,放射性物質發(fā)生泄漏睬澡。R本人自食惡果不足惜固额,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煞聪。 院中可真熱鬧斗躏,春花似錦、人聲如沸昔脯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至隧饼,卻和暖如春沈堡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背燕雁。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工诞丽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拐格。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓僧免,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捏浊。 傳聞我的和親對象是個殘疾皇子懂衩,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內容

  • 一、函數基礎 1.什么是函數 函數就是對實現(xiàn)某一特定功能的代碼段的封裝 2.函數的分類 系統(tǒng)函數: 系統(tǒng)已經給我們...
    星龍斷月閱讀 199評論 0 0
  • 一金踪、函數浊洞、字典、列表集合的區(qū)別 列表胡岔,字典法希,元祖,集合"""列表(list): []姐军;可變,有序尖淘;元素是任何類型的...
    大漠判官1閱讀 206評論 0 0
  • 01-淺拷貝和深拷貝 import copycopy.copy(對象):淺拷貝copy.deepcopy(對象):...
    佐手牽鼬手_89a9閱讀 170評論 0 0
  • 一奕锌、復習 1. 列表 1)數據: [元素1, 元素2, 元素3,...] -- 元素是任何類型的數據 ...
    火星人_ef5b閱讀 87評論 0 0
  • 一、淺拷貝和深拷貝 import copycopy.copy(對象):淺拷貝copy.deepcopy(對象):深...
    xdxh閱讀 172評論 0 0