簡體   English   中英

Python中的函數定義

[英]Function definition in Python

我是Python的新手。 我試圖在類中定義並運行一個簡單的函數。

任何人都可以告訴我我的代碼有什么問題:

class A :
    def m1(name,age,address) :
        print('Name -->',name)
        print('Age -->',age)
        print('Address -->',address)


>>> a = A()
>>> a.m1('X',12,'XXXX')
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    a.m1('X',12,'XXXX')

我收到了以下錯誤
TypeError:m1()只需要3個位置參數(給定4個)

實例方法將實例作為第一個參數:

class A :
    def m1(self, name,age,address) :
        print('Name -->',name)
        print('Age -->',age)
        print('Address -->',address)

您還可以使用@staticmethod裝飾器來創建靜態函數:

class A :
    @staticmethod
    def m1(name,age,address) :
        print('Name -->',name)
        print('Age -->',age)
        print('Address -->',address)

按照慣例,類實例中的方法接收一個對象引用作為第一個參數,名為self

>>> class A:
...     def m1(self,name,age,address):
...         print('Name -->',name)
...         print('Age -->',age)
...         print('Address -->',address)
...         
>>> a=A()
>>> a.m1('X',12,'XXXX')
('Name -->', 'X')
('Age -->', 12)
('Address -->', 'XXXX')
>>> 

第一個參數始終是對象本身。

class A :
    def m1(self, name,age,address) :
        print('Name -->',name)
        print('Age -->',age)
        print('Address -->',address)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM