Python中self,下划线的作用

写在最前面
最近在看深度学习,避免不了要看python代码。但是之前的python基础有点薄弱。代码中很多的函数的变量都有一个self,对这个方面有一些疑惑。

  1. 首先解释这个self的作用:
    self的作用就相当于一个全局变量,加上self后,在程序中任何一个实例方法都可以调用访问这个变量。

  2. python中下划线的作用
    在代码中还有很多下划线的变量。在Python中,变量名以_ _ xx_ _定义的变量是特殊变量,前后都有两个下划线的话,是特殊变量,但不是私有变量,不同的构造函数是可以直接访问的。
    但是如果是变量的前面只有一个_ xxxxx那么这个变量就是一个私有变量了。无法从外部访问以一个下划线开头的变量了。只能在这个函数中使用。

  3. 关于__init__函数
    这个函数是python的内置函数,用于对创建的对象属性进行初始化。这个内置函数的默认的第一个参数就是self。如创建一个Student类,让后
    就可以通过Student类创建出Student的实例,创建实例是通过类名+()实现:

student=Student();

但是这样就是创建类的实例。类的属性都没有赋值。

对这个Student初始化。

class Student(object):
   def __init__(self, name, score):
       self.name = name
       self.score = score
student=Studeng("往往","98")

在类中定义了__init__函数后,可以这样进行实例,这样就把类中的属性进行赋值了。

注意:
(1)__init __方法的第一参数永远是self,表示创建的类实例本身,因此,在__init __方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
(2)有了__init __方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init __方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去:

和普通数相比,在类中定义函数只有一点不同,就是第一参数永远是类的本身实例变量 self,并且调用时,不用传递该参数。除此之外,类的方法(函数)和普通函数没啥区别,你既可以用默认参数、可变参数或者关键字参数(args是可变参数,args接收的是一个tuple,kw是关键字参数,kw接收的是一个dict)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值