Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie self in Python

So verwenden Sie self in Python

(*-*)浩
(*-*)浩Original
2019-07-04 10:17:549118Durchsuche

Verwendung von self

So verwenden Sie self in Python

1. Self bezieht sich auf die Instanz selbst (Instanz) (empfohlenes Lernen: Python-Video-Tutorial)

2. Da sich das Wort „selbst“ relativ auf „andere“ bezieht, bezieht es sich auf die Klasse und andere Variablen, wie z. B. lokale Variablen und globale Variablen

selbst hier, Es ist ein Objekt ( Object), eine Instanz der aktuellen Klasse.

Warum gibt es in Python ein Selbst?

Im Klassencode (Funktion) müssen Sie auf die Variablen und Funktionen in der aktuellen Instanz zugreifen, also zugreifen (Instanz) Die Variable (Eigenschaft), die

in der Instanz entspricht: Instance.ProperyNam, um den vorherigen Wert und den geschriebenen Wert

zu lesen (2) Rufen Sie die entsprechende Funktion auf: Instance.function( ), das heißt, um die entsprechende Aktion

auszuführen und auf die Variablen der Instanz zuzugreifen und die Funktion der Instanz aufzurufen, ist natürlich das entsprechende Instanzobjekt selbst erforderlich

In Python ist festgelegt, dass der erste Parameter der Funktion das Instanzobjekt selbst sein muss, und es wird empfohlen, seinen Namen als self zu schreiben

#! usr/bin/python3.7
# -*- coding:utf-8 -*-
"""
class Person(object):
    def __init__(self, name, lang, website):
        self.name = name
        self.lang = lang
        self.website = website
        print('self', self)
        print('type of self', type(self))

class Dog(object):
    def __init__(self, name, dog_type):
        self.name = name
        self.dog_type = dog_type
#   def sayhi():
#   print("hello I am dog, my name is ",self.name)
    def sayhi(self):
        print("hello ,I am dog, my name is ",self.name)

if __name__ == '__main__':
    p = Person('xiaoliang', 'hanyu', 'www.mutual-helper.com')
    d = Dog('Caty', 'Firce')
    """当程序运行时,会报错,takes 0 positional arguments but 1 was given
       这是因为这个函数不需要参数,但是函数却被传递了一个参数,可是我们调用sayhi()函数的时候,
       并没有写参数。为什么会出现这样的参数Error
        这是因为"每一个相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用__init__中的
        参数self会自动传递给sayhi(),而sayhi()在定义的时候没有形参,就会报错。
    """
    d.sayhi()

#   d.sayhi(self),也会报错

Mehr mit Python verwandt Für technische Artikel besuchen Sie bitte die Spalte Python-Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie self in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn