Biến toàn cục Python trong gọi lại

Chọn một trang web để nhận nội dung đã dịch nếu có và xem các sự kiện và ưu đãi tại địa phương. Dựa trên vị trí của bạn, chúng tôi khuyên bạn nên chọn.

Bạn cũng có thể chọn một trang web từ danh sách sau

Làm thế nào để có được hiệu suất trang web tốt nhất

Chọn trang Trung Quốc [bằng tiếng Trung hoặc tiếng Anh] để có hiệu suất trang tốt nhất. Các trang web quốc gia khác của MathWorks không được tối ưu hóa cho các lượt truy cập từ vị trí của bạn

Nhưng không có tùy chọn nào trong số này có sẵn cho tôi. Tôi đã thấy một số bài đăng ở đây trên diễn đàn đề xuất rằng mọi người sử dụng các biến toàn cục [điều này sẽ làm rối tung bất kỳ cấu trúc nút lớn hơn nào] hoặc các lớp, nhưng việc sử dụng các lớp vẫn chỉ cấp quyền truy cập vào dữ liệu trong lớp. Để minh họa quan điểm của tôi, tôi sẽ đăng một tập lệnh [không cần chạy tập lệnh này]

#!/usr/bin/env python
import rospy
from std_msgs.msg import Int64
from std_srvs.srv import SetBool
from geometry_msgs.msg import Twist

class NumberCounter:
    def __init__[self]:
        self.counter = 0
        self.number_subscriber = rospy.Subscriber["/cmd_vel", Twist, self.callback_number]
        self.reset_service = rospy.Service["/reset_counter", SetBool, self.callback_reset_counter]
    def callback_number[self, msg]:
        self.counter += msg.linear.x
        self.asd = 'IAmUsedInTheOtherCallback'
        new_msg = Int64[]
        new_msg.data = self.counter

    def callback_reset_counter[self, req]:
        print[self.asd]
        if req.data:
            self.counter = 0
            return True, "Counter has been successfully reset"
        return False, "Counter has not been reset"

if __name__ == '__main__':
    rospy.init_node['number_counter']
    NumberCounter[]
    # Now I want to use the data used in the callback_number function but there is no way for me to call it 
    #either as an attribute [because I cannot return outside the function] or
    #as a method [because I do not have the input 'msg']
    #NumberCounter.data 

Chủ Đề