首页 > 其他分享 >带有 self 和不带 self 定义的函数有着不同的用途和作用范围

带有 self 和不带 self 定义的函数有着不同的用途和作用范围

时间:2024-04-10 22:33:50浏览次数:24  
标签:不带 定义 self 调用 name 实例 方法 函数

1. 带有 self的方法:

 - 带有 self的方法通常定义在类中,用于操作类的实例对象(即对象的实例属性和方法)。

   - 当定义类的方法时,第一个参数通常是 self,它代表当前类的实例对象,用于访问类的属性和调用其他方法。

   - 在调用这类方法时,Python 会自动将调用对象作为第一个参数传递给方法,因此在方法内部可以通过 self 来访问对象的属性和方法。

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return f"Hello, my name is {self.name}."

person = Person("Alice")
print(person.greet())  # Output: Hello, my name is Alice.

2. 不带 self 的函数:

  - 不带 self 的函数通常是定义在模块级别或者类外部,它们是独立的函数,不与特定的类或对象绑定。

   - 这类函数可以通过模块名直接调用,或者作为全局函数使用,不需要实例化对象。

   

def add_numbers(a, b):
    return a + b

result = add_numbers(10, 5)
print(result)  # Output: 15

总之,带有 self 的方法是类的实例方法,需要通过类的实例对象来调用,而不带 self 的函数则是独立的函数,不依赖于类的实例化,可以直接调用。选择使用哪种形式取决于函数或方法所需的上下文和功能需求。

标签:不带,定义,self,调用,name,实例,方法,函数
From: https://blog.csdn.net/2301_76869904/article/details/137613541

相关文章

  • 奇怪的错误-------重新定义一下变量就不报错了
    1packagecom.lian.mysqldemo2;23importandroidx.appcompat.app.AppCompatActivity;45importandroid.os.Bundle;6importandroid.os.Handler;7importandroid.text.TextUtils;8importandroid.view.View;9importandroid.widget.TextView;1011......
  • django simpleui 的list_display添加自定义列、显示图片 及alert弹窗的设置方法
    参考djangosimpleui的list_display添加自定义列、显示图片及alert弹窗的设置方法-CSDN博客环境:python:3.8.xDjango:3.2.xDjango-simpleui:2021.x先定义下模型#models.pyclassDog(models.Model):name=models.CharField(max_length=15,verbose_name='小狗名字')......
  • Obsidian自定义代码块样式成Typora
    先来效果图修改前效果:修改后效果:编辑模式:预览模式:两种模式的表现间距略有不同,但不影响.添加自定义css样式.markdown-source-view.mod-cm6.cm-content>.HyperMD-codeblock{border-width:01px01px;border-style:solid;border-color:#E7EAE......
  • 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss
    往期回顾【QT入门】Qt自定义控件与样式设计之qss介绍(Qtstylesheet)-CSDN博客【QT入门】Qt自定义控件与样式设计之qss选择器-CSDN博客【QT入门】Qt自定义控件与样式设计之QLineEdit的qss使用-CSDN博客 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss这里我......
  • 【QT入门】 Qt自定义控件与样式设计之QCheckBox qss实现按钮开关
    往期回顾【QT入门】Qt自定义控件与样式设计之QPushButton常用qss-CSDN博客【QT入门】Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框-CSDN博客【QT入门】Qt自定义控件与样式设计之QComboBox样式表介绍-CSDN博客 【QT入门】Qt自定义控件与样式设计之......
  • 自定义Python实用函数-返回指定目录及其子目录和指定文件扩展名的文件清单列表
    importosdefget_files(file_path,image_types_set=()):"""返回指定目录及其子目录下、指定文件扩展名的文件清单列表。若image_types_set参数为空,则返回图片文件清单列表。若image_types_set参数为['.*'],则返回所有文件清单列表。"""filenames......
  • 发挥自定义表单开源优势,助力实现流程化办公!
    在数字化发展进程中,利用低代码技术平台、自定义表单开源的优势特点,可以让企业实现流程化办公,从而实现提质增效的办公目的。作为一种新兴的应用开发模式,低代码技术平台获得了很多新老客户朋友的青睐和喜爱,正以它自身的优势和特点为企业的发展强劲赋能。想要了解自定义表单开源优势......
  • 嵌入式开发之瑞芯微RK356x-Buildroot 添加自定义应用程序1
    上一篇我们说到具体如何去配置Buildroot,编译,验证本章我们需要添加自己的应用程序,我们就以helloworld为例子吧1.首先我们进入buildroot目录,并打开package/Config.in拉到最下面添加如下内容menu"NexyhoApp" source"package/Nexyho/Config.in"endmenu2.创建Nexyho文......
  • ROS中自定义全局算法规划器(c++)
     ros中编写一个全局路径规划器并集成为ros插件,加载到turtlebot3机器人平台上仿真验证参考资料:ROS中自定义全局规划器(上)_算法部署_哔哩哔哩_bilibili官网教程:navigation/Tutorials/WritingAGlobalPathPlannerAsPlugininROS-ROSWiki1.建立工作空间mkdir-pjps_......
  • 采用自定义注解 和 AOP 完成日志记录
    1、声明一个自定义注解@Retention注解包含一个RetentionPolicy类型的属性value,用于指定注解的保留策略,常用的保留策略包括:RetentionPolicy.SOURCE:表示注解仅在源代码中保留,编译器编译时会将其忽略,不会保存在编译后的字节码中。RetentionPolicy.CLASS:表示注解在编译后的......