Tôi đang cố gắng đọc trong một tệp chỉ khi một số điều kiện được đáp ứng. Tuy nhiên, phương pháp duy nhất tôi có thể làm việc là lặp đi lặp lại. Có cách nào đơn giản là đơn giản là các điều kiện vào một danh sách và gọi danh sách, hoặc một cách đơn giản hơn để đạt được kết quả này? Ví dụ
if '$' not in file and '~' not in file and 'diab' not in file:
trong đó
symbols = ["$", "~", "diab"]
if all[symbol not in file for symbol in symbols]:
9 là tên tệp và nó không thể chứa các ký tự if not['$' in file and '~' in file and 'diab' in file]:
0 cũng như bất kỳ sự xây dựng nào của từ if not['$' in file and '~' in file and 'diab' in file]:
1 như Diablo.Cảm ơn bạn trước
hỏi ngày 21 tháng 7 lúc 10:41Jul 21 at 10:41
0
Sử dụng
if not['$' in file and '~' in file and 'diab' in file]:
2:symbols = ["$", "~", "diab"]
if all[symbol not in file for symbol in symbols]:
Đã trả lời ngày 21 tháng 7 lúc 10:45Jul 21 at 10:45
Dani Mesejodani MesejoDani Mesejo
58.8K6 Huy hiệu vàng46 Huy hiệu bạc68 Huy hiệu Đồng6 gold badges46 silver badges68 bronze badges
1
Bạn có thể đặt một
if not['$' in file and '~' in file and 'diab' in file]:
3 ngay từ đầu và đóng mọi thứ với dấu ngoặc đơn. Như thế này. \if not['$' in file and '~' in file and 'diab' in file]:
Nếu không, bạn có thể thay thế
if not['$' in file and '~' in file and 'diab' in file]:
4 bằng if not['$' in file and '~' in file and 'diab' in file]:
5 và if not['$' in file and '~' in file and 'diab' in file]:
3 bằng if not['$' in file and '~' in file and 'diab' in file]:
7
Tomerikoo
16.7K15 Huy hiệu vàng38 Huy hiệu bạc55 Huy hiệu Đồng15 gold badges38 silver badges55 bronze badges
Đã trả lời ngày 21 tháng 7 lúc 10:48Jul 21 at 10:48
7
Có, Python hỗ trợ nhiều kế thừa. Giống như C ++, một lớp có thể được lấy từ nhiều lớp cơ sở trong Python. Điều này được gọi là nhiều kế thừa.
Nội dung chính ShowShow
- Python Nhiều kế thừa
- Kế thừa đa cấp Python
- Thứ tự giải quyết phương pháp trong Python
- Là Python đơn hay thừa kế?
- Python có thể kế thừa từ nhiều lớp không?
- Việc thừa kế nào không được hỗ trợ trong Python?
- Python có hỗ trợ nhiều kế thừa nếu có giải thích vấn đề kim cương?
Trong Python khi tất cả các lớp kế thừa từ đối tượng, có khả năng nhiều bản sao của đối tượng được kế thừa bất cứ khi nào sử dụng nhiều kế thừa.Đó là, vấn đề kim cương xảy ra ngay cả trong đơn giản nhất của nhiều kế thừa.the diamond problem occurs even in the simplest of multiple inheritance.
Có, Python hỗ trợ nhiều kế thừa. Giống như C ++, một lớp có thể được lấy từ nhiều lớp cơ sở trong Python. Điều này được gọi là nhiều kế thừa.
Class Base1: Body of the class Class Base2: Body of the class Class Base3: Body of the class . . . Class BaseN: Body of the class Class Derived[Base1, Base2, Base3, … , BaseN]: Body of the class
Nội dung chính Show
Python Nhiều kế thừa
Kế thừa đa cấp Python
Thứ tự giải quyết phương pháp trong Python
Trong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Hãy cho chúng tôi xem cú pháp -
Cú pháp
class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
Đầu ra
True It eats insects. It sleeps in the night. It flies in the sky. It sings a song. True
Để biết thuật toán thực tế về cách tính toán MRO, hãy truy cập thảo luận về MRO.
- Là Python đơn hay thừa kế?
- Có, Python hỗ trợ nhiều kế thừa.Giống như C ++, một lớp có thể được lấy từ nhiều lớp cơ sở trong Python.Điều này được gọi là nhiều kế thừa.multiple inheritance. Like C++, a class can be derived from more than one base classes in Python. This is called Multiple Inheritance.
- Python có thể kế thừa từ nhiều lớp không?
- Python hỗ trợ kế thừa từ nhiều lớp..
- Việc thừa kế nào không được hỗ trợ trong Python?
- Trả lời: Không giống như các ngôn ngữ lập trình hướng đối tượng khác như Java, Python hỗ trợ tất cả các loại kế thừa, thậm chí nhiều kế thừa!Và mặc dù C ++ cũng hỗ trợ loại kế thừa này, nhưng nó không có cùng cách tiếp cận tinh vi và được thiết kế tốt như Python.
- Python có hỗ trợ nhiều kế thừa nếu có giải thích vấn đề kim cương?
- Trong Python khi tất cả các lớp kế thừa từ đối tượng, có khả năng nhiều bản sao của đối tượng được kế thừa bất cứ khi nào sử dụng nhiều kế thừa.Đó là, vấn đề kim cương xảy ra ngay cả trong đơn giản nhất của nhiều kế thừa.the diamond problem occurs even in the simplest of multiple inheritance.
- Có, Python hỗ trợ nhiều kế thừa. Giống như C ++, một lớp có thể được lấy từ nhiều lớp cơ sở trong Python. Điều này được gọi là nhiều kế thừa.
- Nội dung chính Show
- Python Nhiều kế thừa
- Kế thừa đa cấp Python
- Thứ tự giải quyết phương pháp trong Python
- Trong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Hãy cho chúng tôi xem cú pháp -
- Cú pháp
- Lớp dẫn xuất kế thừa từ cả Base1, Base2 và Base3Classes.
Python Nhiều kế thừa
Kế thừa đa cấp Python
Thứ tự giải quyết phương pháp trong Python
Python Nhiều kế thừa
class Base1:
pass
class Base2:
pass
class MultiDerived[Base1, Base2]:
pass
Kế thừa đa cấp Python
Thứ tự giải quyết phương pháp trong PythonTrong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Hãy cho chúng tôi xem cú pháp -
Kế thừa đa cấp Python
Thứ tự giải quyết phương pháp trong Python
Trong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Hãy cho chúng tôi xem cú pháp -
Cú pháp
class Base:
pass
class Derived1[Base]:
pass
class Derived2[Derived1]:
pass
Lớp dẫn xuất kế thừa từ cả Base1, Base2 và Base3Classes.
Thứ tự giải quyết phương pháp trong Python
Trong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Hãy cho chúng tôi xem cú pháp -
Vì vậy, về mặt kỹ thuật, tất cả các lớp khác, được tích hợp hoặc do người dùng xác định, là các lớp có nguồn gốc và tất cả các đối tượng là các trường hợp của lớp
if not['$' in file and '~' in file and 'diab' in file]:
8.# Output: True
print[issubclass[list,object]]
# Output: True
print[isinstance[5.5,object]]
# Output: True
print[isinstance["Hello",object]]
Trong kịch bản nhiều kế thừa, bất kỳ thuộc tính được chỉ định nào được tìm kiếm đầu tiên trong lớp hiện tại. Nếu không được tìm thấy, việc tìm kiếm tiếp tục vào các lớp phụ huynh ở thời trang sâu, trái phải mà không tìm kiếm cùng một lớp hai lần.
Vì vậy, trong ví dụ trên của lớp
1, thứ tự tìm kiếm là [class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
1,class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
3,class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
4,class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
if not['$' in file and '~' in file and 'diab' in file]:
8]. Thứ tự này còn được gọi là tuyến tính hóa của lớp 1 và tập hợp các quy tắc được sử dụng để tìm thứ tự này được gọi là thứ tự phân giải phương thức [MRO].Method Resolution Order [MRO].Method Resolution Order [MRO].class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
MRO phải ngăn chặn đặt hàng ưu tiên cục bộ và cũng cung cấp tính đơn điệu. Nó đảm bảo rằng một lớp học luôn xuất hiện trước cha mẹ của nó. Trong trường hợp của nhiều phụ huynh, thứ tự giống như các bộ dữ liệu của các lớp cơ sở.
MRO của một lớp có thể được xem là thuộc tính
7 hoặc phương thứcclass Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
8. Cái trước trả lại một tuple trong khi cái sau trả lại một danh sách.class Animal: def eat[self]: print["It eats insects."] def sleep[self]: print["It sleeps in the night."] class Bird[Animal]: def fly[self]: print["It flies in the sky."] def sing[self]: print["It sings a song."] print[issubclass[Bird, Animal]] Koyal= Bird[] print[isinstance[Koyal, Bird]] Koyal.eat[] Koyal.sleep[] Koyal.fly[] Koyal.sing[]
symbols = ["$", "~", "diab"]
if all[symbol not in file for symbol in symbols]:
6Dưới đây là một ví dụ kế thừa đa dạng phức tạp hơn một chút và trực quan hóa của nó cùng với MRO.
Trực quan hóa nhiều kế thừa trong Pythonsymbols = ["$", "~", "diab"]
if all[symbol not in file for symbol in symbols]:
7Đầu ra
symbols = ["$", "~", "diab"]
if all[symbol not in file for symbol in symbols]:
8Để biết thuật toán thực tế về cách tính toán MRO, hãy truy cập thảo luận về MRO.
Là Python đơn hay thừa kế?
Có, Python hỗ trợ nhiều kế thừa.Giống như C ++, một lớp có thể được lấy từ nhiều lớp cơ sở trong Python.Điều này được gọi là nhiều kế thừa.multiple inheritance. Like C++, a class can be derived from more than one base classes in Python. This is called Multiple Inheritance.multiple inheritance. Like C++, a class can be derived from more than one base classes in Python. This is called Multiple Inheritance.
Python có thể kế thừa từ nhiều lớp không?
Python hỗ trợ kế thừa từ nhiều lớp...
Việc thừa kế nào không được hỗ trợ trong Python?
Trả lời: Không giống như các ngôn ngữ lập trình hướng đối tượng khác như Java, Python hỗ trợ tất cả các loại kế thừa, thậm chí nhiều kế thừa!Và mặc dù C ++ cũng hỗ trợ loại kế thừa này, nhưng nó không có cùng cách tiếp cận tinh vi và được thiết kế tốt như Python.
Python có hỗ trợ nhiều kế thừa nếu có giải thích vấn đề kim cương?
Trong Python khi tất cả các lớp kế thừa từ đối tượng, có khả năng nhiều bản sao của đối tượng được kế thừa bất cứ khi nào sử dụng nhiều kế thừa.Đó là, vấn đề kim cương xảy ra ngay cả trong đơn giản nhất của nhiều kế thừa.the diamond problem occurs even in the simplest of multiple inheritance.the diamond problem occurs even in the simplest of multiple inheritance.