Sự kiện trong lập trình Python

Nhận toàn quyền truy cập vào Kiến trúc phần mềm với Python và hơn 60 nghìn tựa game khác, với bản dùng thử miễn phí 10 ngày của O'Reilly

Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v.

Trình xử lý sự kiện là một lớp, một phần của các sự kiện, chỉ chịu trách nhiệm quản lý tất cả các cuộc gọi lại sẽ được thực thi khi được gọi. Sự kiện chỉ đơn giản là một hành động, chẳng hạn như nhấp vào nút, sau đó dẫn đến một sự kiện khác mà nhà phát triển đã chỉ định. Cốt lõi của Trình xử lý sự kiện Python là quản lý các sự kiện này, sắp xếp và làm cho chúng hoạt động như dự kiến ​​theo cách đã định. Một thực tế đã biết là các chương trình tuân theo việc xử lý sự kiện thích hợp sẽ linh hoạt và dễ quản lý. Gỡ lỗi các chương trình như vậy là dễ dàng. Một ưu điểm khác là khả năng thay đổi chương trình tại bất kỳ thời điểm nào, tùy theo nhu cầu.

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá bán
Xem các khóa học

Hơn 600 khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời
4. 6 [86.198 xếp hạng]

Một trong những ví dụ cho python là Giao diện Python của Tkinter. Tkinter là một công cụ GUI dành cho python, luôn chờ đợi một sự kiện xảy ra. Nó cung cấp một cơ chế dễ dàng để nhà phát triển quản lý hiệu quả các sự kiện. Để quản lý liên kết giữa sự kiện nhấp chuột và sự kiện của hành động tiếp theo là quy trình cốt lõi của trình xử lý sự kiện trong python

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Trình xử lý sự kiện hoạt động như thế nào trong Python?

Lớp Trình xử lý sự kiện trong python hoạt động tương tự như trong các ngôn ngữ lập trình khác. Chúng tôi đã hiểu rằng hoạt động của các sự kiện về cơ bản giống như việc giương cao lá cờ cho một sự kiện. Và một lớp chịu trách nhiệm xử lý và giám sát các sự kiện này được gọi là trình xử lý sự kiện. Một ví dụ rất đơn giản để hiểu hoạt động của các sự kiện và trình xử lý sự kiện là biểu mẫu người dùng. Sau khi người dùng điền xong thông tin, người dùng phải nhấp vào nút gửi, gửi thông tin chi tiết và xử lý nó. Trong Python, nơi chúng tôi đã đề cập đến các sự kiện, có hai đầu

Một là lớp phát sinh sự kiện, được gọi là nhà xuất bản và lớp còn lại chịu trách nhiệm nhận các sự kiện đã phát sinh được gọi là người đăng ký. Tương tự như các ngôn ngữ lập trình khác, Sự kiện trong Python có thể gọi cho nhiều số người đăng ký, đồng thời những người đăng ký này có thể gọi cho nhiều số nhà xuất bản. đây là một trong những tính năng tuyệt vời liên quan đến xử lý sự kiện. Chúng tôi cũng hiểu rằng có thể sử dụng nhiều chức năng có gọi lại cho cùng một sự kiện. Vì vậy, khi chẵn được kích hoạt, mọi trình xử lý sự kiện khác, được đính kèm với sự kiện, sẽ được gọi theo cách tuần tự

Ví dụ để triển khai Trình xử lý sự kiện Python

Dưới đây là các ví dụ về Trình xử lý sự kiện Python

Ví dụ 1

Mã số


class Eventsample[object]: 
	def __init__[self]: 
		self.__eventhandlersample = [] 
	def __iadd__[self, Ehandler]: 
		self.__eventhandlersample.append[Ehandler] 
		return self
	def __isub__[self, Ehandler]: 
		self.__eventhandlersample.remove[Ehandler] 
		return self

	def __call__[self, *args, **keywargs]: 
		for eventhandlersample in self.__eventhandlersample: 
			eventhandlersample[*args, **keywargs] 
				
