return和print()区别;print()出现None

发布时间 2023-12-08 13:29:55作者: yj-newboy
class Cash():
    def pay(self):
        return "cash"


class Order():
    def order_oay(self,name):
        return name.pay()


if __name__ == '__main__':
    order = Order()
    cash = Cash()
    print(order.order_oay(cash))

输出:
cash
None

出现None原因:

print(order.order_oay(cash))

在Python中,函数和方法可以返回一个值,也可以不返回任何值(实际上,它们返回的是 None)。

当一个函数或方法使用 return 语句返回一个值时,调用这个函数或方法的地方可以直接获得这个返回值,可以对它进行操作或者将其赋值给一个变量。

例如,在代码中,Cash 类的 pay 方法使用 return 语句返回了字符串 "cash",而 Order 类的 order_oay 方法在调用 Cash 类的 pay 方法后就返回了这个字符串。

另一方面,print 函数用于将信息打印到控制台,它并不返回任何值。

当在代码中使用 print('cash') 时,它会直接在控制台上打印出 "cash"。

但是在代码中调用 print 函数并不会返回值,因此不能在 order_oay 方法中那样使用 print 语句。

可以将 print 输出的内容赋值给一个变量,但这并不是常见的用法。

总结:return 语句用于从函数或方法中返回一个值,而 print 函数用于在控制台上打印信息。两者的主要区别在于返回值的用途。