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

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 的函数则是独立的函数,不依赖于类的实例化,可以直接调用。选择使用哪种形式取决于函数或方法所需的上下文和功能需求。

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值