day9

前方高能---初識函數

一.? 什么是函數

  函數:對代碼塊和功能的封裝和定義.

二. 函數的定義,函數名,函數體,以及函數的調用

  def 函數名():

    函數體

  函數體:就是函數被執行之后要執行的代碼.

三, 函數的返回

  執行完函數之后,我們可以使用return來返回結果.

函數中return的使用:

  1.函數中遇到return,此函數結束,不在繼續執行.

def yue()print('打開手機')print('打開微博')print('進入闞清子和紀凌塵微博')returnprint('去留言,你喜歡大海,我愛過你.')     # 這句話不會被執行.
yue()

  2.給函數的調用者一個訪問結果.

def yue()print('拉拉')print('啥呀')return '噠噠噠'
girl = yue()
print(girl)    # 噠噠噠

  函數的返回值可以有多個結果

def yue():print('拉拉')print('啥呀')print('大大')return '脈動','巴啦啦'
girl = yue()
print(type(girl))    # tuple

  總結一下: 1.遇到return,此函數結束,函數后面的東西將不會再執行

       2. return返回值.

  關于返回值:

      如果return什么都不寫,或者干脆不寫return,那么返回的就是None

      如果return后面寫了一個值,則調用者可以接收一個結果.

      如果return后面寫了多個結果,則調用者可以接收一個tuple,調用者可以直接解構成多個變量.

四. 函數的參數

  參數,函數在調用的時候指定具體的一個變量的值,就是參數.

    語法:

def  函數名(參數列表):函數體

  關于參數:

  1, 形參

  寫在函數聲明的位置的變量叫形參,形式上的一個完整,表示這個函數需要xxx

  2, 實參

  在函數調用的時候給函數傳遞的值,叫實參,實際執行的時候給函數傳遞的信息,表示給函數xxx

  3, 傳參

  給函數傳遞信息的時候將實際參數交給形式參數的過程被稱為傳參.

def yue(chat):    # chat 形參print('笨蛋')print('哈哈哈')print('想喝',chat)print('cheer up')
yue('脈動')    # 實參

len('字符串')    # '字符串'在這里就是實參
print('麻花藤')    # '麻花藤'就是實參

?參數的分類:

  1,位置參數

def yue(chat,address,age):    # 形參print('拿出手機')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('噠噠噠')
yue('微信','北京',18)    # 實參

? 分析: 在訪問yue()的時候,我們按照位置的順序分別把'微信','北京',18,賦值給chat.address,age.在傳參過程中,系統會默認按照位置把實參賦值到形參.

練習: 編寫編程,給函數傳遞兩個參數a,b.比較啊,a,b的大小,返回a,b中最大的那個數.

答案:

def my_max(a,b):if a > b:return aelse:return b
#有點麻煩,我們在這里學一個三元運算符.
def my_max(a,b):c = a if a > b else b    # 當a>b成立返回a,否則返回breturn c

  2, 關鍵詞參數

def  yue(chat,address,age):print('哈哈哈')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('嘿嘿嘿')
yue(chat='微信',age=18,address='北京')    # 關鍵字參數

  3,可以把上面兩種參數混合著使用,也就是說在調用函數的時候可以給出位置參數,也可以指定關鍵詞參數.

# 函數參數
yue('微信',age=18,addreass='上海')    #正確.第一個位置賦值給chat,后面的參數開始指定關鍵字.

yue(age=18,'微信',addreass='廣州')    # 錯誤,最開始使用了關鍵字參數,那么后面的微信的位置就串了,容易出現混亂.

  注意: 在使用混合參數的時候,關鍵字參數必須在位置參數后面.

綜上: 在實參的角度來看,分為三種.

  1.位置參數

  2,關鍵字參數

  3, 混合參數,位置參數必須在關鍵字參數前面.

?

? 在形參角度看,一共分為三種,

  位置參數,按照位置來賦值,到目前為止,我們編寫的函數都是這種.