class MessToDisplay[object]: 
	def __init__[self, Mess]: 
		self._tele = Mess 
	
	def PrintM[self]: 
		print "Simple Message for an Event..."

class sampleclass[object] : 
	
	def __init__[self] : 
		self.OnEH = Eventsample[] 
		
	def Ehnew[self] : 
		self.OnEH[] 
		
	def anotherevent[self,objMeth]: 
		self.OnEH += objMeth 
		
	def nexteven[self,objMeth] : 
		self.OnEH -= objMeth 

def Simulation[] : 
	newsample = sampleclass[] 
	displayamess = MessToDisplay[100] 
	newsample.anotherevent[displayamess.PrintM] 
	newsample.EHnew[] 	
if __name__ == "__main__":		 
	Simulation[]

đầu ra

Giải trình. Ví dụ của chúng tôi, chúng tôi chỉ cố gắng tạo một chuỗi các sự kiện. Một vài lớp và phương thức, theo cách của sự kiện, được xử lý bởi trình xử lý sự kiện. Bắt đầu với một lớp đơn giản có tên Eventsample, với tất cả các phương thức cần thiết được định nghĩa. bản thân. __eventhandlersample = [] là phiên bản đầu tiên của sự kiện. Sau đó, chúng tôi có các chức năng tương tự nhưng với các hoạt động khác nhau. Phiên bản đầu tiên của chúng tôi chỉ in thông báo, trong khi phiên bản thứ hai nối thêm và phiên bản thứ ba được sử dụng để xóa

Sau đó, chúng tôi có lớp thứ hai, đây là lớp chính đối với chúng tôi vì nó chứa thông báo thực tế sẽ được in. Chúng tôi có hai hàm được định nghĩa bên trong lớp này. Thông điệp in có tầm quan trọng ở đây. Trường hợp nếu bạn tập có thể thêm nhiều lớp như vậy với nhiều dòng in

Sau đó, chúng ta có lớp cuối cùng, lớp mẫu, có nhiều chức năng. Đối với nhiều chức năng này, các đối tượng khác nhau được tạo. Sau đó, chúng tôi có chức năng cuối cùng, hoạt động theo trình tự để thực hiện đúng các sự kiện này. Khi được thực thi, mã của chúng tôi sẽ in cái này. “Đây là thông báo cho sự kiện”

Như đã giải thích, chương trình đã được thực thi mà không có bất kỳ lỗi nào. Mặc dù nó trông giống như một dòng được in, nhưng có rất nhiều sự kiện đang chạy trong chương trình và điều này xảy ra. Có nhiều ứng dụng thời gian thực thực hiện xử lý sự kiện. Ví dụ, một hệ thống báo động gia đình đơn giản hoàn toàn dựa trên các sự kiện. Để mở rộng, chúng ta có thể nói, khi hệ thống phát hiện hoạt động trái phép xung quanh hoặc bên trong ngôi nhà, nó sẽ treo cờ. Sau đó, cờ được gửi đến hệ thống, báo cho hệ thống gửi thông báo cảnh báo cho chủ sở hữu của công ty báo động, Cảnh sát, v.v. Đây là một chuỗi các sự kiện, kích hoạt sự kiện tiếp theo trên cơ sở của lần trước

Ví dụ #2

Ở đây chúng ta sẽ triển khai các lớp và hàm để thực hiện các sự kiện theo thứ tự. Mã như sau

Mã số

class EventSample[object]:
    callbacks = None
	
    def on[self, EHname, callback]:
        if self.callbacks is None:
            self.callbacks = {}
	
        if EHname not in self.callbacks:
            self.callbacks[EHname] = [callback]
        else:
            self.callbacks[EHname].append[callback]
	
    def trigger[self, EHname]:
        if self.callbacks is not None and EHname in self.callbacks:
            for callback in self.callbacks[EHname]:
                callback[self]
	
class MClass[EventSample]:
    def __init__[self, mess]:
        self.mess = mess
	
    def __str__[self]:
        return "Message from other class: " + repr[self.mess]
	
