PYTHON: Phát hiện mới hay tại mình gà? Các bạn cao thủ vào cho ý kiến

Ok cái này thì mình hiểu, cục bộ và toàn cục. Nhưng bạn ơi ý mình hỏi là khi khái báo global i (i là biến toàn cục). THì giá trị của nó vẫn giữ nguyên và ko reset lại khi khai báo lại hàm?

Đúng.

Sai. Bạn gọi lại hàm chứ không khai báo lại hàm. Bạn khai báo/định nghĩa hàm 1 và chỉ 1 lần duy nhất.

Tuy nhiên mình vẫn hiểu ý của bạn. Đúng vậy, biến toàn cục không bị reset khi gọi lại hàm lần nữa và bạn hoàn toàn có thể dùng nó ở bất cứ đâu. Attribute i của bạn cũng từa tựa thế, mỗi lần gọi a.Lap() thì a.i sẽ thực sự bị giảm dần chứ không bị reset về 10 ban đầu đâu.

This post was flagged by the community and is temporarily hidden.

Vâng ý của mình là gọi lại hàm. Cám ơn bạn!

Mình đang học python bạn ah. Cũng có class, object, kế thừa class nhưng tài liệu ko chuyên sâu bạn ah, Ví dụ như học python mà ko đọc các tài liệu chuyên về OOP thì ko biết OOP là gì và có bản chất như thế nào, hay nó khác với các kiểu lập trình khác như thế nào.

Nếu bạn thiếu thốn tài liệu thì mình có vài gợi ý:

  • A Byte of Python: rất dễ, rất cơ bản.
  • Think Python 2nd Edition: nâng cao hơn một tí (nhưng vẫn dễ), bài tập rất thú vị và nhiều khi đòi hỏi tư duy (mình rất thích các bài tập vẽ hình với turtle).
  • Learning Python 5th Edition: rất dài, rất nhiều chữ, rất chuyên sâu nhưng cho bạn nền tảng cực kì vũng chắc nếu bạn nắm rõ.
  • Automate the Boring Stuff with PythonPython Crash Course: dễ nhưng ứng dụng thực tiễn cao vì nó giúp mình xây dựng những chương trình có thể dùng được. Còn nữa, quyển trước thì code không được tối ưu lắm vì nó được viết cho những người không có kinh nghiệm lập trình muốn “như tiêu đề”; quyển sau thì chuyên nghiệp hơn.
  • Dive into Python 3: Nhiều cái dễ, nhiều cái ít dễ hơn (chứ vẫn chưa thể gọi là khó) nhưng là một quyển sách tốt để kéo bạn lại gần hơn với lập trình thực sự.

Đấy chính xác là lộ trình mình học Python cho đến hiện tại (sau khi đã chọn lọc một vài quyển khác nữa nhưng thấy không hay). Mình khuyên bạn đọc những quyển này theo đúng thứ tự từ trên xuống dưới (trong khi đọc Learning Python thì đọc những quyển dưới vì nó rất dài và rất nhàm chán - vẫn phải đọc, đừng bỏ). Song song việc đọc sách, bạn cũng cần đọc Python documentation và tìm hiểu về những vấn đề nâng cao hơn như recursion, generators, decorators, magic methods,… Thêm Git + Github nếu chưa học.
Sau đấy thì bạn có thể tìm sách nâng cao nhưng mình không biết phải khuyên thế nào vì mình cũng đã đạt đến cảnh giới đó đâu. :blush:

p/s: mọi người khuyên beginner nên dùng Python 2, mình khuyên ngược lại. Viết thêm 2 cái ngoặc vào print cũng chả khó gì, lại được tiếp cận ngay những thứ hiện đại hơn, tốt hơn.

8 Likes

Hỏi người khác mình có gà không. Họ trả lời xong lại bảo đừng chứng tỏ bản thân :)))

7 Likes

Hằng ngày tắm rửa sạch sẽ, để tâm thanh tịnh và đọc bài kinh này:
import this

Và cũng đừng quên coding style.

1 Like

có hơi quá không? :confused:

a = Lap_Giong_While()
Khi gọi Class thì
__init__()nó chỉ thực hiện 1 lần
Sau đó bạn gọi phương thức
a.Lap(): nó trừ dần vì __init__()đâu có chạy nữa đâu mà i được reset.

1 Like

haha dành cho mấy ông theo đạo Python

Thấy có vẻ như cái function mà bạn chủ topic định nghĩa là một dạng đệ quy, trong hầu hết ngôn ngữ lập trình đều có cài đặt đệ quy, Python cũng có

Bạn ơi sao mình tưởng python 2 và python 3, 2 dòng này đôi khi ko tương thích với nhau.

Tất nhiên là có những chương trình dùng Python 2 và developers họ quá lười để port sang Python 3 (thường là những phần mềm cũ và không được cập nhật mấy nữa). Nhưng đấy là việc của họ, còn mình học thì phải học cái mới chứ sao lại chạy sau thời đại làm gì.

2 Likes

Theo bác bây e đang học trên Quyền learn python the hard way liệu có ổn k?

Quyển này là khởi đầu với các kiến thức ở mức cơ bản nhất bạn ah. Nó cho bạn cái nhìn khái quát về ngôn ngữ. Mình đã học xong quyên này rồi, nhưng muốn hiểu sâu và áp dụng được python để làm các dự án thì bạn phải học thêm nhiều tài liệu khác.

Vậy hả cảm ơn bạn. mình cũng mới học python có gì xin chỉ giáo ạ

Ok có gì bạn cứ đặt câu hỏi vì ở đây rất nhiều cao thủ, mình mới học cơ bản thôi lên ko dám múa rừu qua mắt thợ. Học cuốn này bạn lên học qua các video của bạn Lê Trần Đạt rồi sau đó tự học tiếp vì trương trình video này mới đc có một nửa

à thực ra mình tự đọc rồi tự thực hành! chỗ nào k rõ mình mới xem video thôi. 1 phần là mình muốn học tiếng anh nữa hỳ hỳ

1 Like

Thực ra mình cũng có đọc thử quyển này một lần. Cơ mà đây lại không phải là quyển đầu tiên của mình nên những kiến thức trong đó, nói thật: hơi dễ, nên bỏ qua. Nhưng sau khi đọc qua vài chương thì mình cũng thấy nó khá hay, kiến thức không quá sâu và theo ý kiến nhiều người thì cũng khá tốt --> thích hợp làm quyển nhập môn Python.
Xong quyển này thì bạn xúc thử Think Python nhé, hột đấy. Cái gì học rồi có thể lướt qua (đừng bỏ hẳn). Chịu khó làm hết bài tập vì chúng rất haykhó.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?