关于print()函数和class类的问题?
本帖最后由 zyj1214 于 2022-3-31 21:24 编辑class x():
def __init__(self,a,b):
self.k=a
self.k1=b
def a(self):
a=3
b=5
x2=b-a
print("a函数:",x2)
def b(self):
x1=self.k+self.k1
print("b函数",x1)
def c(self):
x2=self.k*self.k1
return x2
def d(self):
i=1+1
print(self.k)
def e(self):
print(self.k1)
i=7
i1=3
a=x(i,i1)
a.b()
print(a.b())
#打印结果
b函数 10 #为什么这里没有默认的返回值None
b函数 10 #而这里用print(a.b())会有默认的返回值None,我想知道原因?
None
>>>
print("b函数",x1) 是函数的执行过程, 得到的返回值是函数的执行结果,
你的函数没有 return,所以默认返回了 None,print(a.b()) 会将函数的返回值打印出来。
而 a.b() 不会看到函数的返回值。 isdkz 发表于 2022-3-31 21:28
print("b函数",x1) 是函数的执行过程, 得到的返回值是函数的执行结果,
你的函数没有 return,所以默认 ...
print(a.b())#有什么办法不让返回值打印出来吗?小白,不太懂!! zyj1214 发表于 2022-3-31 21:35
print(a.b())#有什么办法不让返回值打印出来吗?
没有办法,它一定会打印表达式的值,也就是你要么用 a.b(),
要么在函数里面不要打印,将值返回来用print(a.b()),有多个返回值用 print(*a.b())
class x():
def __init__(self,a,b):
self.k=a
self.k1=b
def a(self):
a=3
b=5
x2=b-a
print("a函数:",x2)
def b(self):
x1=self.k+self.k1
return "b函数",x1
def c(self):
x2=self.k*self.k1
return x2
def d(self):
i=1+1
print(self.k)
def e(self):
print(self.k1)
i=7
i1=3
a=x(i,i1)
#a.b()
print(*a.b()) 只看到10
页:
[1]