def  yue(chat,address,age):print('拿出手機')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('呃呃呃')

  默認值參數, 在函數聲明的時候,就可以給出函數參數的默認值,在調用的時候可以給出具體的值,也可以不給值,使用默認值.

def stu_info(name,age,sex=''):print('錄入學生信息')print(name,age,sex)print('錄入完畢')
stu_info('張強強',18)

 注意: 必須先聲明位置參數,才能聲明默認參數.

綜上: 在形參的角度來看.

  1.位置參數

  2.默認值參數(大多數傳進來的參數都是一樣的,一般用默認參數.)

轉載于:https://www.cnblogs.com/marry215464/p/9443473.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 數據庫索引

數據庫索引在數據庫中、索引使數據庫程序無須對整個表進行全表掃描就可以在其中找到所需的數據;數據庫中的索引是某個表中一列或者若干列值的集合、以及物理標識這些值的數據頁的邏輯指針清單;MySQL 索引的增刪查SQL 語句效率的分析索引的作用&#xff1…

ES6-17 class與對象

class 模擬類的方式語法糖(把以前的寫法換了一個方式) 類內部的方法是不可枚舉的 ES5用Object.assign拓展的原型屬性是可枚舉的 function Point(x, y) {this.x x;this.y y; } // 這樣定義的原型上方法eat\drink是可枚舉的 Point.prototype Object…

8.8 正睿暑期集訓營 Day5

目錄 2018.8.8 正睿暑期集訓營 Day5總結A 友誼巨輪(線段樹 動態開點)B 璀璨光滑C 構解巨樹考試代碼ABC2018.8.8 正睿暑期集訓營 Day5時間:3.5h(實際)期望得分:602020實際得分:202020 比賽鏈接這里也有一些 總結 線段樹!&#xff0…

算法 --- 二叉樹的最大深度

