sách gpt4 ăn đã đi

Python thực sự đã bắt đầu sao chép bài tập về nhà, lần này là Rust

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 29 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Python này thực sự đã bắt đầu sao chép bài tập về nhà. Lần này tôi đã sao chép Rust do tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Python thực sự đã bắt đầu sao chép bài tập về nhà, lần này là Rust

Trong suốt tháng 9, tôi đã làm việc trên một dự án js. Bởi vì tôi đã không viết js trong nhiều năm nên tôi đã tìm kiếm một số thông tin về js trong một thời gian dài trước khi bắt đầu. Tôi nhận thấy rằng js ngày càng trở nên giống Python. Chưa kể rằng js đã chuyển từ hướng đối tượng dựa trên nguyên mẫu sang hướng đối tượng dựa trên lớp. Chỉ riêng việc giới thiệu các mảng được định kiểu đã khiến tôi, người đã quen với NumPy, vui mừng khôn xiết. Ngoài ra, khả năng hiểu và trang trí mảng của js gần như sao chép hoàn toàn tác phẩm của Python.

Bước sang tháng 10, Ban chỉ đạo cộng đồng Python chính thức ra mắt Python 3.10. Đã đúng một năm trôi qua kể từ khi phiên bản cuối cùng được phát hành. Tôi nhớ rằng vài ngày sau khi phát hành Python 3.9, tôi đã viết một bài đăng trên blog có tiêu đề "Chuyển đổi nguy hiểm: Python đang chuyển từ sự đơn giản sang cồng kềnh, từ tính thực tế sang sự hào nhoáng". cũng ghét sâu sắc Nó cũng bị cắt. Lần này phiên bản mới được phát hành, tôi đương nhiên không bỏ qua cơ hội dùng thử, tôi nhanh chóng cài đặt và dùng thử, chỉ để phát hiện ra rằng Python, vốn luôn là duy nhất, bắt đầu sao chép bài tập về nhà, lần này là từ Rust. .

Như chúng ta đã biết, Rust có hai báu vật chính, một là mô hình bộ nhớ an toàn và hai là khớp mẫu. Về mặt quản lý bộ nhớ, Python sử dụng mô hình bộ nhớ gom rác truyền thống, không thể so sánh được nhiều với Rust. Với việc phát hành Python 3.10, tính năng khớp mẫu đã được đưa vào Python và gần như sao chép hoàn toàn khái niệm về Rust. Rust hỗ trợ liên kết biến, phá hủy cấu trúc/bộ dữ liệu, phán đoán điều kiện bảo vệ, khớp phạm vi số và các tính năng khác trong khớp mẫu. Python chấp nhận tất cả chúng, bao gồm cả việc khớp dấu gạch dưới_ trong mọi tình huống và kế thừa chúng nguyên vẹn.

Hãy cùng khám phá bản nâng cấp quan trọng nhất của Python 3.10 - khăn trùm đầu phù hợp với mẫu.

Tương tự như trường hợp chuyển đổi trong ngôn ngữ C, ứng dụng đơn giản nhất của việc khớp mẫu của Python là khớp các giá trị bằng chữ:

  1. >>>a=3
  2. >>>phù hợp(a):
  3. trường hợp1:
  4. in("a==1")
  5. trường hợp2:
  6. in("a==2")
  7. trường hợp_:#mặc định
  8. in("khác")
  9. khác

Trong câu lệnh case, thao tác OR được hỗ trợ:

  1. >>>nhập ngày giờ
  2. >>>n=datetime.datetime.now()
  3. >>>match(n.weekday()):
  4. trường hợp0|1|2|3|4:in("ngày làm việc")
  5. trường hợp5|6:in("ngày cuối tuần")
  6. ngày làm việc

Ngoài các giá trị bằng chữ, các câu lệnh tình huống còn hỗ trợ việc phá hủy các mẫu được đề cập ở trên, chẳng hạn như các bộ dữ liệu:

  1. >>>a=(0,1)
  2. >>>phù hợp(a):
  3. trường hợp(0,y):#match tất cả các bộ có phần tử thứ 0 là 0
  4. in(f"a[0]==0,a[1]=={y}")
  5. trường hợp(x,0):#match tất cả các bộ có phần tử đầu tiên là 0
  6. in(f"a[1]==0,a[0]=={x}")
  7. a[0]==0, a[1]==1

