I ave some code which looks something as follows...
class xyz:
def anything(self):
if condition:
if condition:
return something
else:
return somethingelse
elif Condition:
return something
else:
return something
def calculations(self):
x= something+5
y= somethingelse+10
I dont know what the function anything will return weather something or somethingelse..
Latter I want to use it in another function calculations.. it sould only update that value and rst should be the same..!!
Any idea??
Unclear... I don't see where your code calls anything().
sorry for that but I take an object of a class xyz as following
class xyz:
def anything(self):
if condition:
if condition:
return something
else:
return somethingelse
elif Condition:
return something
else:
return something
def calculations(self):
x= something+5
y= somethingelse+10
object1=xyz
object1.anything()
object1.calculations()
it should now take "something" or "somethingelse " depending on the conditions given in multiple if-else loops and do the calculations..
in short, I dont know what the function
anything() will return.. depending on that I only want to change variables in
calculations()
i have done the following changes to the code to execute it properly...
'''
Created on 22 Sep 2016
@author: rathodul
'''
something=10
somethingelse=0
a=2
class xyz:
def anything(self):
if something<somethingelse:
if a==10:
return something
else:
return somethingelse
elif a>somethingelse:
return something
else:
return something
def calculations(self):
x= something+5
y= somethingelse+10
return x,y
object1=xyz()
object1.anything()
object1.calculations()
print object1.calculations()
Your can't start to write a code just supposing how to do it and then asking why it's not working. Start
here. See how to define a class, how to create an instance of a class. How to pass the parameters.
Hello, I haven’t supposed the code but I cant right the whole code because it is protected.
Still unclear... anything() doesn't change the state of the object. But computations() doesn't either, unless x and y are attributes?
What is the problem with using:
if object1.anything()==something:
....
else:
....
(Sep-22-2016, 02:37 PM)ujjwalrathod007 Wrote: [ -> ]I dont know what the function anything will return weather something or somethingelse..
That depends entirely on the conditions. Which you never defined. So nothing would be returned, because the script is invalid.
You are missing basic understanding how class works.
So read more about it.
Quote:I dont know what the function anything will return
It's not called a function when it belong to class,it's now a method.
You should not have variables outside the class,
these should be arguments that is given to the class.
Just to write something that make more sense,in the way class work.
Not changing anything to method
anything which could be wrong.
class xyz:
def anything(self, anything, somethingelse, a):
if something < somethingelse:
if a == 10:
return something
else:
return somethingelse
elif a > somethingelse:
return something
else:
return something
def calculations(self, any_obj):
x = any_obj + 5
y = any_obj + 10
return x, y
object1 = xyz()
something = 10
somethingelse = 0
a = 2
any_obj = object1.anything(something, somethingelse, a)
print(object1.calculations(any_obj)) #(15, 20)
True, Is there any way to check weather the method has return Something or Somethingelse. Because I do this in iteration.. While true: loop. If method returns only something then I only want to update Something and keep Somethingelse as it is..!! and vice-versa.
Yeah. Check the return value in whatever's calling the method.