Hướng dẫn what does __ contains __ mean in python? - __ chứa __ nghĩa là gì trong python?

Đây là mã của tôi:

class a[object]:
    d='ddd'
    def __contains__[self]:
        if self.d:return True
b=a[]
print b.contains['d']  # error
print contains[b,'d']  # error

Chris martin

29,8K9 Huy hiệu vàng75 Huy hiệu bạc133 Huy hiệu Đồng9 gold badges75 silver badges133 bronze badges

Hỏi ngày 27 tháng 12 năm 2009 lúc 1:49Dec 27, 2009 at 1:49

Giống như tất cả các phương pháp đặc biệt [với "tên ma thuật" bắt đầu và kết thúc vào __], __contains__ không có nghĩa là được gọi trực tiếp [ngoại trừ trong các trường hợp rất cụ thể Một phần của hoạt động của các nhà điều hành xây dựng và vận hành. Trong trường hợp của __contains__, toán tử trong câu hỏi là in - toán tử "kiểm tra ngăn chặn".not meant to be called directly [except in very specific cases, such as up=calls to the superclass]: rather, such methods are called as part of the operation of built-ins and operators. In the case of __contains__, the operator in question is in -- the "containment check" operator.

Với lớp

class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
0 của bạn khi bạn trình bày nó [ngoại trừ sửa lỗi đánh máy của bạn và sử dụng
class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
1 thay vì ________ 12!-] và
class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
3 làm ví dụ của nó,
class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
4 sẽ in Trả về
class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
1 [vì
class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
9, một chuỗi không trống, là đúng].

Đã trả lời ngày 27 tháng 12 năm 2009 lúc 2:04Dec 27, 2009 at 2:04

Alex Martellialex MartelliAlex Martelli

831K165 Huy hiệu vàng1205 Huy hiệu bạc1385 Huy hiệu Đồng165 gold badges1205 silver badges1385 bronze badges

Để nhận mã của bạn để làm một cái gì đó [mặc dù không có gì hữu ích]:

class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True

Các tài liệu.

Julius

8098 Huy hiệu bạc11 Huy hiệu đồng8 silver badges11 bronze badges

Đã trả lời ngày 27 tháng 12 năm 2009 lúc 1:51Dec 27, 2009 at 1:51

Cobbalcobbalcobbal

69.2K19 Huy hiệu vàng142 Huy hiệu bạc156 Huy hiệu đồng19 gold badges142 silver badges156 bronze badges

Phương thức __contains__ Xác định cách thức hoạt động của lớp khi chúng xuất hiện ở bên phải của toán tử in

class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  
2.

class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  

Azat Ibrakov

9.2159 huy hiệu vàng39 Huy hiệu bạc47 Huy hiệu đồng9 gold badges39 silver badges47 bronze badges

Đã trả lời ngày 1 tháng 1 năm 2013 lúc 9:33Jan 1, 2013 at 9:33

Vijay Shankervijay Shankervijay shanker

2.4081 Huy hiệu vàng21 Huy hiệu bạc37 Huy hiệu đồng1 gold badge21 silver badges37 bronze badges

1

if self.d:return true

class a[object]:

    d = 'ddd'

    def __contains__[self, m]:
        if self.d: 
            return True

b = a[]

>>> 'd' in b
True
9 là chuỗi
class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  
4. Các chuỗi không trống luôn là sự thật: Khi bạn sử dụng
class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  
5 trên
class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  
4, nó sẽ luôn hành động như thể bạn đã nói
class Person[object]:
      def __init__[self,name,age]:
          self.name = name
          self.age = age
      def __contains__[self,param1]:
          return True if param1 in self.__dict__.keys[] else False

>>> p = Person['Robby Krieger',23]
>>> 'name' in p
True  
7.

Tôi nghĩ những gì bạn có thể muốn nói là:

def __contains__[self, item]:
    return item in self.d

in là nhà điều hành gọi phương thức __contains__ đằng sau hậu trường.

Đã trả lời ngày 27 tháng 12 năm 2009 lúc 1:56Dec 27, 2009 at 1:56

Bobincebobincebobince

521K103 Huy hiệu vàng648 Huy hiệu bạc827 Huy hiệu Đồng103 gold badges648 silver badges827 bronze badges

Hãy xem một ví dụ rất đơn giản về Phương pháp ma thuật __Contains__:__contains__ :

Giả sử tôi có người chơi lớp và phương thức __init__ của tôi lấy một tên đối số chuỗi. Trong chính tôi đã tạo ra một đối tượng [OBJ1] của người chơi lớp.__init__ method takes one string argument name. In main I have created an object [obj1] of class Player.

Bây giờ nếu tôi muốn biết nếu OBJ1 của tôi [trong trường hợp này, tên thuộc tính của Obj1] có chứa một chuỗi cụ thể, chuỗi con hoặc bảng chữ cái, tôi phải thực hiện phương thức __contains__ như trong ví dụ.obj1 [in this case attribute name of obj1] contains a particular string, substring or an alphabet, I have to implement __contains__ method as shown in the example.

Nếu lớp của tôi có phương thức __Contains__, tôi có thể gọi toán tử tích hợp vào các đối tượng tùy chỉnh của mình như trong ví dụ.__contains__ method I can call built-in operator in on my custom objects as shown in the example.

   class Player[]:

    def __init__[self, name]:
        self.name=name

    def __contains__[self, substring]:
        if substring in self.name:
            return True
        else:
            return False

obj1=Player["Sam"]
print ['am' in obj1]    ----> True
print ['ami' in obj1]   ----> False

Đã trả lời ngày 29 tháng 7 năm 2016 lúc 10:00Jul 29, 2016 at 10:00

N Randhawan RandhawaN Randhawa

8.1933 Huy hiệu vàng42 Huy hiệu bạc47 Huy hiệu đồng3 gold badges42 silver badges47 bronze badges

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

Python __str __ [] Phương thức này trả về biểu diễn chuỗi của đối tượng.Phương thức này được gọi là hàm in [] hoặc str [] được gọi trên một đối tượng.Phương thức này phải trả về đối tượng chuỗi.returns the string representation of the object. This method is called when print[] or str[] function is invoked on an object. This method must return the String object.

__ Lớp __ trong Python là gì?

__ class__ là một thuộc tính trên đối tượng đề cập đến lớp mà từ đó đối tượng được tạo.một.__Class__ # Đầu ra: b.__Class__ # Đầu ra: Sau các loại dữ liệu đơn giản, giờ đây chúng ta hãy hiểu chức năng loại và __Class__ với sự trợ giúp của lớp do người dùng xác định, con người.an attribute on the object that refers to the class from which the object was created. a. __class__ # Output: b. __class__ # Output: After simple data types, let's now understand the type function and __class__ attribute with the help of a user-defined class, Human .

__ getItem __ trong Python là gì?

# của __getItem __ [] trong Python.Kiểm tra lớp [đối tượng]: # Hàm này in loại.# của đối tượng cũng được truyền.# là mục đối tượng.

Chủ Đề