Đầu tiên và quan trọng nhất, IPython Notebook là một môi trường tương tác để viết và chạy mã Python Show Mã được chạy trong một quy trình riêng gọi là Hạt nhân IPython. Kernel có thể bị gián đoạn hoặc khởi động lại. Hãy thử chạy ô sau rồi nhấn nút "Dừng" trên thanh công cụ ở trên Nhập đánh dấu cho văn bản và latexVí dụ: nếu \(x=\alpha\) thì \(x^2 = \alpha^2\). Hơn nữa \[ \int\limits_a^b f(x) \mathrm{d} x = \Gamma. \] Bất cứ khi nào tôi bắt đầu 01 trong một thiết bị đầu cuối, tôi luôn cần nhập các mô-đun yêu thích của mình trước khi có thể bắt đầu làm việc. Ngày nay, đây luôn là một rắc rối do có quá nhiều nhiệm vụ, vì vậy hãy tự động hóa cả việc đóHồ sơ IPythonÝ tưởng chính ở đây là truy cập hồ sơ IPython của bạn và thiết lập các hành động bạn muốn chạy khi khởi động. Hồ sơ của bạn có thể được đặt tại 02 trên Linux (bạn có thể phải tìm kiếm hệ điều hành của mình trên google). Đây là cấu hình IPython mặc định. Ở đó bạn sẽ tìm thấy một thư mục 03 có tệp 04 trong đóTập lệnh khởi độngBạn có thể đọc 04 trong thư mục 03 nếu muốn, nhưng tất cả những gì nó nói là bất kỳ tệp 07 và 08 nào trong thư mục này sẽ được trình thông dịch Python thực thi trước khi dấu nhắc hiển thị cho chúng ta. Kinda những gì chúng ta muốn, phải không?Chỉ cần đặt một tệp python trong thư mục này với mã cần thiết. Tôi đặt một tệp có tên là 09 (bạn có thể đặt tên cho tệp bất cứ điều gì bạn muốn) với nội dung sau
Và Voila. Giờ đây, bạn có thể mở lời nhắc 01 và trực tiếp làm việc với các mô-đun của mìnhLàm như trên cho hồ sơ mặc định của bạn là đủ, mặc dù bạn có thể tạo một hồ sơ tùy chỉnh nếu muốn, tùy thuộc vào dự án và những thứ khác IPython Notebook và các công cụ tương tác khác rất phù hợp để tạo mẫu mã và khám phá dữ liệu, nhưng sớm hay muộn chúng ta sẽ muốn sử dụng chương trình của mình trong một đường dẫn hoặc chạy nó trong tập lệnh trình bao để xử lý hàng nghìn tệp dữ liệu. Để làm được điều đó, chúng ta cần làm cho các chương trình của mình hoạt động giống như các công cụ dòng lệnh Unix khác. Ví dụ: chúng tôi có thể muốn một chương trình đọc tập dữ liệu và in mức độ viêm trung bình trên mỗi bệnh nhân
nhưng chúng tôi cũng có thể muốn xem xét tối thiểu bốn dòng đầu tiên
hoặc các lần viêm tối đa trong một số tệp lần lượt
Yêu cầu chung của chúng tôi là
Để thực hiện công việc này, chúng ta cần biết cách xử lý các đối số dòng lệnh trong một chương trình và cách lấy đầu vào tiêu chuẩn. Chúng ta sẽ lần lượt giải quyết những câu hỏi này dưới đây mục tiêu
Đối số dòng lệnhSử dụng trình soạn thảo văn bản bạn chọn, lưu phần sau vào tệp văn bản
Dòng đầu tiên nhập một thư viện có tên là 1, viết tắt của "system". Nó xác định các giá trị như 2, mô tả phiên bản Python nào chúng tôi đang chạy. Chúng tôi có thể chạy tập lệnh này từ bên trong IPython Notebook như thế này
2hoặc như thế này 3 2Phương thức đầu tiên, 3, sử dụng một lệnh đặc biệt trong IPython Notebook để chạy chương trình trong tệp 4. Phương pháp thứ hai tổng quát hơn. dấu chấm than 5 yêu cầu Notebook chạy lệnh trình bao và thực tế là lệnh chúng tôi chạy là 6 với tên của tập lệnhĐây là một kịch bản khác làm điều gì đó thú vị hơn 9 0Cái tên lạ lùng 7 là viết tắt của "argument values". Bất cứ khi nào Python chạy một chương trình, nó sẽ lấy tất cả các giá trị được cung cấp trên dòng lệnh và đặt chúng vào danh sách 8 để chương trình có thể xác định chúng là gì. Nếu chúng ta chạy chương trình này mà không có đối số 1 2điều duy nhất trong danh sách là đường dẫn đầy đủ đến tập lệnh của bạn, đường dẫn này luôn là ________ 69. Tuy nhiên, nếu chúng ta chạy nó với một vài đối số 3 4sau đó Python thêm từng đối số đó vào danh sách ma thuật đó Với điều này trong tay, hãy xây dựng một phiên bản 20 luôn in giá trị trung bình cho mỗi bệnh nhân của một tệp dữ liệu. Bước đầu tiên là viết một hàm phác thảo cách triển khai của chúng ta và một trình giữ chỗ cho hàm thực hiện công việc thực tế. Theo quy ước, chức năng này thường được gọi là 21, mặc dù chúng ta có thể gọi nó là gì chúng ta muốn 5 6Hàm này lấy tên của tập lệnh từ 9, vì đó là nơi nó luôn được đặt và tên của tệp để xử lý từ 23. Đây là một thử nghiệm đơn giản 7Không có đầu ra vì chúng tôi đã xác định một chức năng, nhưng chưa thực sự gọi nó. Hãy thêm một cuộc gọi đến 21 8 9và chạy nó 0 1
thử thách
Xử lý nhiều tệpBước tiếp theo là hướng dẫn chương trình của chúng ta cách xử lý nhiều tệp. Vì 60 dòng đầu ra trên mỗi tệp là rất nhiều trang, chúng tôi sẽ bắt đầu bằng cách tạo ba tệp nhỏ hơn, mỗi tệp có ba ngày dữ liệu cho hai bệnh nhân 4 5 6 7Sử dụng các tệp dữ liệu nhỏ làm đầu vào cũng cho phép chúng tôi kiểm tra kết quả của mình dễ dàng hơn. ở đây, ví dụ, chúng ta có thể thấy rằng chương trình của chúng ta đang tính toán giá trị trung bình một cách chính xác cho mỗi dòng, trong khi trước đó chúng ta đã thực sự tin tưởng vào nó. Đây là một quy tắc khác của lập trình. "" Chúng tôi muốn chương trình của mình xử lý từng tệp riêng biệt, vì vậy chúng tôi cần một vòng lặp thực thi một lần cho mỗi tên tệp. Nếu chúng tôi chỉ định các tệp trên dòng lệnh, tên tệp sẽ ở dạng 8, nhưng chúng tôi cần cẩn thận. 9 sẽ luôn là tên của tập lệnh của chúng tôi, thay vì tên của tệp. Chúng tôi cũng cần xử lý một số lượng tên tệp không xác định, vì chương trình của chúng tôi có thể chạy cho bất kỳ số lượng tệp nàoGiải pháp cho cả hai vấn đề là lặp lại nội dung của 31. '1' báo cho Python bắt đầu lát ở vị trí 1, vì vậy tên của chương trình không được bao gồm; . Đây là chương trình đã thay đổi của chúng tôi 8 9và đây là hành động 0 1Ghi chú. tại thời điểm này, chúng tôi đã tạo ba phiên bản tập lệnh của mình có tên là 32, 33 và 34. Chúng tôi sẽ không làm điều này trong cuộc sống thực. thay vào đó, chúng tôi sẽ có một tệp tên là 20 mà chúng tôi cam kết kiểm soát phiên bản mỗi khi chúng tôi có một cải tiến đang hoạt động. Tuy nhiên, để giảng dạy, chúng tôi cần tất cả các phiên bản kế tiếp nhauthử thách
Xử lý cờ dòng lệnhBước tiếp theo là hướng dẫn chương trình của chúng ta chú ý đến các cờ 8, 9 và 0. Chúng luôn xuất hiện trước tên của các tệp, vì vậy chúng tôi chỉ có thể làm điều này 2 3Những công việc này 4nhưng có một số điều sai với nó
Phiên bản này đưa quá trình xử lý của từng tệp ra khỏi vòng lặp thành một chức năng của riêng nó. Nó cũng kiểm tra xem 21 có phải là một trong những cờ được phép trước khi thực hiện bất kỳ quá trình xử lý nào không, do đó chương trình bị lỗi nhanh 5 6Đây là bốn dòng dài hơn so với người tiền nhiệm của nó, nhưng được chia thành các đoạn 8 và 12 dòng dễ tiêu hóa hơn Python có một mô-đun tên là argparse giúp xử lý các cờ dòng lệnh phức tạp. Chúng tôi sẽ không đề cập đến mô-đun này trong bài học này nhưng bạn có thể xem hướng dẫn Argparse của Tshepang Lekhonkhobe, đây là một phần của Tài liệu chính thức của Python thử thách
Xử lý đầu vào tiêu chuẩnĐiều tiếp theo mà chương trình của chúng ta phải làm là đọc dữ liệu từ đầu vào tiêu chuẩn nếu không có tên tệp nào được cung cấp để chúng ta có thể đặt nó vào một đường dẫn, chuyển hướng đầu vào đến nó, v.v. Hãy thử nghiệm trong một kịch bản khác 7 8Chương trình nhỏ này đọc các dòng từ một "tệp" đặc biệt có tên là 29, được tự động kết nối với đầu vào tiêu chuẩn của chương trình. Chúng ta không cần phải mở nó—Python và hệ điều hành sẽ lo việc đó khi chương trình khởi động—nhưng chúng ta có thể làm hầu hết mọi thứ với nó mà chúng ta có thể làm với một tệp thông thường. Hãy thử chạy nó như thể nó là một chương trình dòng lệnh thông thường 9 0Điều gì sẽ xảy ra nếu chúng tôi chạy nó bằng cách sử dụng 3? 1 2Như bạn có thể thấy, 3 không hiểu chuyển hướng tệp. đó là một thứ vỏMột lỗi phổ biến là cố chạy thứ gì đó đọc từ đầu vào tiêu chuẩn như thế này 3i. e. , để quên ký tự 92 chuyển hướng tệp sang đầu vào tiêu chuẩn. Trong trường hợp này, không có gì trong đầu vào tiêu chuẩn, vì vậy chương trình sẽ đợi ở đầu vòng lặp để ai đó gõ nội dung nào đó trên bàn phím. Vì không có cách nào để chúng tôi làm điều này, chương trình của chúng tôi bị kẹt và chúng tôi phải tạm dừng chương trình bằng cách sử dụng tùy chọn ________ 193 từ menu ________ 194 trong NotebookBây giờ chúng ta cần viết lại chương trình để nó tải dữ liệu từ 29 nếu không có tên tệp nào được cung cấp. May mắn thay, 96 có thể xử lý tên tệp hoặc tệp đang mở làm tham số đầu tiên của nó, vì vậy chúng tôi thực sự không cần thay đổi 97. Điều đó để lại 21 4Hãy dùng thử (chúng ta sẽ thấy trong giây lát tại sao chúng ta gửi kết quả qua 99) 5 6Rất tiếc. tại sao chúng tôi nhận được sự trợ giúp của IPython thay vì mức trung bình từng dòng của dữ liệu của chúng tôi? . Để làm cho ý nghĩa của chúng tôi rõ ràng, chúng tôi phải sử dụng 00 (dấu gạch ngang kép) để phân tách hai
Làm cách nào để chạy IPython trong cmd?Cách dễ nhất là chạy easy_install ipython[all] với tư cách quản trị viên ( nút bắt đầu, nhập cmd , shift+nhấp chuột phải vào “cmd. exe” và chọn “Chạy với tư cách quản trị viên” ). Điều này sẽ cài đặt phiên bản IPython ổn định mới nhất bao gồm các phụ thuộc chính bắt buộc và tùy chọn.
Mô-đun IPython là gì?IPython cung cấp bộ công cụ phong phú giúp bạn tận dụng tối đa việc sử dụng Python một cách tương tác . Các thành phần chính của nó là. Shell Python tương tác mạnh mẽ. Hạt nhân Jupyter để hoạt động với mã Python trong sổ ghi chép Jupyter và các giao diện người dùng tương tác khác.
IPython và Jupyter có giống nhau không?IPython Notebook hiện được gọi là Jupyter Notebook . Đó là một môi trường tính toán tương tác, trong đó bạn có thể kết hợp thực thi mã, văn bản đa dạng thức, toán học, sơ đồ và đa phương tiện. Để biết thêm chi tiết về Jupyter Notebook, vui lòng xem trang web Jupyter.
Phép thuật IPython là gì?Các lệnh ma thuật hay phép thuật là các lệnh tiện dụng được tích hợp trong nhân IPython giúp dễ dàng thực hiện các tác vụ cụ thể , ví dụ: . IPython cung cấp hai loại phép thuật. ma thuật dòng và ma thuật tế bào. |