01/10/2018, 10:44

Cần giải thích tại sao dùng print với method reverse() lại ra None

  • Sự là em mới học lập trình, nên hỏi câu hơi ngáo bác nào thông não giúp em phát.
  • Em thắc mắc cái cơ chế của bọn iter , vd gọi reverse() hay sort() cho đối tượng item xong nó làm việc thế nào mà cuối cùng số 1 với 2 nó lại khác nhau.
import re
st = "- without,hello,bag,world
Then, the ? output!!!!? should. be:
bag,hello,without,world???!!! "
item = [word for word in re.split("[,. -!?:
]+",st) if word]

#1
item.reverse()
print(1)
print(item,"
.
.")

#2
print(2)
print(item.reverse())

Console

1
['world', 'without', 'hello', 'bag', 'be', 'should', 'output', 'the', 'Then', 'world', 'bag', 'hello', 'without'] 
.
.
2
None
HK boy viết 12:53 ngày 01/10/2018

item.reverse() là thủ tục chứ không phải là hàm. Nói 1 cách đơn giản, nó chỉ làm mà không trả về cái gì cả.

doanhkiet2 viết 13:00 ngày 01/10/2018

à là mấy cái method trong cái class xử lý vòng vèo 1 hồi cuối cùng ko chịu return thì nó thành None thế này hả bác

HK boy viết 12:51 ngày 01/10/2018

WTF

xử lý vòng vèo 1 hồi cuối cùng ko chịu return

quài, đã là thủ tục thì nó chỉ return None thôi. None có nghĩa là “không là cái gì cả”.

Bài liên quan
0