#python入門3#函數(shù)

  • 調(diào)用官方函數(shù)

函數(shù)參考 https://docs.python.org/3/library/functions.html#abs

  • 自定義函數(shù)
    def語句定義函數(shù)
  def my_abs(x):
      if x >= 0:
          return x
      else:
          return -x

在Python交互環(huán)境中定義函數(shù)時,注意Python會出現(xiàn)...的提示亏吝。函數(shù)定義結(jié)束后需要按兩次回車重新回到>>>提示符下

如果你已經(jīng)把my_abs()的函數(shù)定義保存為abstest.py文件了双揪,那么活喊,可以在該文件的當(dāng)前目錄下啟動Python解釋器瞬捕,用from abstest import my_abs來導(dǎo)入my_abs()函數(shù)险绘,注意abstest是文件名(不含.py擴(kuò)展名)

  • 空函數(shù)
    如果想定義一個什么事也不做的空函數(shù)暮刃,可以用pass語句
  def nop():
      pass

pass語句什么都不做翔试,那有什么用?實(shí)際上pass可以用來作為占位符蚁吝,比如現(xiàn)在還沒想好怎么寫函數(shù)的代碼旱爆,就可以先放一個pass舀射,讓代碼能運(yùn)行起來。

 # pass還可以用在其他語句里
if age >=18:
    pass
  • my_abs添加數(shù)據(jù)檢測怀伦,使用內(nèi)置函數(shù)isinstance()實(shí)現(xiàn)
  def my_abs(x):
      if not isinstance(x, (int, float)):
          raise TypeError('bad operand type')
      if x >=0:
          return x
      else:
          return -x

返回多個值

  import match
  def move(x, y, step, angle = 0):
      nx = x + step * math.cos(angle)
      ny = y - step * math.sin(angle)
      return nx, ny
#import math語句表示導(dǎo)入math包脆烟,并允許后續(xù)代碼引用math包里的sin、cos等函數(shù)
  >>> x, y = move(100, 100, 60, math.pi / 6)
  >>> print(x, y)
151.96152422706632 70.0

但其實(shí)這只是一種假象房待,Python函數(shù)返回的仍然是單一值

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

原來返回值是一個tuple邢羔!但是,在語法上桑孩,返回一個tuple可以省略括號拜鹤,而多個變量可以同時接收一個tuple,按位置賦給對應(yīng)的值流椒,所以敏簿,Python的函數(shù)返回多值其實(shí)就是返回一個tuple,但寫起來更方便

小結(jié):

  • 定義函數(shù)時宣虾,需要確定函數(shù)名和參數(shù)個數(shù)惯裕;
  • 如果有必要,可以先對參數(shù)的數(shù)據(jù)類型做檢查绣硝;
  • 函數(shù)體內(nèi)部可以用return隨時返回函數(shù)結(jié)果蜻势;
  • 函數(shù)執(zhí)行完畢也沒有return語句時,自動return None鹉胖。
  • 函數(shù)可以同時返回多個值握玛,但其實(shí)就是一個tuple。
學(xué)習(xí)來源于廖雪峰教程
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末次员,一起剝皮案震驚了整個濱河市败许,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淑蔚,老刑警劉巖市殷,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異刹衫,居然都是意外死亡醋寝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門带迟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來音羞,“玉大人,你說我怎么就攤上這事仓犬⌒岽拢” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窘面。 經(jīng)常有香客問我翠语,道長,這世上最難降的妖魔是什么财边? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任肌括,我火速辦了婚禮,結(jié)果婚禮上酣难,老公的妹妹穿的比我還像新娘谍夭。我一直安慰自己,他們只是感情好憨募,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布紧索。 她就那樣靜靜地躺著,像睡著了一般菜谣。 火紅的嫁衣襯著肌膚如雪齐板。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天葛菇,我揣著相機(jī)與錄音,去河邊找鬼橡羞。 笑死眯停,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卿泽。 我是一名探鬼主播莺债,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼签夭!你這毒婦竟也來了齐邦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤第租,失蹤者是張志新(化名)和其女友劉穎措拇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慎宾,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丐吓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了趟据。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片券犁。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汹碱,靈堂內(nèi)的尸體忽然破棺而出粘衬,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布稚新,位于F島的核電站勘伺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏枷莉。R本人自食惡果不足惜娇昙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笤妙。 院中可真熱鬧冒掌,春花似錦、人聲如沸蹲盘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽召衔。三九已至铃诬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苍凛,已是汗流浹背趣席。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留醇蝴,地道東北人宣肚。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像悠栓,于是被迫代替她去往敵國和親霉涨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容