日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python基础学习——函数和方法的区别与联系

發(fā)布時間:2023/12/20 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础学习——函数和方法的区别与联系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下是綜合多家說法的個人理解總結,僅為做到理解它們的區(qū)別與聯(lián)系,不保證嚴謹

函數

  函數是封裝了一些獨立的功能,可以直接調用,python內置了許多函數,同時可以自建函數來使用。

  獨立的函數是函數(像 python3 里print()),類里封裝的一些可被直接使用或是被類直接調用的都可以叫做函數(如os.path.join(path, paths))。

方法

  方法是對象可調用的函數。

聯(lián)系

  方法是與對象緊密相連的函數。通常像下面這樣調用:

  object.method(arguments)

  所以,函數在面向不同角色的時候只是發(fā)生了身份的轉變,這對實現它的功能并沒什么影響。

?

用 python 內置函數驗證:

In [6]: from types import FunctionType, MethodType

In [7]: class Foo(object):
...: def func(self):
...: pass

In [8]: obj = Foo()

In [9]: obj.func()

In [11]: Foo.func(123)

In [12]: print(isinstance(obj.func,MethodType))
True

In [13]: print(isinstance(Foo.func,FunctionType))
True

或者用下面的方法驗證

  In [21]: type(obj.func)
  Out[21]: method

  In [22]: type(Foo.func)
  Out[22]: function

上面的例子很清晰的反映了函數與方法的區(qū)別與聯(lián)系。

?

補充一個概念,方便自己溫故。

關鍵字

  關鍵字是python內置的,具有特殊意義的標識符,自定義標識符命名時不可與之重復。可通過以下代碼查看python內置的關鍵字內容

  import keyword

  In [16]: print(keyword.kwlist)
  ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',?
  'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
  'try', 'while', 'with', 'yield']

?

PS:

驗證函數和方法舉例的時候,我使用類調用內置方法(這里把類作為函數的對象,所以我稱它為內置方法),當未提供參數時,出現如下報錯:

In [10]: Foo.func()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-9c47b1c912d3> in <module>()
----> 1 Foo.func()

TypeError: func() missing 1 required positional argument: 'self'

這里可引出“靜態(tài)方法”、“類方法”的概念,我在下一博文中總結了自己的理解。

?

本文參考了HYESC博主的文章

轉載于:https://www.cnblogs.com/nimo97/p/9723526.html

總結

以上是生活随笔為你收集整理的python基础学习——函数和方法的区别与联系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。