Thu hoạch trăn

Các đối tượng Python có danh tính, hành vi và trạng thái. Các giá trị thuộc tính của một đối tượng xác định trạng thái của nó. Hành vi được xác định bởi mục đích của đối tượng và danh tính được xác định bởi [các] tham chiếu của nó

Hàm hasattr[] trong Python được sử dụng để kiểm tra sự hiện diện của một thuộc tính trong một Lớp. Nói cách khác, phương thức hasattr[] trả về True nếu một đối tượng có thuộc tính được đặt tên đã cho và Sai nếu không. Hàm hasattr[] hoạt động để kiểm tra sự hiện diện của một phương thức có tên cụ thể trên bất kỳ đối tượng nào

Khi chúng tôi đang viết mã liên quan đến việc gõ vịt, hàm hasattr[] rất hữu ích

Cú pháp của Hàm hasattr[] trong Python

Hàm hasattr[] được tích hợp sẵn trong Python, do đó không yêu cầu bất kỳ thao tác nhập hoặc cài đặt nào. Dưới đây là cú pháp của hàm hasattr[]

Hàm hasattr[] trong Python nhận hai tham số, đối tượng và tên thuộc tính. Hãy để chúng tôi thảo luận ngắn gọn về họ

Các tham số của hàm hasattr[] trong Python

Hàm hasattr[] trong Python nhận hai tham số bắt buộc. Chúng như sau

  1. mục tiêu. Nó là một tham số bắt buộc và nó là đối tượng có thuộc tính sẽ được kiểm tra bằng cách sử dụng Hàm hasattr[] của Python
  2. Tên. Tên cũng là một tham số bắt buộc và đó là tên của thuộc tính sẽ được tìm kiếm bằng Hàm hasattr[] của Python. Nó phải là kiểu chuỗi

Giá trị trả về của Hàm hasattr[] trong Python

Hàm hasattr[] trong Python trả về các giá trị boolean [True hoặc False], tùy thuộc vào việc một điều kiện nhất định có được đáp ứng hay không. Hãy để chúng tôi thảo luận về chúng dưới đây

  1. ĐÚNG VẬY. Hàm hasattr[] trong Python trả về True nếu đối tượng được truyền dưới dạng tham số chứa tên được truyền cho hàm hasattr[]. Nói một cách đơn giản, nó trả về True nếu lớp chứa thuộc tính được đặt tên đã cho
  2. sai. Hàm hasattr[] trong Python trả về giá trị Sai nếu đối tượng được truyền dưới dạng tham số không chứa tên được truyền cho hàm hasattr[]. Nói một cách đơn giản, nó trả về Sai nếu lớp không chứa thuộc tính được đặt tên đã cho

Ngoại lệ của hàm hasattr[] trong Python

Nói chung, Hàm hasattr[] trong Python không đưa ra bất kỳ ngoại lệ nào nếu chúng ta xử lý rõ ràng tất cả các trường hợp cạnh và kiểm tra xem chuỗi [hoặc tên] được truyền cho Hàm hasattr[] trong Python có tồn tại trong mã của chúng ta hay không

Tuy nhiên, đôi khi, chúng ta có thể chuyển một thứ khác vào hàm hasattr[] thay vì một chuỗi, đó là tên thuộc tính [giả sử bất kỳ thuộc tính nào hoặc thứ gì khác], trong những trường hợp đó, nó có thể gây ra AttributeError. Điều này là do Hàm hasattr[] trong Python mong đợi một chuỗi làm tham số thứ hai của nó

Chúng ta hãy xem ví dụ dưới đây để chứng minh điều này

Mã số

________0_____

đầu ra

________một_______

Giải trình. Trong đoạn mã trên, chúng ta có một lớp tên là lớp Sinh viên. Bên trong lớp đó, chúng ta đã định nghĩa một phương thức - def name[self, name]. Bây giờ, sử dụng hàm hasattr[] đó, chúng ta thử kiểm tra xem thuộc tính 'tên' có xuất hiện trong lớp của chúng ta hay không. Hàm hasattr[] của chúng tôi trả về True trong trường hợp này vì thuộc tính 'name' có trong lớp của chúng tôi. Bây giờ, tương tự, chúng tôi kiểm tra 'tuổi' và nó trả về Sai vì không có thuộc tính nào có tên 'tuổi' trong lớp Sinh viên của chúng tôi

Sau đó, chúng tôi cố gắng chuyển một công việc có giá trị không phải chuỗi cho lớp của mình và hàm hasattr của chúng tôi trả về NameError. tên 'công việc' không được xác định vì 'công việc' chúng tôi đã chuyển cho nó không phải là một chuỗi. Do đó, trong trường hợp này, chúng ta có thể rơi vào bẫy ngoại lệ trong hàm hasattr[]. Và cuối cùng, nhận được AttributeError

Các ví dụ về hàm hasattr[] trong Python

Bây giờ chúng ta đã trình bày chi tiết về Hàm hasattr[] của Python, đã đến lúc chúng ta xem xét một số mã và làm cho các khái niệm của chúng ta cụ thể hơn. Vì vậy, hãy để chúng tôi trình bày tất cả các ví dụ mã của Hàm hasattr[] trong Python

ví dụ 1. Khi đối tượng của lớp có thuộc tính

Chúng ta hãy lấy một kịch bản trong đó lớp của chúng ta có thuộc tính và Hàm hasattr[] trong Python của chúng ta trả về True khi đối tượng của lớp và tên thuộc tính được truyền cho hàm. Hãy để chúng tôi nhìn vào mã cho cùng

Mã số

# python program to demonstrate the 
# usage of the hasattr[]
# function in python

