python之类和__init__

构建一个商品类,__init__函数类似于构造方法,self类似于this

import randomclass Goods:    def __init__(self, name, price):        self.name = name        self.price = price

def changeprice(self, m, n):        self.price = random.randint(m, n)        return self.price

再写一个商店类,用于存放商品

class Gshop:    goodslist = []    def __init__(self, g):        self.goodslist.append(g)

def add(self, g):        self.goodslist.append(g)

def changegoodslistprice(self):        for w in self.goodslist:            w.changeprice(20, 50)            print(w.name, w.price)

实例化对象,执行对象的方法

import goods,gshoptoy = goods.Goods(‘洋娃娃‘, 30)gshopdemo = gshop.Gshop(toy)#print(toy.name, toy.price)

car_wlhg = goods.Goods(‘五菱宏光‘, 30000)gshopdemo.add(car_wlhg)gshopdemo.changegoodslistprice()

运行结果:

时间: 2024-08-10 12:26:52

python之类和__init__的相关文章

python __new__以及__init__

@[深入Python]__new__和__init__ 1 2 3 4 5 6 7 8 class A(object):     def __init__(self):         print "init"     def __new__(cls,*args, **kwargs):         print "new %s"%cls         return object.__new__(cls, *args, **kwargs) A() 输出: new

Python包中 __init__.py文件的作用

原创连接 https://www.cnblogs.com/AlwinXu/p/5598543.html Python包中 __init__.py文件的作用 在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: Pycharm下的package树结构: 在Finder中的目录结构: 从Finder中的目录就可以看出来,每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没

python中的__init__(self)是什么意思呢

python中的__init__(self)是什么意思呢 init(self)这个时类的初始化函数 1 2 3 4 class Obj: def init(self): print 1 obj = Obj() #这时候__init__这个函数会被调用,self指obj这个对象. 如果解决了您的问题请采纳!如果未解决请继续追问 追问 请问obj=Obj() obj是类Obj的对象吗,Obj()就代表 init()函数吗 追答 不是代表__init__()函数,而是代表会调用__init__()函数

飘逸的python - __new__、__init__、__call__傻傻分不清

__new__: 对象的创建,是一个静态方法.第一个參数是cls.(想想也是,不可能是self,对象还没创建,哪来的self) __init__ : 对象的初始化, 是一个实例方法,第一个參数是self. __call__ : 对象可call.注意不是类,是对象. 先有创建,才有初始化.即先__new__,而后__init__. 上面说的不好理解,看样例. 对于__new__ class Bar(object): pass class Foo(object): def __new__(cls,

Python中的__init__,__call__

__init__函数 当一个类实例被创建时, __init__() 方法会自动执行,在类实例创建完毕后执行,类似构建函数.__init__() 可以被当成构建函数,不过不象其它语言中的构建函数,它并不创建实例--它仅仅是你的对象创建后执行的第一个方法.它的目的是执行一些该对象的必要的初始 化工作.通过创建自己的 __init__() 方法,你可以覆盖默认的 __init__()方法(默认的方法什么也不做),从而能够修饰刚刚创建的对象__init__()需要一个默认的参数self,相当于this.

python __new__()和__init__()哪个更早?

通过代码验证是最靠谱的: class Foo(object): def __init__(self): print 'foo init' def __new__(cls,*args,**kwargs): print 'foo new' return object.__new__(cls,*args,**kwargs) foo = Foo() print type(foo) 结果: >>> foo new foo init <class '__main__.Foo'> >

Python包中__init__.py作用

在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: Pycharm下的package树结构: 在Finder中的目录结构: 从Finder中的目录就可以看出来,每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没错,__init__.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package. Python中的包和模块有两种导入方式:

Python中的__init__和__new__介绍

介绍 首先我们要知道在面向对象编程中,实例化基本遵循创建实例对象.初始化实例对象.最后返回实例对象这么一个过程. Python 中的 __new__ 方法负责创建一个实例对象,__init__ 方法负责将该实例对象进行初始化. __new__() 是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解,在 Python 中存在于类里面的构造方法 __init__() 负责将类的实例化,而在 __init__() 启动之前,__new__() 决定是否要使用该 __init__()

Python没有执行__init__

疑惑 提出问题 前天同事问我一个问题,为什么这个脚本中的没有调用A 的__init__.脚本如下: 1 class A(object): 2 def __init__(self, *args, **kwargs): 3 print "Call init from %s" %self.__class__ 4 5 def __new__(cls, *args, **kwargs): 6 obj = object.__new__(cls, *args, **kwargs) 7 print &

python 其他函数调用 __init__ 初始化的值

定义 A 这个类,calc 这个类方法 实现列表元素平方求和: #file_name: init.py #!/usr/bin/env python class A():     def __init__(self,args):         self.args = args     def calc(self):         sum = 0         for i in self.args:             sum += i * i         print sum