亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問有同學老師可以幫我解釋一下這行代碼嗎?純菜鳥看不懂。兩個參數,前面的參數是需要輸入的,不是必須要有的嗎?后面那個可以省掉的才是默認參數啊。為什么這個代碼只有一個參數呢?還有函數里面的那些代碼是什么意思啊

def greet(name='world'):

? ? print "Hello,%s." % name

greet()

greet('Bart')


正在回答

5 回答

自定義函數中,如果這個函數只需要一個參數的時候,就設置一個參數。如果需要兩個參數的時候,就設置兩個參數。

當設置參數的時候,就有可能會有默認參數,默認參數是為了輸入者省事。為了能夠明確的讓機器知道我們省略了哪個參數,就把默認參數作為所有參數中的最后一個出現。

題目中列的函數greet(),只需要一個參數,并且是默認參數。

沒有輸入參數值的時候,也就是調用greet(),這時候屬于未指定name值,函數將使用默認值,會輸出Hello,World

有參數值輸入時,也就是調用greet('Bart'),這時候就屬于指定了name值,函數將使用指定值,那么就會輸出Hello,Bart

您說的函數里的代碼是不是指的%s,%name這些?%s是一種字符串的輸出格式說明符,指的是這個位置是輸出字符串的,輸出的字符串就是name,所以%s后面跟了個%name。

0 回復 有任何疑惑可以回復我~

%s和%name是什么意思啊?

0 回復 有任何疑惑可以回復我~

因為這個函數只需要一個參數,這個參數可以有默認值,那它就是默認參數啊

0 回復 有任何疑惑可以回復我~

首先,對于這個函數而言,你可以不輸入參數,例如:

greet()

那么函數的輸出就是【默認輸出】,即:Hello, world

如果你想輸入一個參數,例如:

greet('Bart')

那么這個函數的輸出就是Hello, 【你輸入的參數】。

所以很明顯,定義函數的時候只需要定義一個參數,并且這個參數的默認值是‘world’.

? print "Hello,%s." % name

就是打印 Hello, [name]鴨

%s的位置就是name的值


2 回復 有任何疑惑可以回復我~

如果默認參數不是放在最后,是放在中間或者前面,試想一下,別人要怎么才能知道你省略了第幾個參數呢。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758397    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

請問有同學老師可以幫我解釋一下這行代碼嗎?純菜鳥看不懂。兩個參數,前面的參數是需要輸入的,不是必須要有的嗎?后面那個可以省掉的才是默認參數啊。為什么這個代碼只有一個參數呢?還有函數里面的那些代碼是什么意思啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號