Xin chào, tôi đang cố triển khai mã để nói chuyện với một trình tạo dạng sóng tùy ý. Mục tiêu cuối cùng là nói chuyện đồng thời với nhiều kênh của hai trình tạo để so sánh độ chính xác của chúng
Tôi muốn tạo Kênh lớp lồng nhau trong Trình tạo lớp bên ngoài. Tôi muốn Kênh lớp bên trong chứa trong đó các chức năng khác nhau để giao tiếp với kênh đã chỉ định của trình tạo đã chỉ định. Để làm điều này, tôi cần đối tượng được tạo trong Kênh lớp bên trong để có thể đọc tên được gán cho đối tượng bên ngoài. Tôi hy vọng mã trông giống như bên dưới
class Generator:
def __init__[self, name]:
self.name = name
class Channel:
def __init__[self, number]:
self.number = number
def sine[self, [actual parameters for function]]:
*talk to generator from here - requires variable 'Generator.name'
gen1 = Generator["name of generator"]
c1 = gen1.Channel[1]
c1.sine[[actual parameters for function]]
Tôi đã thử thêm super[] và biến lớp lồng nhau thành lớp con, nhưng dường như không có gì hiệu quả. Tôi dường như không thể tự động chuyển tên của trình tạo đến các hàm trong đối tượng lồng nhau. Bất kỳ trợ giúp sẽ được đánh giá cao
Xin chào các chuyên viên máy tính và chào mừng trong bài viết này, chúng tôi sẽ đề cập đến các lớp Nested trong Python. Như chúng ta đã biết Python là một ngôn ngữ lập trình hướng đối tượng. Vì vậy, một lớp là một mã cần thiết để tạo các đối tượng. Khi một lớp được khởi tạo, một số phương thức ma thuật được gọi tự động. Chúng tôi đã trình bày chi tiết các phương pháp ma thuật khác nhau
Chúng ta hãy thử tìm hiểu tổng quan về lớp lồng nhau trong python. Một lớp được định nghĩa trong một lớp khác được gọi là Lớp lồng nhau. Nếu một đối tượng được tạo bằng lớp lồng nhau thì đối tượng đó cũng có thể được tạo bằng lớp Parent. Hơn nữa, một lớp cha có thể có nhiều lớp lồng nhau trong đó. Khi chúng tôi tiếp tục trong bài viết này, chúng tôi sẽ đề cập chi tiết mọi thứ
nội dung
- Cần các lớp lồng nhau
- Tạo các lớp lồng nhau trong Python
- Các loại lớp bên trong
- 1. Nhiều lớp bên trong
- 2. Lớp bên trong đa cấp
- Phần kết luận
Cần các lớp lồng nhau
Hãy để chúng tôi cố gắng hiểu tại sao chúng tôi cần các Lớp lồng nhau. Chúng ta có con người và quần áo, không có con người thì không cần quần áo. Vì vậy, chúng ta có thể coi quần áo là lớp người lồng nhau. Với sự trợ giúp của lớp lồng nhau, chúng ta cũng có thể ẩn mã. Ngoài ra, đối với quan điểm của lập trình viên, việc tương quan giữa các lớp và nâng cao hiểu biết sẽ dễ dàng hơn
Tạo các lớp lồng nhau trong Python
Trong phần này, chúng ta sẽ chủ yếu tập trung vào việc tạo các lớp lồng nhau. Để làm như vậy chúng ta hãy xem xét một ví dụ
class language: def __init__[self]: self.language = 'PYTHON' self.lg = self.specification[] def show[self]: print["Language:", self.language] class specification: def __init__[self]: self.type = 'HIGH-LEVEL' self.founded = '1991' def display[self]: print["type:", self.type] print["Founded:", self.founded] out = language[] out.show[] ppool = out.lg ppool.display[]
Language: PYTHON type: HIGH-LEVEL Founded: 1991
Ở trên, chúng ta đã tạo thành công một lớp lồng nhau. Bây giờ chúng ta hãy đi từng dòng một và hiểu rằng chúng ta đã làm như vậy. Vì vậy, lúc đầu, chúng tôi đã tạo một lớp có tên ngôn ngữ. Bên trong nó, chúng tôi đã sử dụng từ khóa self. Từ khóa self là nơi nghỉ ngơi mà qua đó chúng ta có thể truy cập thuộc tính và phương thức của lớp đã tạo. Bên trong lớp ngôn ngữ, chúng ta đã tạo một lớp lồng nhau khác gọi là đặc tả. Tương tự như vậy, chúng tôi đã xác định các thông số kỹ thuật. Cuối cùng, chúng tôi nhận được đầu ra mong muốn của chúng tôi
Các loại lớp bên trong
Lớp bên trong có thể được chia thành các phần mà chúng ta sẽ đề cập chi tiết tiếp theo
1. Nhiều lớp bên trong
class Employe: def __init__[self]: self.name = "Employe" self.intern = self.intern[] self.head = self.head[] def show[self]: print['Employe List'] print['Name:', self.name] class intern: def __init__[self]: self.name = 'Smith' self.Id = '657' def display[self]: print["Name:", self.name] print["Id:", self.Id] class head: def __init__[self]: self.name = 'Auba' self.Id = '007' def display[self]: print["Name:", self.name] print["Degree:", self.Id] outer = Employe[] outer.show[] d1 = outer.intern d2 = outer.head print[] d1.display[] print[] d2.display[]
đầu ra
Employe List Name: Employe Name: Smith Id: 657 Name: Auba Degree: 007
Một lớp có nhiều hơn một lớp bên trong được gọi là Nhiều lớp bên trong. Trên đây chúng ta đã thực hiện thành công. Ở đây lớp Employe là lớp bên ngoài của chúng ta. Bên trong đó chúng tôi đã tạo 2 lớp con. Một tên theo tên của Thực tập sinh và một tên theo tên của người đứng đầu
2. Lớp bên trong đa cấp
class multi: def __init__[self]: self.inner = self.Inner[] self.innerinner = self.inner.InnerInner[] def show[self]: print["This is Outer class"] ## inner class class Inner: def __init__[self]: self.innerinner = self.InnerInner[] def show_classes[self]: print["This is Inner class"] print[self.innerinner] class InnerInner: def inner_display[self, msg]: print["InnerInner class"] print[msg] def inner_display[self, msg]: print["This is Inner class"] print[msg] outer=multi[] outer.show[] inner = multi.Inner[] innerinner = inner.InnerInner[] innerinner.inner_display["completed"]
đầu ra
This is Outer class InnerInner class completed
Lớp đa cấp có thể hiểu là lớp có lớp bên trong. Ngoài ra, lớp bên trong có một lớp bên trong. Từ mã, bạn có thể biết được cách thực hiện quy trình cụ thể này. Cả hai loại đều dễ thực hiện và dễ hiểu. Bạn có thể sử dụng chúng theo nhu cầu của bạn
Phần kết luận
Trong bài viết này, chúng tôi đã đề cập đến các lớp lồng nhau trong Python. Chúng tôi đã xem xét sự cần thiết của các lớp lồng nhau trong lập trình. Sau đó, chúng tôi cũng xem xét cách triển khai lớp lồng nhau thông qua một ví dụ. Chúng tôi cũng đã xem xét các loại lớp lồng nhau khác nhau
Tôi hy vọng bài viết này có thể xóa tan mọi nghi ngờ. Nhưng trong trường hợp bạn có bất kỳ câu hỏi nào chưa được giải quyết, vui lòng viết chúng bên dưới trong phần bình luận. Đọc xong cái này, tại sao không đọc về getpass tiếp theo