python里的self用法-Python教程

资源魔 35 0
self的用法

1.本身 指的是实例自身(Instance)(保举学习:Python视频教程)

2.因为"本身"这个词,都是绝对而言的"其它"说的,指的是类class,以及其它变量,比方部分变量,全局变量

此处的self,是个工具(Object),是以后类的实例。

Python中为何要有self

正在类的代码(函数)中,需求拜访以后的实例中的变量以及函数的,即拜访(实例)Instance中的

对应的变量(属性,property):Instance.ProperyNam,去读取以前的值以及写入的值

(2)挪用对应的函数(function):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),也会报错

更多Python相干技巧文章,请拜访Python教程栏目进行学习!

以上就是python里的self用法的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题

抱歉,评论功能暂时关闭!