danh sách cặp:

  1. >>>lệnh="kiểm tra"
  2. >>>phù hợp(cmd.split()):
  3. trường hợp["là",đường dẫn]:in(f"Hiển thị tập tin và thư mục trong {path}")
  4. trường hợp["r",đường dẫn]:in(f"Xóa tập tin và thư mục trong {path}")
  5. trường hợp["cp",src,đích]:in(f"Sao chép {src} sang {dest}")
  6. Hiển thị tập tin và thư mục trong thử nghiệm

Đối với từ điển:

  1. >>>a={"tên":"xxx","tuổi":40,"công việc":"lập trình viên"}
  2. >>>phù hợp(a):
  3. trường hợp{"tên":tên,"tuổi":tuổi,"công việc":"lập trình viên"}:
  4. in(f"Anh ấy là một lập trình viên, tên anh ấy là {name} và anh ấy {tuổi} tuổi")
  5. trường hợp{"tên":tên,"tuổi":tuổi,"công việc":"giáo viên"}:
  6. in(f"Anh ấy là nhà giáo nhân dân, tên là {name}, anh ấy {tuổi} tuổi")
  7. Anh ấy là lập trình viên, tên là xxx, 40 tuổi

Đối với các đối tượng lớp, trường hợp khớp vẫn có thể được sử dụng, chẳng hạn như:

  1. >>>lớpĐiểm():
  2. def__init__(bản thân, x, y):
  3. tự.x=x
  4. tự.y=y
  5. >>>a=Điểm(1,2)
  6. >>>phù hợp(a):
  7. trường hợpĐiểm(x=1,y=y):in(f"Đây là một điểm có tọa độ X là 1 và tọa độ Y của nó là {y}")
  8. trường hợpĐiểm(x=x,y=2):in(f"Đây là một điểm có tọa độ Y là 2 và tọa độ X của nó là {x}")
  9. Đây là một điểm có tọa độ X là 1 và tọa độ Y của nó là 2

Cũng có thể được sử dụng với nhiều lớp:

  1. >>>LớpLập trình viên:
  2. def__init__(tự, lang):
  3. self.lang=lang
  4. >>>Giáo viên lớp:
  5. def__init__(bản thân, chủ thể):
  6. self.subject=chủ đề
  7. >>>a=Lập trình viên("Trăn")
  8. >>>phù hợp(a):
  9. trường hợpChương trình(dài="Trăn"):in("Tất cả chúng tôi đều là lập trình viên Python!")
  10. trường hợpLập trình viên():in("Vậy ra bạn cũng là một lập trình viên!")
  11. trường hợpGiáo viên():in("Kính chào thầy giáo nhân dân!")
  12. Tất cả chúng ta đều là lập trình viên Python!

Sau câu lệnh case, nó cũng được hỗ trợ thêm câu lệnh if để hạn chế hơn nữa các điều kiện khớp. Câu lệnh if này được gọi là "bảo vệ". giống:

  1. >>>lớpĐiểm():
  2. def__init__(bản thân, x, y):
  3. tự.x=x
  4. tự.y=y
  5. >>>a=Điểm(2,2)
  6. >>>phù hợp(a):
  7. trường hợpĐiểm(x=x,y=y)nếux==y:in("Điểm này nằm trên đường thẳng có độ dốc 1")
  8. trường hợpĐiểm(x=x,y=y)nếux==-y:in("Điểm này nằm trên đường thẳng có độ dốc -1")
  9. Điểm này nằm trên đường thẳng có độ dốc 1

Điều đáng tiếc là tôi đã không tìm ra cách sử dụng trực tiếp phạm vi trong báo cáo trường hợp, nhưng điều này có thể được giải quyết với những người bảo vệ:

  1. >>>a=5
  2. >>>phù hợp(a):
  3. trường hợpxif1<=x<10:in("Số nằm trong khoảng từ 1 đến 10")
  4. trường hợpxif10<=x<20:in("Con số nằm trong khoảng từ 10 đến 20")
  5. Số từ 1 đến 10

Liên kết gốc: https://mp.weixin.qq.com/s/kXblwnxsphb00ATDPfsdTA.

Cuối cùng, trong bài viết này về Python, tôi thực sự đã bắt đầu sao chép bài tập về nhà. Lần này tôi đã sao chép Rust. Chỉ vậy thôi. Nếu bạn muốn biết thêm về Python, tôi thực sự đã bắt đầu sao chép bài tập về nhà. tiếp tục duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

29 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress