ホームページ  >  記事  >  バックエンド開発  >  Pythonでselfを使用する方法

Pythonでselfを使用する方法

(*-*)浩
(*-*)浩オリジナル
2019-07-04 10:17:549110ブラウズ

self の使用法

Pythonでselfを使用する方法

1. Self はインスタンス自体 (Instance) を指します (推奨学習: Python ビデオ チュートリアル)

2. "self" という単語は相対的な用語で "other" を指すため、クラス、およびローカル変数やグローバル変数などの他の変数を指します。

ここでの self、それはオブジェクトです (オブジェクト)、現在のクラスのインスタンス。

Python に self がある理由

クラス コード (関数) では、現在のインスタンスの変数と関数にアクセスする必要があります。つまり、(インスタンス) インスタンスの

に対応する変数 (プロパティ): Instance.ProperyNam、以前の値と書き込まれた値を読み取ります

(2) 対応する関数を呼び出します: Instance.function()つまり、対応するアクションを実行するには

# 、インスタンスの変数にアクセスしてインスタンスの関数を呼び出す必要があります。もちろん、対応するインスタンスの Instance オブジェクト自体が必要です

Python では、関数の最初のパラメータはインスタンス オブジェクトそのものでなければならないと規定されており、その名前を self#

#! 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),也会报错
と記述することをお勧めします##rrreee

続きを読む Python 関連の技術記事については、

Python チュートリアル 列にアクセスして学習してください。

以上がPythonでselfを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。