Làm thế nào để bạn khai báo một biến python?
Chuyển nhượng có nghĩa là "tên này ở phía bên trái hiện đề cập đến kết quả đánh giá phía bên phải, bất kể nó được gọi là gì trước đó (nếu có)"
Như vậy, tên của Python (một thuật ngữ tốt hơn so với "biến", được cho là) không có các loại liên quan; . Bạn có thể áp dụng lại cùng một tên cho bất kỳ thứ gì bất kể loại của nó, nhưng thứ đó vẫn có hành vi phụ thuộc vào loại của nó. Tên chỉ đơn giản là một cách để chỉ giá trị (đối tượng). Điều này trả lời câu hỏi thứ hai của bạn. Bạn không tạo biến để giữ loại tùy chỉnh. Bạn không tạo các biến để giữ bất kỳ loại cụ thể nào. Bạn hoàn toàn không "tạo" các biến. Bạn đặt tên cho các đối tượng Điểm thứ hai. Python tuân theo một quy tắc rất đơn giản khi nói đến các lớp, điều đó thực sự nhất quán hơn nhiều so với những ngôn ngữ như Java, C++ và C#. mọi thứ được khai báo bên trong khối 9 là một phần của lớp. Vì vậy, các hàm ( 0) được viết ở đây là các phương thức, tôi. e. một phần của đối tượng lớp (không được lưu trữ trên cơ sở từng trường hợp), giống như trong Java, C++ và C#; . Một lần nữa, tên chỉ là tên và chúng không có kiểu liên kết và hàm cũng là đối tượng trong Python. Như vậy
Lớp cũng là đối tượng trong Python Vì vậy, bây giờ chúng tôi đã tạo một đối tượng có tên là 1, đại diện cho lớp của tất cả những thứ là 1. Đối tượng này có hai thuộc tính do người dùng cung cấp (Trong C++ là "thành viên"; trong C# là "trường hoặc thuộc tính hoặc phương thức"; trong Java là "trường hoặc phương thức"). Một trong số chúng được đặt tên là 0 và nó lưu trữ giá trị số nguyên 1. Cái còn lại có tên là 2 và nó lưu trữ một đối tượng hàm. (Có một số thuộc tính nữa mà Python tự động thêm vào. )Tuy nhiên, những thuộc tính này vẫn không thực sự là một phần của đối tượng. Về cơ bản, một đối tượng chỉ là một tập hợp nhiều tên hơn (tên thuộc tính), cho đến khi bạn nhận ra những thứ không thể phân chia được nữa. Do đó, các giá trị có thể được chia sẻ giữa các thể hiện khác nhau của một lớp hoặc thậm chí giữa các đối tượng của các lớp khác nhau, nếu bạn cố ý thiết lập điều đó Hãy tạo một ví dụ
Bây giờ chúng ta có một đối tượng riêng tên là 3, là một thể hiện của 1. 0 và 2 không thực sự là một phần của đối tượng, nhưng chúng ta vẫn có thể tra cứu chúng qua 3 nhờ một số phép thuật mà Python thực hiện ở hậu trường. Cụ thể, khi chúng tôi tra cứu 2, chúng tôi sẽ nhận được một "phương thức ràng buộc" (khi chúng tôi gọi nó, 3 được chuyển tự động dưới dạng tham số 0, điều này không thể xảy ra nếu chúng tôi tra cứu trực tiếp 1)Điều gì xảy ra khi chúng tôi cố gắng sử dụng 2?Khi chúng tôi kiểm tra nó, nó được tìm kiếm trong đối tượng đầu tiên. Nếu không tìm thấy trong đối tượng, Python sẽ tìm trong lớp Tuy nhiên khi chúng ta gán cho 2 thì Python sẽ tạo một thuộc tính trên đối tượng. Nó sẽ không thay thế thuộc tính của lớpĐiều này cho phép chúng ta khởi tạo đối tượng. Python sẽ tự động gọi phương thức 4 của lớp trên các phiên bản mới khi chúng được tạo, nếu có. Trong phương thức này, chúng ta có thể chỉ cần gán cho các thuộc tính để đặt giá trị ban đầu cho thuộc tính đó trên mỗi đối tượng 7Bây giờ chúng ta phải chỉ định một 5 khi chúng ta tạo một 1 và mỗi phiên bản có một 5 riêng. Python sẽ bỏ qua thuộc tính lớp 8 bất cứ khi nào chúng ta tra cứu 9 của một thể hiện, bởi vì thuộc tính của thể hiện sẽ được tìm thấy đầu tiênMột cảnh báo cuối cùng. sửa đổi (đột biến) và chuyển nhượng là những thứ khác nhau Trong Python, các chuỗi là bất biến. Chúng không thể được sửa đổi. khi bạn làm 2Bạn không thay đổi chuỗi 'hi' ban đầu. Điều đó là không thể trong Python. Thay vào đó, bạn tạo một chuỗi mới 70 và làm cho 71 không còn là tên của 72 nữa mà thay vào đó bắt đầu là tên của 70. Chúng tôi cũng đã đặt tên 74 cho 72 và sau khi áp dụng lại tên 71, 74 vẫn là tên cho 72, vì 72 vẫn tồn tại và không bị thay đổiNhưng danh sách có thể được thay đổi 3Bây giờ 74 cũng là [1, 2, 3, 4], bởi vì chúng tôi đã đặt tên cho 74 cho cùng một thứ mà 71 đã đặt tên, và sau đó chúng tôi đã thay đổi thứ đó. Chúng tôi đã không tạo một danh sách mới cho 71 để đặt tên, bởi vì Python chỉ đơn giản là đối xử khác với 24 đối với các danh sáchĐiều này quan trọng đối với các đối tượng vì nếu bạn có một danh sách dưới dạng thuộc tính lớp và sử dụng một thể hiện để sửa đổi danh sách, thì thay đổi đó sẽ được "nhìn thấy" trong tất cả các thể hiện khác. Điều này là do (a) dữ liệu thực sự là một phần của đối tượng lớp chứ không phải bất kỳ đối tượng thể hiện nào; Bạn có thể khai báo một biến trong Python không?Trong các ngôn ngữ đó, loại biến phải được chỉ định trước khi nó có thể được gán giá trị. Quá trình này được gọi là khai báo biến. Nhưng trong Python, chúng ta không khai báo biến, chúng ta chỉ gán biến cho chúng . Tóm lại, chúng ta có thể coi một biến trong Python là tên của một đối tượng.
Cách chính xác để khai báo các biến là gì?Khai báo biến là nơi chương trình nói rằng nó cần một biến. Đối với các chương trình nhỏ của chúng tôi, đặt câu lệnh khai báo giữa hai dấu ngoặc nhọn của phương thức chính . Phần khai báo đặt tên và kiểu dữ liệu cho biến. Nó cũng có thể yêu cầu một giá trị cụ thể được đặt trong biến. |