Python中的self使用注意事项

self的使用要点

1.Python中的self等同于Java中的this,表示当前对象,当前正在操作的对象,而不是当前类

2.某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可


class Person4:
  # def __init__(self):  注意一个类不能有两个初始的构造方法,跟java有区别。
    def __init__(self,name,age): #只是在Java中self不用书写,也不用传参。
        self.name = name
        self.age = age
    def my_print(self): #类中所有def定义的方法,参数都要带self,而且要放在第一位。
        print("这是类内的方法")
        print(self.__class__) #调用当前类方法

def my_p():  #类外的def定义方法(函数),参数不用带self
    print("这是类外的方法")

#----------创建对象,调用方法-------------------------------------------------------------
#p4 = Person4()   #如果不传参数,则会报错,因为默认要给类初始化两个属性值
p4 = Person4("jason",12)
p4.my_print()
#p4.my_p() 这种调用的是错误的,因为my_p()方法是类方法,所以不能用实例.方法名调用
my_p()

#----------执行结果--------------------------------------------------------------------
这是类内的方法
<class '__main__.Person4'>
这是类外的方法

3.self 不是 python 关键字,我们把他换成 abc 也是可以正常执行的,但是约定俗成的都是self,IDE也会自动填充self的 

class Person5:
    def p(self):
        print("self 可以换成别的,但是不要乱换")
    def p1(abc):
        print("换成 abc也可以")
    def __init__(abc,name,age):  #注意这里如果换成abc,那么赋值调用也要对应用abc.name。
        abc.name = name
        abc.age = age
#---创建对象-----------------------------------------------------------------------
p5 = Person5("tom",11)
p5.p()
p5.p1()
print(p5.name,p5.age)

#---结果时-------------------------------------------------------------------------
self 可以换成别的,但是不要乱换
换成 abc也可以
tom 11

统一声明:关于原创博客内容,可能会有部分内容参考自互联网,如有原创链接会声明引用;如找不到原创链接,在此声明如有侵权请联系删除哈。关于转载博客,如有原创链接会声明;如找不到原创链接,在此声明如有侵权请联系删除哈。 

提示 CTRL Q: 在参数列表位置,显示可以输入的所有参数。 CTRL Q: 查看选方法的文档字符串 阅读 CTRL -: 折叠当前代码 CTRL +: 展开当前代码 CTRL SHIFT -: 折叠所有代码 CTRL SHIFT +: 展开所有代码 CTRL SHIFT F7: 将当前单词在整个文件高亮,F3移动到下一个,ESC取消高亮。 CTRL F11 | F11: 设置书签. SHIFT F11: 显示所有书签。 CTRL F12: 当一个文件方法太多,要快速跳到某个方法时,可以用此快捷键打开LIST, 除了用上下箭选择外,还可以输入字母。 移动 ALT F7: 查找哪些地方使用了选方法。 ALT UP: 移到上一个方法 ALT DOWN: 移到下一个方法 CTRL B | CTRL 单击: 转到方法定义处 CTRL SHIFT UP: 将当前行上移一行 CTRL SHIFT UP: 将当前行下移一行 SHIFT ENTER: 在行间执行时,智能跳到下一行。 注释 CTRL /: 注释、取消注释行 选择 ALT 左键: 列模式选择 CTRL W: 选当前单词,继续按,选它所属的行/IF/方法. 编辑 CTRL D: 未选时,复制当前行到下一行,选时复制粘贴选部分。 CTRL J: 输入模板 SHIFT F6: 更改变量/方法名字 删除 CTRY Y: 删除当前行 调试 CTRL F8: 设置/取消断点 其它 CTRL E: 最近访问的文件列表 ESC: 焦点从其它窗口到编辑窗口 SHIFT ESC: 隐藏当前窗口,焦点到编辑窗口 F12: 焦点从编辑窗口到上一个使用窗口 编辑器右键,local history, show history: 显示本地修改记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涤生大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值