在Python中self的用途是什么?

举报
Yuchuan 发表于 2020/12/15 09:46:52 2020/12/15
【摘要】 在Python中self的用途的学习

如果您使用的是Python,那么“自我”一词是无法逃避的。它用于方法定义和变量初始化中。每次定义方法时,都会显式使用self方法。在本文中,我们将按以下顺序深入了解Python的自我:

Self在Python中的用途是什么?

该self用来表示该类的实例。使用此关键字,您可以在python中访问类的属性和方法。它将属性与给定参数绑定在一起。我们使用self的原因是Python不使用'@'语法来引用实例属性。在Python中,我们有一些使实例自动传递但不会自动接收的方法。

例:

class food():
 
# init method or constructor
def __init__(self, fruit, color):
self.fruit = fruit
self.color = color
 
def show(self):
print("fruit is", self.fruit)
print("color is", self.color )
 
apple = food("apple", "red")
grapes = food("grapes", "green")
 
apple.show()
grapes.show()

Output:

Fruit is apple
color is red
Fruit is grapes
color is green

Python类自构造函数

self也用于引用类中的变量字段。让我们来看一个例子,看看它是如何工作的:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

在上面的示例中,self引用整个Person类的名称变量。在这里,如果我们在方法中有一个变量,那么self将不起作用。该变量仅在该方法运行时才存在,因此是该方法的局部变量。为了定义全局字段或完整类的变量,我们需要在类方法之外定义它们。

自我是关键字吗?

自我在不同的地方使用,通常被认为是关键词。但是与C ++不同,self在Python中不是关键字。

self是函数中的参数,用户可以使用其他参数名称代替它。尽管建议使用self,因为它可以增加代码的可读性。

例:

class this_is_class:
def show(in_place_of_self):
print("It is not a keyword "
"and you can use a different keyword")
 
object = this_is_class()
object.show()

输出:

它不是关键字,您可以使用其他关键字

这样,我们就结束了本文的结尾。希望您了解self的用法及其在Python中的工作方式。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。