思路: 1.二叉樹的深度,等于Max(左子樹最大深度,右子樹最大深度) 1 2.節點不存在時,此時的深度為0 3.當節點存在,左右子樹不存在時(此時為葉子節點) 返回1 /*** Definition for a binary tree node.* function TreeNode(val) {* this.val val;* this.left this.righ…

ES6-18/19 異步的開端-promise

ES6-18異步的開端-promise ES6-19 promise的使用方法和自定義promisify try catch只能捕獲同步異常,不能捕獲異步的 等待所有異步都執行完,打印結果,比較笨拙的方法,在每個異步操作加arr.length 3 && show(arr) Promis…

leetcode35 C++ 4ms 搜索插入位置

class Solution { public:int searchInsert(vector<int>& nums, int target) {for(int i 0;i<nums.size();i){if(nums[i] > target){return i;}}return nums.size()-1;} }; 轉載于:https://www.cnblogs.com/theodoric008/p/9449049.html

OpenCV-Python 中文教程(搬運)目錄

OpenCV-Python 中文教程 OpenCV官方教程中文版&#xff08;For Python&#xff09; OpenCV2-Python-Tutorials 段力輝 譯 說明&#xff1a;搬運自linux公社pdf文件&#xff0c;粗略搬運&#xff0c;僅作個人筆記參考&#xff0c;有時間再美化 部分文件參考&#xff1a; https:/…

算法 --- 平衡二叉樹

解題思路: 1.首先寫一個返回深度的函數d 2.寫一個遍歷函數t 3.在t中首先判斷,r是否為空(為空則此時就是平衡二叉樹,返回true),然后判斷是否為葉子節點(r.left null && r.right null)若是則返回true,最后判斷,其左子樹的深度與右子樹的深度之差是否大于1.若是則返回fal…

【co】ES6-20/21 iterator與generator

ES6-20 iterator與generator ES6-21 async與await、ES6的模塊化 try catch不能捕獲異步異常 try catch是同步代碼 try {setTimeout(() > {console.log(a)}) } catch (e) {console.log(e) }iterator 內部迭代器&#xff1a;系統定義好的迭代器接口&#xff08;如數組Symbol…

嵌入式系統UBOOT

一個完整的嵌入式linux系統包含4部分內容&#xff1a;Bootloader、Parameters、Kernel、Root File System。3、4、5、6部分詳細介紹了這4部分的內容&#xff0c;這是Linux底層軟件開發人員應該掌握的。通過學習這些章節&#xff0c;您可以詳細了解到如何在一個裸板上裁減、移植…

驅動芯片

一 LED驅動芯片&#xff1a; 1.1 TM1640:16位數碼管驅動芯片&#xff0c;2線制控制&#xff08;CLK/DIN&#xff09;,SCLK低電平時DIN輸入&#xff0c;而SCLK高電平時保持DIN保持不變&#xff1b;開始傳輸&#xff1a;SCLKH時DIN由高變低&#xff0c;停止傳輸SCLKH時DIN由由低變…

jquery --- 控制元素的隱藏/顯示

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> </head> <body> <div id"panel"><h5 class"head">什么是jquery?</h5><div class"content" style"display:non…

confusion_matrix(混淆矩陣)

作者&#xff1a;十歲的小男孩 凡心所向&#xff0c;素履可往 目錄 監督學習—混淆矩陣 是什么&#xff1f;有什么用&#xff1f;怎么用&#xff1f; 非監督學習—匹配矩陣 混淆矩陣 矩陣每一列代表預測值&#xff0c;每一行代表的是實際的類別。這個名字來源于它可以非常容…

Python 21 Django 實用小案例1

實用案例 驗證碼與驗證 KindEditor 組合搜索的實現 單例模式 beautifulsoup4 驗證碼與驗證 需要安裝Pillow模塊 pip stall pillow1、首先需要借助pillow模塊用來畫一個驗證碼圖形&#xff0c;這里單獨封裝了一個py文件&#xff0c;調用一個方法就好了 1 #!/user/bin/env python…

jquery --- 事件處理函數的event對象的幾個屬性(方法)說明

1.event.type: 事件的類型 $(a).click(function(event) {alert(event.type);return false; // 阻止鏈接跳轉 }); // click2.event.preventDefault(): 阻止默認事件 $("#sub").bind("click", function(event) {var username $("#username").va…

數據恢復軟件

鏈接&#xff1a;https://pan.baidu.com/s/1n6x5vhW-3SY8MAvvnqVtog 密碼&#xff1a;thh0轉載于:https://www.cnblogs.com/huanu/p/9452039.html

VMware

1.VMware軟件安裝&#xff1a; https://jingyan.baidu.com/article/9f7e7ec09da5906f281554d6.html 2&#xff0c;鏡像文件下載地址&#xff1a;http://www.cnbeta.com/articles/tech/566773.htm 有圖形界面。 或是在官網&#xff1a;https://wiki.centos.org/Download 2.cento…

jquery --- 全選、全不選、反選、提交

注意:jquery 提供的$(’#id’).attr(‘checked’,true)方法,在某些情況下會失效… 因此,使用js原生的 .checked true方法 控制 // html <form>你愛好的運動是? <br/><input type"checkbox" name"items" value"足球" /> 足球…

【重要】ES6-23 JavaScript模塊化

前端js模塊化的演變發展 模塊化解決的問題 傳統模塊化、插件化 CommonJS AMD/CMD ES6模塊化 ES6以前 沒有js引擎 一開始js寫在html的script標簽里js內容增多&#xff0c;抽取出index.js文件&#xff0c;外部引入js再增加&#xff0c;index.html對應index.js index2.html對應ind…

Quartz.Net定時任務EF+MVC版的web服務

之前項目采用JAVA 的 Quartz 進行定時服調度務處理程序&#xff0c;目前在.NET下面使用依然可以完成相同的工作任務&#xff0c;其實什么語言不重要&#xff0c;關鍵是我們要學會利用語言實現價值。它是一個簡單的執行任務計劃的組件&#xff0c;基本包括這三部分&#xff1a;J…