class Book:
    # function that takes the name of the book and returns it
    def title[self, bookname]:
        print[f"The name of the book is = {bookname}"]
        
    # function that takes the number of pages
    # of the book and returns it
    def numPages[self, pages]:
        print[f"The number of pages in the book is = {pages}"]

# object of the class Book
ob = Book[]

# checking if the "name" attribute is present in ob or not
# it will return a True because "name" is present
print["Is the attribute 'title' present in the book? ", hasattr[ob, "title"]]

# checking if the "age" attribute is present in ob or not
# it will return a False because "age" is not present
print["Is the attribute 'numPages' present in the book?", hasattr[ob, "numPages"]]

# checking if job attribute is present in ob or not
# it will return an exception because the job is not a string
print["Is the attribute 'author' present in the book?", hasattr[ob, "author"]]

đầu ra

________3______

Giải trình

Trong đoạn mã trên, chúng ta có một lớp tên là Sách, lớp Sách. Bên trong lớp, chúng ta đã định nghĩa hai phương thức là title và numPages. Sau đó, chúng tôi đã viết hàm hasattr[] để kiểm tra xem thuộc tính đã truyền có hay không có trong đối tượng của lớp đã cho. Vì thuộc tính tên[chuỗi] - 'tiêu đề' và 'numPages' đã có mặt trong đối tượng của chúng ta, nên hàm hasattr trả về giá trị True. Tuy nhiên, vì 'tác giả' không có mặt trong đối tượng đã cho, nên hàm hasattr[] của chúng tôi đã trả về Sai

ví dụ 2. Khi Đối tượng của Lớp không có Thuộc tính

Chúng ta hãy lấy một kịch bản trong đó lớp không có thuộc tính và Hàm hasattr[] Python của chúng ta trả về Sai khi đối tượng của lớp và tên thuộc tính được truyền cho hàm. Hãy để chúng tôi nhìn vào mã cho cùng

Mã số

________4______

đầu ra

________5_____

Giải trình. Trong đoạn mã trên, chúng ta có một lớp tên là Hello. Bên trong lớp, chúng tôi đã xác định hai phương thức, cụ thể là tên và tuổi. Sau đó, chúng tôi đã viết hàm hasattr[] để kiểm tra xem thuộc tính đã truyền có hay không có trong đối tượng của lớp đã cho. Vì thuộc tính có tên 'height' không có trong lớp đã cho Xin chào, nên hàm hasattr[] của chúng tôi đã trả về Sai

ví dụ 3. Kiểm tra thuộc tính lớp của lớp với getattr

Bây giờ chúng ta hãy lấy một ví dụ, nơi chúng ta sẽ kiểm tra xem có bất kỳ thuộc tính lớp nào hay không, bằng cách sử dụng phương thức getattr. Hãy để chúng tôi nhìn vào mã cho cùng

Mã số

________6______

đầu ra

________7_____

Giải trình. Trong đoạn mã trên, chúng ta có một lớp tên là School. Bên trong lớp, chúng tôi đã xác định ba thuộc tính lớp, cụ thể là tên, vị trí và trang web. Sau đó, chúng tôi đã sử dụng hàm hasattr[] để kiểm tra xem thuộc tính đã truyền có hay không có trong đối tượng của lớp đã cho. Vì thuộc tính tên[chuỗi] - 'tên' và 'vị trí' và 'trang web' đã có mặt trong lớp của chúng ta, nên hàm hasattr[] đã trả về giá trị True

Tuy nhiên, vì bảng không có mặt trong lớp đã cho, nên hàm hasattr[] của chúng tôi đã trả về Sai

Hàm hasattr[] của Python có thể được sử dụng để xác minh các khóa, nhằm tránh nhầm lẫn khi cố gắng truy cập các khóa bị thiếu. Hàm hasattr[] đôi khi cũng bị xâu chuỗi để ngăn việc nhập một thuộc tính được liên kết nếu thuộc tính kia không có

Bây giờ bạn đã có một ý tưởng rõ ràng và sắc nét về “Hàm hasattr[] của Python”, tôi khuyến khích bạn tiếp tục và chọn bất kỳ bài viết nào về chủ đề chia tỷ lệ dưới đây để nâng cao hơn nữa kiến ​​thức của bạn về Python –

Hasattr[] trong Python là gì?

Hàm hasattr[] của Python . returns True if the specified object has the specified attribute, otherwise False .

Hasattr được sử dụng để làm gì?

Hàm hasattr[] của Python là một hàm tiện ích sẵn có, được sử dụng để kiểm tra xem một đối tượng có thuộc tính được đặt tên hay không và trả về true nếu có, nếu không thì trả về false. In this article, we will see how to check if an object has an attribute in Python.

Hasattr có hoạt động với các chức năng không?

Hasattr[] hoạt động để kiểm tra sự hiện diện của một phương thức có tên cụ thể trên bất kỳ đối tượng cụ thể nào . Hàm hasattr[] trong Python nhận hai tham số bắt buộc, đối tượng và tên thuộc tính. Hàm hasattr[] trong Python trả về True nếu đối tượng có thuộc tính được đặt tên đã cho.

Làm cách nào để kiểm tra xem thuộc tính có tồn tại trong đối tượng Python không?

Chúng ta có thể sử dụng hàm hasattr[] để tìm xem một đối tượng python obj có một thuộc tính hoặc thuộc tính nhất định hay không. hasattr[obj, 'thuộc tính']. Quy ước trong python là, nếu thuộc tính có khả năng ở đó, chỉ cần gọi nó và bắt nó bằng một khối thử/ngoại trừ.

Chủ Đề