chuyện hài lập trình viên mới hiểu :))

Discussion in 'Trò Chuyện & Thư Giãn' started by Tuan, Dec 5, 2019.

  1. Tuan

    Tuan Tân Thủ Thôn

  2. Nai

    Nai MiddleMan Staff Member

    Mình ko chuyên python, nhưng cũng tùy theo function có sẵn trả về gì nữa. Mình viết lại để trả về giả trị kiểu khác
     
  3. likingonline

    likingonline Tân Thủ Thôn

    mình chỉ thấy hài ở chỗ bạn k chịu đọc hết bài viết của nó và cũng k hiểu nội dung mà nó muốn nói là gì mà đã mang đi đánh giá {go}
     
  4. Vito_King

    Vito_King Sơ Nhập Giang Hồ

    Bạn học lập trình hướng đối tướng, mới đầu học thấy cái get, set có thấy thừa không, các design pattern đôi khi có thấy thừa không, thì sẽ hiểu? :D
     
  5. Tuan

    Tuan Tân Thủ Thôn

    mình có dùng C# một số năm, cả windows cả web và thấy get/set ko thừa :)

    Vấn đề ở đây là mục đích của một function/method là phải tạo ra giá trị mới hoặc giúp tiết kiệm code lặp lại quá trình kiểm tra true/false

    build in của Python khi muốn kiểm tra một list/tuple/dic có tên là AAA có empty hay ko chỉ cần 1 câu lệnh: "if AAA:" là đã kiểm tra được true/false
    vậy tác giả viết thêm 1 function theo kiểu:
    Def CheckTrueFalse(AAA)
    if AAA:
    return True
    else:
    return False

    Sau đó khi kiểm tra AAA có empty hay ko thì dùng CheckTrueFalse(AAA) => ko tiết kiệm được gì cũng ko tạo ra giá trị mới và vì vậy em mới ko hiểu.

    Các bác nào hiểu chỉ giáo giúp em thêm 1 lần nữa ạ :)
     
  6. likingonline

    likingonline Tân Thủ Thôn

    @Tuan bài viết này của nó muốn nói lên là: Python có 1 cách đơn giản để check empty cho rất nhiều thứ (list, dictionary, set, string, tuple)

    Tất nhiên là vẫn có các cách khác để check (ví dụ như len(l) == 0 như ở cuối bài) nhưng nó dài dòng hơn.
    Cái function nó viết ra chỉ như là 1 cái test case, thay vì cứ khai báo 1 biến d =dict gì đấy rồi lại if d thì print empty với not empty thì nó gói gọn lại trong 1 cái hàm để dùng cho ngắn gọn. Bác đừng có tập trung vào mấy cái tiểu tiết như thế.

    Tóm lại nội dung bài viết là nó ca ngợi Python.
    Em nói như vậy rồi mà bác vẫn chưa thông thì em cũng k biết nói gì hơn nữa {go}
     
    hocauo40 and Vito_King like this.
  7. console

    console Bang Chúng

    Chả hiểu vẹo gì
     
  8. Nai

    Nai MiddleMan Staff Member

    {boss} Vậy anh ko phải lập trình dziên rồi nha
     
  9. Tuan

    Tuan Tân Thủ Thôn

    Em cũng ko biết nói gì hơn với bác :)
     
  10. likingonline

    likingonline Tân Thủ Thôn

    {haha}{haha}{haha}
     
  11. Trần Trọng Bách

    Trần Trọng Bách Sơ Nhập Giang Hồ

    Theo mình hiểu thì ý bài này muốn lấy function đó để làm ví dụ về một cách làm mà tác giả gọi là Pythonic way.
    Ở đây như ý của tác giả là thay vì với mỗi lần muốn check và print ra một list, tuple ... có empty hay không bằng đoạn lệnh:
    Code:
    if len(l) == 0:
        print('Empty!')
    Thì chỉ cần dùng:
    Code:
    is_empty(d)
    sẽ ngắn đi 1 dòng.
    Đoạn cuối tác giả có viết: When something is labeled "Pythonic", it is usually referring to Python's nature of being very terse. So if you can save space by making your code shorter, that is usually the more Pythonic way of doing things. Nên mình hiểu ý ông đó ở đây là nếu việc check empty lặp lại rất nhiều lần, thì cách python hơn là viết 1 function để check và print kết quả ra, lần sau muốn check thì chỉ cần dùng 1 dòng lệnh thay vì 2 dòng như cách dùng if len().
     
  12. Nai

    Nai MiddleMan Staff Member

    php cứ empty() là check dc hết nhở
     
  13. Dang

    Dang Bang Chúng

    empty(0) hoặc empty('0') sẽ bằng true trưởng môn ah!
     
    Nai likes this.