首页 > 编程语言 > 详细

Python self的用法

时间:2019-08-30 23:16:20      阅读:85      评论:0      收藏:0      [点我收藏+]

1)不加self是局部变量,只在这个方法里有效;加self则是实例变量,相当于别的函数定义的变量你实例化出来就可以使用

#coding:utf-8
class Person:
    def __init__(self,name):
         self.name = name
    def sayhello(self):
         name = 此值是局部变量
         print my name is :,name
         print my name is :,self.name

p=Person(Bill)
print p
name = 此值是全局变量
Person(name).sayhello()

打印结果:
<__main__.Person instance at 0xb775706c>
my name is : 此值是局部变量
my name is : 此值是全局变量

2) __new__()和__init__()

发现实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法
__new__()必须要有返回值,返回实例化出来的实例,需要注意的是,可以return父类__new__()出来的实例,也可以直接将object的__new__()出来的实例返回。
__init__()有一个参数self,该self参数就是__new__()返回的实例,__init__()在__new__()的基础上可以完成一些其它初始化的动作,__init__()不需要返回值。
若__new__()没有正确返回当前类cls的实例,那__init__()将不会被调用,即使是父类的实例也不行。
我们可以将类比作制造商,__new__()方法就是前期的原材料购买环节,__init__()方法就是在有原材料的基础上,加工,初始化商品环节。

Python self的用法

原文:https://www.cnblogs.com/linyouyi/p/11409730.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!