01/10/2018, 09:49
Hỏi về sự khác nhau giữa return và print trong python
Mình viết 1 function trả về kiểu type object trong 1 list :slight_smile
Đầu tiên minh dùng print chứ không dùng return kết quả trả về đúng theo thứ tự:
def func(x):
for i in x:
print(i,type(i))
print(func([1,"a",[1,2]]))
1 class 'int'
a class 'str'
[1, 2] class 'list'
Nhưng mình thay chữ print bằng return như sau:
def func(x):
for i in x:
return i,type(i)
chạy đoạn vd vữa nãy chỉ ra dc 1 vòng for đầu tiên:
func([1,"a",[1,2]])
(1, int)
Các bạn cho mình hỏi tại sao dùng return chỉ cho ra dc 1 kết quả.
Bài liên quan
return
vàprint
chả liên quan gì đến nhau thì có khi bạn hỏi sự giống nhau còn dễ nói hơn.print
dùng để in ra màn hình console.return A
dùng để trả vềA
và kết thúc hàm -> một khi chương trình chạy đến dòngreturn
, hàm sẽ dừng ngay lập tức (cũng giống hầu hết các ngôn ngữ lập trình khác).ý mình hỏi là tại sao khi dùng return như code dưới
def func(x):
for i in x:
return i,type(i)
thì nó chỉ return có 1 giá trị á
1 giá trị đâu, nó gói trong tuple thôi
giống như
a, b = 1, 2
thì cũng có thểa, b = (1, 2)
. nó vẫn return 2 giá trị mà