def echo[text]:
    print text
	
MC = MClass["Sample text"]
MC.on["sample_event", echo]
MC.trigger["sample_event"]

đầu ra

Giải trình. Tương tự như ví dụ đầu tiên của chúng tôi, chúng tôi có nhiều lớp và chức năng, tất cả đều dẫn đến nhiều sự kiện. Đối với ví dụ thứ hai của chúng tôi, chúng tôi đã sử dụng chức năng gọi lại; . Chúng tôi đã xác định lớp đầu tiên của mình, với hàm gọi lại, sau đó là nhiều định nghĩa của chúng tôi với if. Chúng tôi đã triển khai triệt để chức năng gọi lại. Cuối cùng, chúng tôi có MClass, bao gồm thông báo mà chúng tôi định in. Sau đó, một chức năng đơn giản để lặp lại, in văn bản của chúng tôi. Cuối cùng, ba dòng mã đơn giản để in các sự kiện

Các phương pháp lập trình hướng sự kiện được triển khai phần lớn với các chương trình Giao diện người dùng

Với các chương trình giao diện người dùng, chúng tôi có các loại thành phần và hành động khác nhau đang chờ một sự kiện xảy ra. Và khi sự kiện xảy ra, nó được theo sau bởi sự kiện dự định. Đây là cả một quá trình diễn ra sự kiện và được quản lý, giám sát bởi trình xử lý sự kiện trong python. Có một danh sách các gói có sẵn để các lập trình viên python lựa chọn để sử dụng các sự kiện

Phần kết luận

Để xử lý mọi hành động đơn lẻ trong một chương trình là hoạt động chính của Trình xử lý sự kiện Python. Có những người đăng ký và nhà xuất bản như một phần của sự kiện trong Python. Cả những người đăng ký và xuất bản này có thể là nhiều và hơn nữa. Việc thực hiện các sự kiện này theo cách tuần tự dự kiến ​​là rất quan trọng đối với việc thực hiện chương trình

Bài viết được đề xuất

Đây là hướng dẫn về Trình xử lý sự kiện Python. Ở đây chúng tôi thảo luận về Giới thiệu và Hoạt động của Trình xử lý sự kiện Python cùng với các ví dụ và triển khai mã. Bạn cũng có thể xem qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm –

Sự kiện trong Python là gì?

Sự kiện là cấu trúc cho phép một lớp thông báo cho các lớp khác khi có điều gì đó quan tâm diễn ra . Trong ngôn ngữ dân gian, về cơ bản, nó tương tự như việc giương cờ để báo hiệu cho người khác rằng điều gì đó đáng quan tâm đã xảy ra.

Các sự kiện trong lập trình là gì?

Sự kiện là các hành động hoặc sự kiện xảy ra trong hệ thống mà bạn đang lập trình , mà hệ thống sẽ cho bạn biết để mã của bạn có thể phản ứng với chúng. Ví dụ: nếu người dùng nhấp vào nút trên trang web, bạn có thể muốn phản ứng lại hành động đó bằng cách hiển thị hộp thông tin.

Python xử lý các sự kiện như thế nào?

Giới thiệu về Trình xử lý sự kiện Python. Trình xử lý sự kiện là một lớp, một phần của sự kiện, chỉ chịu trách nhiệm quản lý tất cả các lệnh gọi lại sẽ được thực thi khi được gọi . Sự kiện chỉ đơn giản là một hành động, chẳng hạn như nhấp vào nút, sau đó dẫn đến một sự kiện khác mà nhà phát triển đã chỉ định.

Lập trình sự kiện hoạt động như thế nào?

Khi bạn thực hiện một hành động trên một thành phần đồ họa, bạn tạo ra một sự kiện. Trong lập trình hướng sự kiện, chương trình đáp ứng các sự kiện. Chương trình phản hồi các sự kiện mà người dùng tạo ra khi tương tác với các thành phần GUI. Thứ tự của các sự kiện được kiểm soát bởi người dùng

Chủ Đề