Ở đây, chúng tôi sẽ tạo nút dịch vụ ("add_two_ints_server") sẽ nhận hai số nguyên và trả về tổng Show Thay đổi thư mục thành gói begin_tutorials mà bạn đã tạo trong hướng dẫn trước đó, tạo một gói $ roscd beginner_tutorials Vui lòng đảm bảo rằng bạn đã làm theo hướng dẫn trong hướng dẫn trước để tạo dịch vụ cần thiết trong hướng dẫn này, tạo AddTwoInts. srv (đảm bảo chọn đúng phiên bản công cụ xây dựng mà bạn đang sử dụng ở đầu trang wiki trong liên kết) Mật mãTạo tập lệnh/add_two_ints_server. py trong gói begin_tutorials và dán đoạn mã sau vào bên trong gói Đừng quên làm cho nút có thể thực thi được
Thêm phần sau vào CMakeLists của bạn. txt. Điều này đảm bảo tập lệnh python được cài đặt đúng cách và sử dụng đúng trình thông dịch python catkin_install_python(PROGRAMS scripts/add_two_ints_server.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) Mã giải thíchBây giờ, hãy chia nhỏ mã Có rất ít để viết một dịch vụ bằng cách sử dụng rospy. Chúng tôi khai báo nút của mình bằng cách sử dụng init_node() và sau đó khai báo dịch vụ của chúng tôi 12 s = rospy.Service('add_two_ints', AddTwoInts, handle_add_two_ints) Điều này khai báo một dịch vụ mới có tên add_two_ints với loại dịch vụ AddTwoInts. Tất cả các yêu cầu được chuyển đến hàm handle_add_two_ints. handle_add_two_ints được gọi với các phiên bản của AddTwoIntsRequest và trả về các phiên bản của AddTwoIntsResponse Cũng giống như ví dụ về người đăng ký, rospy. spin() ngăn mã của bạn thoát cho đến khi dịch vụ bị tắt Viết nút máy kháchMật mãTạo tập lệnh/add_two_ints_client. py trong gói begin_tutorials và dán đoạn mã sau vào bên trong gói Đừng quên làm cho nút có thể thực thi được $ chmod +x scripts/add_two_ints_client.py Sau đó, chỉnh sửa cuộc gọi catkin_install_python() trong CMakeLists của bạn. txt để nó trông giống như sau catkin_install_python(PROGRAMS scripts/add_two_ints_server.py scripts/add_two_ints_client.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) Mã giải thíchBây giờ, hãy chia nhỏ mã Mã khách hàng gọi dịch vụ cũng đơn giản. Đối với khách hàng, bạn không cần phải gọi init_node(). Đầu tiên chúng tôi gọi 10 rospy.wait_for_service('add_two_ints') Đây là một phương pháp tiện lợi chặn cho đến khi dịch vụ có tên add_two_ints khả dụng Tiếp theo, chúng tôi tạo một tay cầm để gọi dịch vụ 12 add_two_ints = rospy.ServiceProxy('add_two_ints', AddTwoInts) Chúng ta có thể sử dụng handle này giống như một hàm bình thường và gọi nó là ________số 8 Bởi vì chúng tôi đã khai báo loại dịch vụ là AddTwoInts, nên nó thực hiện công việc tạo đối tượng AddTwoIntsRequest cho bạn (thay vào đó, bạn có thể tự chuyển qua đối tượng của riêng mình). Giá trị trả về là một đối tượng AddTwoIntsResponse. Nếu cuộc gọi không thành công, một màu hồng. ServiceException có thể bị ném, vì vậy bạn nên thiết lập khối thử/ngoại trừ thích hợp Xây dựng các nút của bạnChúng tôi sử dụng CMake làm hệ thống xây dựng của mình và vâng, bạn phải sử dụng nó ngay cả đối với các nút Python. Điều này là để đảm bảo rằng mã Python được tạo tự động cho các tin nhắn và dịch vụ được tạo Chúng tôi cũng sử dụng Makefile để thuận tiện. roscreate-pkg đã tự động tạo một Makefile nên bạn không cần phải chỉnh sửa nó Bạn đã đăng ký. Chúng tôi sẽ đặt hàng trước các mặt hàng của bạn trong vòng 24 giờ kể từ khi chúng có sẵn. Khi sách mới được phát hành, chúng tôi sẽ tính phí theo phương thức thanh toán mặc định của bạn với mức giá thấp nhất có sẵn trong thời gian đặt hàng trước Hướng dẫn thủ công này tồn tại để cung cấp cho cả nhà phát triển Python mới làm quen và chuyên gia một cuốn sổ tay thực hành tốt nhất để cài đặt, cấu hình và sử dụng Python hàng ngày Hướng dẫn này được đưa ra ý kiến theo cách gần như, nhưng không hoàn toàn, hoàn toàn không giống với tài liệu chính thức của Python. Bạn sẽ không tìm thấy danh sách mọi khung web Python có sẵn tại đây. Thay vào đó, bạn sẽ tìm thấy một danh sách ngắn gọn đẹp mắt về các tùy chọn được đề xuất cao Ghi chú Việc sử dụng Python 3 được khuyến nghị cao hơn Python 2. Cân nhắc nâng cấp các ứng dụng và cơ sở hạ tầng của bạn nếu bạn thấy mình vẫn đang sử dụng Python 2 trong phiên bản sản xuất hiện nay. Nếu bạn đang sử dụng Python 3, xin chúc mừng — bạn thực sự là một người có gu thẩm mỹ tuyệt vời. —Kenneth Reitz Bắt đầu nào. Nhưng trước tiên, hãy đảm bảo rằng bạn biết chiếc khăn của mình ở đâu Bắt đầu với Python¶Bạn mới sử dụng Python?
Môi trường phát triển Python¶Phần này của hướng dẫn tập trung vào môi trường phát triển Python và các công cụ thực hành tốt nhất hiện có để viết mã Python
Viết mã Python tuyệt vời¶Phần này của hướng dẫn tập trung vào các phương pháp hay nhất để viết mã Python
Hướng dẫn kịch bản cho các ứng dụng Python¶Phần này của hướng dẫn tập trung vào lời khuyên về công cụ và mô-đun dựa trên các tình huống khác nhau
Vận chuyển Great Python Code¶Phần này của hướng dẫn tập trung vào việc chia sẻ và triển khai mã Python của bạn
Ghi chú bổ sung¶Phần này của hướng dẫn, chủ yếu là văn xuôi, bắt đầu với một số thông tin cơ bản về Python, sau đó tập trung vào các bước tiếp theo
Ghi chú Các nốt được xác định trong tất cả các thang âm diatonic và chromatic đã bị loại trừ có chủ ý khỏi danh sách các nốt bổ sung này. Ngoài ra, lưu ý này |