Jupyter - Hướng dẫn nhanh

Project Jupyter là một bộ sản phẩm phần mềm được sử dụng trong máy tính tương tác. IPython ban đầu được phát triển bởi Fernando Perez vào năm 2001 như một trình thông dịch Python nâng cao. Một giao diện dựa trên web tới thiết bị đầu cuối IPython dưới dạng máy tính xách tay IPython được giới thiệu vào năm 2011. Năm 2014, Project Jupyter bắt đầu như một dự án phụ từ IPython.

Các gói trong dự án Jupyter bao gồm:

  • Jupyter notebook - Một giao diện dựa trên web cho các môi trường lập trình của Python, Julia, R và nhiều môi trường khác

  • QtConsole - Thiết bị đầu cuối dựa trên Qt cho hạt nhân Jupyter tương tự như IPython

  • nbviewer - Cơ sở chia sẻ sổ ghi chép Jupyter

  • JupyterLab - Giao diện tích hợp dựa trên web hiện đại cho tất cả các sản phẩm.

Phân phối chuẩn của Python đi kèm với REPL (Read-Evaluate-Print Loop) môi trường ở dạng trình bao Python với >>>lời nhắc. IPython (viết tắt của Interactive Python) là một môi trường tương tác nâng cao cho Python với nhiều chức năng so với trình bao Python tiêu chuẩn.

Các tính năng của IPython

IPython cung cấp nhiều tính năng hơn so với Python tiêu chuẩn. Chúng như sau:

  • Cung cấp một trình bao Python tương tác mạnh mẽ.

  • Hoạt động như một hạt nhân chính cho sổ ghi chép Jupyter và các công cụ giao diện người dùng khác của Dự án Jupyter.

  • Có khả năng xem xét nội tâm đối tượng. Introspection là khả năng kiểm tra các thuộc tính của một đối tượng trong thời gian chạy.

  • Đánh dấu cú pháp.

  • Lưu trữ lịch sử của các tương tác.

  • Tab hoàn thành các từ khóa, biến và tên hàm.

  • Hệ thống lệnh ma thuật hữu ích để kiểm soát môi trường Python và thực hiện các tác vụ hệ điều hành.

  • Khả năng được nhúng vào các chương trình Python khác.

  • Cung cấp quyền truy cập vào trình gỡ lỗi Python.

Lịch sử và phát triển

IPython ban đầu được phát triển bởi Fernando Perez vào năm 2001. Phiên bản hiện tại của nó là IPython7.0.1 yêu cầu phiên bản Python 3.4 trở lên. IPython 6.0 là phiên bản đầu tiên hỗ trợ Python 3. Người dùng sử dụng Python 2.7 nên làm việc với phiên bản 2.0 đến 5.7 của IPython

Khái niệm về máy tính xách tay bắt đầu vào thập niên 80 khi MATLAB và Mathematica được phát hành. Các giao diện người dùng GUI này cho shell tương tác có các tính năng như định dạng văn bản, thêm đồ họa, bảng và thêm các ký hiệu toán học. Sổ ghi chép Sage cũng là một sổ ghi chép dựa trên web.

Những người sáng tạo của IPython bắt đầu làm việc trên giao diện máy tính xách tay cho IPython shell vào năm 2005. Máy tính xách tay IPython sớm bổ sung hỗ trợ các ngôn ngữ khác như R và Julia. Đó là vào năm 2014, Perez bắt đầu dự án Jupyter như một dự án phụ từ IPython, vì dự án IPython đang trở nên lớn với các sản phẩm như máy chủ máy tính xách tay và bảng điều khiển Qt được thêm vào đó.

Kể từ IPython 4.0, tất cả các thành phần bổ sung được chuyển sang Project Jupyter và hỗ trợ thêm các ngôn ngữ khác cho máy tính xách tay IPython. IPython tiếp tục tập trung vào việc cải tiến tính năng phiên dịch nâng cao của mình. Nó cũng cung cấp nhân chính cho giao diện máy tính xách tay Jupyter.

IPython được bao gồm theo mặc định trong bản phân phối Anaconda của Python. Nó có thể được tải xuống từ trang tải xuống của Anaconda www.anaconda.com/download/ Binaries cho tất cả các hệ điều hành chính (Windows, MacOS và Linux) và kiến ​​trúc (32 bit và 64 bit) có sẵn trên liên kết này.

Để cài đặt riêng IPython trong cài đặt Python tiêu chuẩn, bạn có thể sử dụng lệnh pip như hình dưới đây:

pip3 install ipython

IPython sử dụng nội bộ các gói sau:

Sr.No. Phụ thuộc IPython & Chức năng
1

colorama

API đa nền tảng để in văn bản đầu cuối có màu từ Python

2

jedi

Một công cụ tự động hoàn thành cho Python

3

pickleshare

'Giá đỡ' nhỏ như kho dữ liệu với hỗ trợ đồng thời

4

prompt_toolkit

Thư viện để xây dựng các dòng lệnh tương tác mạnh mẽ bằng Python

5

pygments

Gói tô sáng cú pháp được viết bằng Python

6

simplegeneric

Các hàm chung đơn giản

7

traitlets

Hệ thống cấu hình cho các ứng dụng Python.

Nói chung, tất cả các phụ thuộc được cài đặt tự động. Ngoài ra, bạn có thể cài đặt chúng riêng lẻ bằng cách sử dụng pip.

Chương này sẽ giải thích cách bắt đầu làm việc trên IPython.

Khởi động IPython từ Command Prompt.

Trước khi tiếp tục tìm hiểu sâu về IPython, hãy lưu ý rằng thay vì >>>, bạn sẽ nhận thấy hai lời nhắc chính của Python như được giải thích bên dưới:

  • In[1] xuất hiện trước bất kỳ biểu thức đầu vào nào.

  • Out[1] xuất hiện trước khi Đầu ra xuất hiện.

Bên cạnh đó, các số trong dấu ngoặc vuông được tăng tự động. Quan sát ảnh chụp màn hình sau để hiểu rõ hơn -

Bây giờ, nếu bạn đã cài đặt bản phân phối Anaconda của Python, hãy mở lời nhắc Anaconda từ menu bắt đầu.

Khởi động IPython từ lời nhắc chung cư

Khi so sánh với bảng điều khiển Python thông thường, chúng ta có thể nhận thấy một sự khác biệt. Vỏ IPython hiển thị đánh dấu cú pháp bằng cách sử dụng bảng màu khác nhau cho các phần tử khác nhau như biểu thức, hàm, biến, v.v.

Một cải tiến hữu ích khác là hoàn thành tab. Chúng ta biết rằng mỗi đối tượng có sẵn một hoặc nhiều phương thức như được định nghĩa trong lớp của nó. IPython bật lên danh sách các phương pháp thích hợp khi bạn nhấn phím tab sau dấu chấm ở phía trước đối tượng.

Trong ví dụ sau, một chuỗi được định nghĩa. Như một phản hồi, các phương thức của lớp chuỗi được hiển thị.

IPython cung cấp thông tin của bất kỳ đối tượng nào bằng cách đặt '?' trước mặt nó. Nó bao gồm docstring, các định nghĩa hàm và các chi tiết về hàm tạo của lớp. Ví dụ để khám phá đối tượng chuỗi var được định nghĩa ở trên, trong dấu nhắc đầu vào, hãy nhậpvar?. Kết quả sẽ hiển thị tất cả thông tin về nó. Quan sát ảnh chụp màn hình dưới đây để hiểu rõ hơn -

Chức năng ma thuật

Các chức năng ma thuật tích hợp sẵn của IPython cực kỳ mạnh mẽ. Có hai loại chức năng kỳ diệu.

  • Line magics, hoạt động rất giống các lệnh DOS.
  • Cell magics, hoạt động trên nhiều dòng mã.

Chúng ta sẽ tìm hiểu chi tiết về các hàm phép thuật dòng và các hàm phép thuật tế bào trong các chương tiếp theo.

Trong chương này, chúng ta hãy hiểu cách chạy và chỉnh sửa một tập lệnh Python.

Chạy lệnh

Bạn có thể dùng runlệnh trong dấu nhắc đầu vào để chạy một tập lệnh Python. Lệnh chạy thực sự là lệnh ma thuật dòng và thực sự phải được viết dưới dạng%run. Tuy nhiên,%automagic chế độ luôn được bật theo mặc định, vì vậy bạn có thể bỏ qua chế độ này.

In [1]: run hello.py
Hello IPython

Chỉnh sửa lệnh

IPython cũng cung cấp lệnh chỉnh sửa ma thuật. Nó gọi trình soạn thảo mặc định của hệ điều hành. Bạn có thể mở nó thông qua trình soạn thảo Windows Notepad và có thể chỉnh sửa tập lệnh. Khi bạn đóng nó sau khi lưu đầu vào của nó, đầu ra của tập lệnh đã sửa đổi sẽ được hiển thị.

In [2]: edit hello.py
Editing... done. Executing edited code...
Hello IPython
welcome to interactive computing

Lưu ý rằng hello.py ban đầu chỉ chứa một câu lệnh và sau khi chỉnh sửa, một câu lệnh khác đã được thêm vào. Nếu không có tên tệp nào được cung cấp cho lệnh chỉnh sửa, một tệp tạm thời sẽ được tạo. Quan sát đoạn mã sau cho thấy điều tương tự.

In [7]: edit
IPython will make a temporary file named:
C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py
Editing... done. Executing edited code...
magic of IPython
Out[7]: 'print ("magic of IPython")'

IPython lưu giữ cả các lệnh và kết quả của chúng trong phiên hiện tại. Chúng ta có thể cuộn qua các lệnh trước đó bằng cách nhấn phím lên và xuống.

Ngoài ra, ba đối tượng cuối cùng của đầu ra được lưu trữ trong các biến đặc biệt _, __ và ___. Cáchistory lệnh ma thuật hiển thị các lệnh trước đó trong phiên hiện tại như được hiển thị trong ảnh chụp màn hình bên dưới:

Nếu câu lệnh trong ô nhập bắt đầu bằng biểu tượng dấu chấm than (!), Thì câu lệnh đó được coi là lệnh hệ thống cho hệ điều hành cơ bản. Ví dụ,!ls (dành cho linux) và !dir (dành cho windows) hiển thị nội dung của thư mục hiện tại

Đầu ra của lệnh hệ thống cũng có thể được gán cho một biến Python như hình dưới đây:

Biến lưu trữ đầu ra mà không có màu sắc và phân chia ở các ký tự dòng mới.

Cũng có thể kết hợp các biến hoặc biểu thức Python với các lệnh gọi hệ thống. Biến trong dấu ngoặc nhọn {} có thể được nhúng vào văn bản lệnh. Quan sát ví dụ sau -

Đây là một ví dụ khác để hiểu rằng biến Python tiền tố với $ cũng đạt được kết quả tương tự.

Trong chương này, chúng ta hãy hiểu cách làm việc với các tùy chọn dòng lệnh khác nhau trong IPython.

Gọi Chương trình IPython

Bạn có thể gọi một chương trình IPython bằng các tùy chọn sau:

C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]

Tùy chọn tệp là một tập lệnh Python có phần mở rộng .py. Nếu không có tùy chọn nào khác được đưa ra, tập lệnh sẽ được thực thi và dấu nhắc lệnh xuất hiện lại.

C:\python36>ipython hello.py
Hello IPython
welcome to interactive computing

Lệnh con và tham số

Lệnh IPython chấp nhận các tùy chọn lệnh con sau:

  • Profile - Tạo và quản lý hồ sơ IPython.

  • Kernel - Khởi động một nhân mà không có giao diện người dùng kèm theo.

  • Locate - In đường dẫn đến IPython dir.

  • History - Quản lý cơ sở dữ liệu lịch sử IPython.

Lệnh con cấu hình IPython chấp nhận các tham số sau:

  • ipython profile create myprofile - Tạo một hồ sơ mới.

  • ipython profile list - Liệt kê tất cả các hồ sơ có sẵn.

  • ipython locate profile myprofile - Định vị hồ sơ yêu cầu.

Để cài đặt hạt nhân IPython mới, hãy sử dụng lệnh sau:

Ipython kernel –install –name

Để in đường dẫn đến IPython dir, hãy sử dụng lệnh sau:

C:\python36>ipython locate myprofile
C:\Users\acer\.ipython

Ngoài ra, chúng tôi biết rằng -

  • Các history lệnh con quản lý cơ sở dữ liệu lịch sử IPython.

  • Các trim tùy chọn giảm cơ sở dữ liệu lịch sử IPython xuống 1000 mục cuối cùng.

  • Các clear tùy chọn xóa tất cả các mục nhập.

Một số tùy chọn dòng lệnh quan trọng khác của IPython được liệt kê bên dưới:

Sr.No. Lệnh & Mô tả IPython
1

--automagic

Bật tính năng tự động gọi các lệnh ma thuật.

2

--pdb

Bật tự động gọi trình gỡ lỗi pdb sau mỗi ngoại lệ.

3

--pylab

Tải trước matplotlib và numpy để sử dụng tương tác với phần phụ trợ matplotlib mặc định.

4

--matplotlib

Định cấu hình matplotlib để sử dụng tương tác với phần phụ trợ matplotlib mặc định.

5

--gui=options

Bật tích hợp vòng lặp sự kiện GUI với bất kỳ ('glut', 'gtk', 'gtk2', 'gtk3', 'osx', 'pyglet', 'qt', 'qt4', 'qt5', 'tk', ' wx ',' gtk2 ',' qt4 ').

Cách sử dụng mẫu của một số tùy chọn dòng lệnh IPython được hiển thị trong bảng sau:

Sr.No. Lệnh & Mô tả IPython
1

ipython --matplotlib

kích hoạt tích hợp matplotlib

2

ipython --matplotlib=qt

cho phép tích hợp matplotlib với phụ trợ qt4

3

ipython --profile=myprofile

bắt đầu với hồ sơ foo

4

ipython profile create myprofile

tạo cấu hình foo w / tệp cấu hình mặc định

5

ipython help profile

chỉ giúp hồ sơ subcmd

6

ipython locate

in đường dẫn đến thư mục IPython

7

ipython locate profile myprofile

in đường dẫn đến thư mục cho hồ sơ `myprofile`

IPython có nhiều cách khác nhau để thu thập thông tin động về các đối tượng Python. Trong chương này, chúng ta hãy tìm hiểu các cách xem xét nội quan đối tượng động trong IPython.

Sử dụng ???cung cấp thông tin cụ thể và chi tiết hơn về đối tượng. Trong ví dụ đầu tiên được thảo luận dưới đây, một đối tượng số nguyên đơn giản a được tạo. Thông tin của nó có thể được mua bằng cách gõ a? trong ô đầu vào.

Trong ví dụ thứ hai, chúng ta hãy xác định một hàm và xem xét bên trong đối tượng hàm này với ???.

Lưu ý rằng chức năng kỳ diệu %psearch tương đương với việc sử dụng ? hoặc là ?? để tìm nạp thông tin đối tượng.

Các ô đầu vào và đầu ra trên bảng điều khiển IPython được đánh số tăng dần. Trong chương này, chúng ta hãy xem xét chi tiết bộ nhớ đệm IO trong Python.

Trong IPython, đầu vào được truy xuất bằng phím mũi tên lên. Bên cạnh đó, tất cả các đầu vào trước đó đều được lưu và có thể được truy xuất. Các biến_i, __i___iluôn lưu trữ ba mục nhập trước đó. Ngoài ra,In_inbiến cung cấp danh sách tất cả các đầu vào. Chắc chắn_in[n]lấy đầu vào từ ô đầu vào thứ n. Phần IPython sau đây sẽ giúp bạn hiểu hiện tượng này -

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 2

In [5]: pow(x,y)
Out[5]: 100

In [6]: _iii, _ii, _i
Out[6]: ('x = 10', 'y = 2', 'pow(x,y)')

In [7]: In
Out[7]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In'
]
   
In [8]: In[5] 9. IPython — IO
Out[8]: 'pow(x,y)'

In [9]: _ih
Out[9]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In',
   'In[5]',
   '_ih'
]
   
In [11]: _ih[4]
Out[11]: 'y = 2'

In [12]: In[1:4]
Out[12]: ['print ("Hello")', '2+2', 'x=10']

Tương tự, các dấu gạch dưới đơn, đôi và ba hoạt động như các biến để lưu trữ ba đầu ra trước đó. Cũng thếOut_ohtạo thành một đối tượng từ điển về số ô và kết quả của ô thực hiện hành động (không bao gồm các câu lệnh gán). Để truy xuất nội dung của ô đầu ra cụ thể, hãy sử dụngOut[n] hoặc là _oh[n]. Bạn cũng có thể sử dụng phương pháp cắt để lấy các ô đầu ra trong một phạm vi.

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 3

In [5]: pow(x,y)
Out[5]: 1000

In [6]: ___, __, _
Out[6]: ('', 4, 1000)

In [7]: Out
Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [8]: _oh
Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [9]: _5
Out[9]: 1000

In [10]: Out[6]
Out[10]: ('', 4, 1000)

Các biến môi trường khác nhau ảnh hưởng đến hành vi của Python. Biến môi trường PYTHONSTARTUP được gán cho một tập lệnh Python. Kết quả là, tập lệnh này được thực thi trước khi lời nhắc Python xuất hiện. Điều này hữu ích nếu các mô-đun nhất định được tải theo mặc định mỗi khi bắt đầu một phiên Python mới.

Tập lệnh sau (start.py) nhập mô-đun IPython và thực thi hàm start_ipython () để thay thế trình bao Python mặc định bằng lời nhắc (>>>) bởi trình bao IPython khi tệp thực thi Python được gọi.

import os, IPython
os.environ['PYTHONSTARTUP'] = ''
IPython.start_ipython()
raise SystemExit

Giả sử rằng tệp này được lưu trữ trong thư mục cài đặt của Python (c: \ python36), hãy đặt biến môi trường PYTHONSTARTUP và khởi động Python từ dòng lệnh. Sau đó, trình bao IPython xuất hiện như hình dưới đây -

Lưu ý rằng biến môi trường có thể được đặt vĩnh viễn bằng hộp thoại Thuộc tính hệ thống trong Windows và sử dụng lệnh xuất trên Linux.

IPython có thể đọc từ bảng điều khiển Python tiêu chuẩn với mặc định >>>nhắc và một phiên IPython khác. Ảnh chụp màn hình sau đây cho thấy một vòng lặp for được viết bằng trình bao Python tiêu chuẩn:

Sao chép mã (cùng với lời nhắc Python) và dán mã tương tự vào ô đầu vào IPython. IPython lọc thông minh các lời nhắc đầu vào (>>> và ...) hoặc các lời nhắc IPython (Trong [N]: và ... :)

Tương tự, mã từ một phiên IPython có thể được dán vào một phiên khác. Ảnh chụp màn hình đầu tiên được đưa ra bên dưới cho thấy định nghĩa của hàm SayHello () trong một cửa sổ IPython -

Bây giờ, chúng ta hãy chọn mã và dán vào một trình bao IPython khác và gọi hàm SayHello ().

Hàm nhúng () của mô-đun IPython giúp bạn có thể nhúng IPython vào không gian tên mã Python của bạn. Qua đó, bạn có thể tận dụng các tính năng của IPython như xem xét đối tượng và hoàn thành tab, trong môi trường Python mặc định.

Các đối tượng Python có trong không gian tên chung trước khi nhúng, sẽ có sẵn cho IPython.

Nếu các đối tượng mới được hình thành khi đang ở trong IPython hoặc các đối tượng trước đó được sửa đổi, chúng sẽ tự động có sẵn trong môi trường mặc định sau khi thoát khỏi IPython. Vỏ IPython được nhúng không thay đổi trạng thái của mã hoặc đối tượng trước đó.

Tuy nhiên, nếu IPython được nhúng trong không gian tên cục bộ như bên trong một hàm, các đối tượng bên trong nó sẽ không khả dụng khi nó bị đóng. Ở đây, chúng ta đã định nghĩa một hàm add (). Bên trong add (), chúng tôi gọi IPython và khai báo một biến. Nếu chúng tôi cố gắng truy cập biến trong IPython sau khi nó bị đóng, ngoại lệ NameError sẽ được đưa ra.

Lệnh ma thuật hoặc hàm ma thuật là một trong những cải tiến quan trọng mà IPython cung cấp so với trình bao Python tiêu chuẩn. Các lệnh ma thuật này nhằm giải quyết các vấn đề phổ biến trong phân tích dữ liệu bằng Python. Trên thực tế, chúng kiểm soát hành vi của chính IPython.

Các lệnh ma thuật hoạt động như các hàm thuận tiện trong đó cú pháp Python không phải là một trong những hàm tự nhiên nhất. Chúng rất hữu ích để nhúng cú pháp python không hợp lệ trong luồng công việc của chúng.

Các loại lệnh ma thuật

Có hai loại lệnh ma thuật -

  • Phép thuật dòng
  • Phép thuật tế bào

Phép thuật dòng

Chúng tương tự như các cuộc gọi dòng lệnh. Chúng bắt đầu bằng ký tự%. Phần còn lại của dòng là đối số của nó được truyền mà không có dấu ngoặc đơn hoặc dấu ngoặc kép. Phép thuật dòng có thể được sử dụng làm biểu thức và giá trị trả về của chúng có thể được gán cho biến.

Cell Magics

Chúng có tiền tố %% ký tự. Không giống như các hàm ma thuật dòng, chúng có thể hoạt động trên nhiều dòng bên dưới lệnh gọi của chúng. Trên thực tế, họ có thể thực hiện các sửa đổi tùy ý đối với đầu vào mà họ nhận được, thậm chí không cần phải là mã Python hợp lệ. Họ nhận toàn bộ khối dưới dạng một chuỗi duy nhất.

Để biết thêm về các chức năng phép thuật, phép thuật tích hợp và chuỗi tài liệu của chúng, hãy sử dụng lệnh phép thuật. Thông tin của một chức năng ma thuật cụ thể được lấy theo%magicfunction?Chỉ huy. Bây giờ chúng ta hãy mô tả một số lệnh ma thuật dòng và ô tích hợp.

Phép thuật dòng tích hợp

%autocall [mode]

Hàm ma thuật này làm cho một hàm có thể tự động gọi mà không cần phải sử dụng dấu ngoặc đơn. Nó có ba tham số chế độ có thể có:0 (off), 1 (smart) is default hoặc là 2 (always on).

% automagic

Các hàm ma thuật có thể gọi được mà không cần phải nhập% ban đầu nếu được đặt thành 1. Không có đối số, nó sẽ bật / tắt. Để hủy kích hoạt, hãy đặt thành 0.

Ví dụ sau đây cho thấy một hàm ma thuật %pwd (hiển thị thư mục làm việc hiện tại) được gọi mà không có% đứng đầu khi% automagic được đặt thành 1

%CD

Phép thuật dòng này thay đổi thư mục hiện tại. Lệnh này tự động duy trì danh sách thư mục nội bộ mà bạn truy cập trong phiên IPython, trong biến _dh. Bạn cũng có thể thực hiện 'cd - <tab>' để xem lịch sử thư mục một cách thuận tiện.

Sử dụng

Lệnh% cd có thể được sử dụng theo những cách sau:

  • %cd <dir> - Thay đổi thư mục làm việc hiện tại thành <dir>

  • %cd.. - Thay đổi thư mục hiện tại thành thư mục mẹ

  • %cd - các thay đổi đối với thư mục được truy cập lần cuối.

% dhist

Lệnh ma thuật này in tất cả các thư mục bạn đã truy cập trong phiên hiện tại. Mỗi khi lệnh% cd được sử dụng, danh sách này được cập nhật trong_dh Biến đổi.

%biên tập

Lệnh ma thuật này yêu cầu trình soạn thảo văn bản mặc định của hệ điều hành hiện tại (Notepad cho Windows) để chỉnh sửa tập lệnh Python. Tập lệnh được thực thi khi trình chỉnh sửa được đóng.

% env

Lệnh ma thuật này sẽ liệt kê tất cả các biến môi trường. Nó cũng đọc giá trị của biến cụ thể hoặc đặt giá trị của biến môi trường.

Usage

Lệnh% cd có thể được sử dụng theo những cách sau:

  • %env - Liệt kê tất cả các biến môi trường

  • %env var - Nhận giá trị cho var

  • %env var val - Đặt giá trị cho var

% gui [GUINAME]

Khi được sử dụng mà không có đối số, lệnh này sẽ bật hoặc tắt tích hợp vòng lặp sự kiện IPython GUI. Với đối số GUINAME, phép thuật này thay thế bộ công cụ GUI mặc định bằng bộ công cụ được chỉ định.

Sr.No. Lệnh & Mô tả
1

%gui wx

kích hoạt tích hợp vòng lặp sự kiện wxPython

2

%gui qt4|qt

kích hoạt tích hợp vòng lặp sự kiện PyQt4

3

%gui qt5

kích hoạt tích hợp vòng lặp sự kiện PyQt5

4

%gui gtk

bật tích hợp vòng lặp sự kiện PyGTK

5

%gui gtk3

kích hoạt tích hợp vòng lặp sự kiện Gtk3

6

%gui tk

kích hoạt tích hợp vòng lặp sự kiện Tk

7

%gui osx

kích hoạt tích hợp vòng lặp sự kiện Cocoa

số 8

(yêu cầu% matplotlib 1.1)

9

%gui

vô hiệu hóa tất cả tích hợp vòng lặp sự kiện

% lsmagic

Hiển thị tất cả các chức năng ma thuật hiện có

% matplotlib

Chức năng này kích hoạt hỗ trợ tương tác matplotlib trong một phiên IPython. Tuy nhiên, nó không nhập thư viện matplotlib. Bộ công cụ GUI mặc định của matplotlib là TkAgg. Nhưng bạn có thể yêu cầu một cách rõ ràng phụ trợ GUI khác. Bạn có thể thấy danh sách các phần mềm phụ trợ có sẵn như được hiển thị:

In [4]: %matplotlib --list
Available matplotlib backends: 
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']

Phiên IPython được hiển thị ở đây vẽ biểu đồ sóng sin bằng cách sử dụng qt bộ công cụ -

Trong khi sử dụng sổ ghi chép Jupyter, chỉ thị nội tuyến% matplotlib chỉ hiển thị kết quả âm mưu trong trình duyệt.

%sổ tay

Chức năng này chuyển đổi lịch sử IPython hiện tại thành tệp sổ ghi chép IPython có phần mở rộng ipynb. Các ô đầu vào trong ví dụ trước được lưu dưới dạng sine.ipynb

%notebook sine.ipynb

% pinfo

Chức năng này tương tự như xem xét đối tượng? tính cách. Để lấy thông tin về một đối tượng, hãy sử dụng lệnh sau:

%pinfo object

Điều này đồng nghĩa với object? hoặc là ?object.

%độ chính xác

Hàm ma thuật này hạn chế một kết quả dấu phẩy động đối với các chữ số được chỉ định sau số thập phân.

% pwd

Hàm ma thuật này trả về thư mục làm việc hiện tại.

% pylab

Hàm này điền phiên IPython hiện tại với matplotlib và thư viện numpy.

%Gợi lại

Khi được thực thi mà không có bất kỳ tham số nào, hàm này sẽ thực hiện lệnh trước đó.

Lưu ý rằng trong %recall n, số phía trước nó là số ô đầu vào. Do đó lệnh trong ô thứ n được gọi lại. Bạn có thể gọi lại các lệnh trong phần ô bằng cách sử dụng lệnh như%recall 1-4. Ô nhập hiện tại được điền bằng ô nhớ lại và con trỏ nhấp nháy cho đến khi nhấn phím enter.

%chạy

Lệnh này chạy một tập lệnh Python từ bên trong trình bao IPython.

%thời gian

Lệnh này hiển thị thời gian theo yêu cầu của môi trường IPython để thực thi một biểu thức Python.

% thời gian

Hàm này cũng hiển thị thời gian theo yêu cầu của môi trường IPython để thực thi một biểu thức Python. Thời gian thực thi một câu lệnh hoặc biểu thức Python sử dụng mô-đun timeit. Chức năng này có thể được sử dụng như một phép thuật dòng và ô như được giải thích ở đây -

  • Trong line mode bạn có thể tính thời gian một dòng.

  • Trong cell mode, câu lệnh trong dòng đầu tiên được sử dụng làm mã thiết lập và phần thân của ô được tính thời gian. Nội dung ô có quyền truy cập vào bất kỳ biến nào được tạo trong mã thiết lập.

%WHO

Phép thuật dòng này in tất cả các biến tương tác, với một số định dạng tối thiểu. Nếu bất kỳ đối số nào được đưa ra, chỉ những biến có kiểu khớp với một trong những đối số này mới được in.

Chức năng Magic Line tùy chỉnh của IPython

Thư viện lõi của IPython chứa bộ trang trí register_line_magic. Một chức năng do người dùng xác định được chuyển đổi thành một chức năng phép thuật dòng bằng cách sử dụng trình trang trí này.

Dự án Jupyter bắt đầu như một sản phẩm phụ từ dự án IPython vào năm 2014. Các tính năng bất khả tri ngôn ngữ của IPython đã được chuyển dưới tên - Jupyter. Tên là một tham chiếu đến các ngôn ngữ lập trình cốt lõi được hỗ trợ bởi Jupyter là Julia, Python và RP Các sản phẩm trong dự án Jupyter nhằm hỗ trợ khoa học dữ liệu tương tác và máy tính khoa học.

Dự án Jupyter bao gồm các sản phẩm khác nhau được mô tả như sau:

  • IPykernel - Đây là gói cung cấp nhân IPython cho Jupyter.

  • Jupyter client- Gói này chứa phần triển khai tham chiếu của giao thức Jupyter. Nó cũng là một thư viện máy khách để khởi động, quản lý và giao tiếp với hạt nhân Jupyter.

  • Jupyter notebook- Cái này trước đây được gọi là máy tính xách tay IPython. Đây là một giao diện dựa trên web cho nhân IPython và nhân của nhiều ngôn ngữ lập trình khác.

  • Jupyter kernels - Kernel là môi trường thực thi của một ngôn ngữ lập trình cho các sản phẩm Jupyter.

Danh sách các hạt nhân Jupyter được đưa ra dưới đây:

Kernel Ngôn ngữ URL
IJulia Julia

https://github.com/JuliaLang

IHaskell Haskell

https://github.com/gibiansky

IRuby Ruby

https://github.com/SciRuby/iruby

IJavaScript JavaScript

https://github.com/n-riesco

IPHP PHP

https://github.com/dawehner

IRKernel R

http://irkernel.github.io/

  • Qtconsole - Giao diện điều khiển dựa trên Qt phong phú để làm việc với hạt nhân Jupyter

  • nbconvert - Chuyển đổi các tệp sổ ghi chép Jupyter ở các định dạng khác

  • JupyterLab - Giao diện tích hợp dựa trên web cho sổ ghi chép, trình chỉnh sửa, bảng điều khiển, v.v.

  • nbviewer - Trình xem HTML cho các tệp sổ ghi chép

Máy tính xách tay IPython được Fernando Perez phát triển như một giao diện người dùng dựa trên web cho nhân IPython. Với nỗ lực tạo ra một môi trường máy tính tương tác tích hợp cho nhiều ngôn ngữ, dự án Notebook đã được chuyển sang Project Jupyter cung cấp giao diện người dùng cho môi trường lập trình Juila và R ngoài Python.

Tài liệu sổ tay bao gồm các phần tử văn bản đa dạng thức với văn bản được định dạng HTML, số liệu, phương trình toán học, v.v. Sổ tay cũng là một tài liệu thực thi bao gồm các khối mã bằng Python hoặc các ngôn ngữ hỗ trợ khác.

Máy tính xách tay Jupyter là một ứng dụng khách-máy chủ. Ứng dụng khởi động máy chủ trên máy cục bộ và mở giao diện sổ ghi chép trong trình duyệt web, nơi nó có thể được chỉnh sửa và chạy. Sổ tay được lưu dưới dạng tệp ipynb và có thể được xuất dưới dạng tệp html, pdf và LaTex.

Nếu bạn chưa quen với Jupyter, bạn có thể thử các tính năng của sổ ghi chép Jupyter trước khi cài đặt trên máy cục bộ của bạn. Với mục đích này, hãy truy cậphttps://jupyter.org trong trình duyệt của bạn và chọn ‘Try Jupyter with Python’ Lựa chọn.

Điều này sẽ mở trang chủ của https://mybinder.orgTừ menu Tệp, hãy chọn tùy chọn sổ ghi chép mới để mở một Máy tính xách tay trống trong trình duyệt của bạn. Ô đầu vào, tương tự như ô trong thiết bị đầu cuối IPython, sẽ được hiển thị. Bạn có thể thực thi bất kỳ biểu thức Python nào trong đó.

Bạn có thể dễ dàng cài đặt ứng dụng sổ ghi chép Jupyter bằng trình quản lý gói pip.

pip3 install jupyter

Để khởi động ứng dụng, hãy sử dụng lệnh sau trong cửa sổ nhắc lệnh.

c:\python36>jupyter notebook

Ứng dụng máy chủ bắt đầu chạy ở số cổng mặc định 8888 và cửa sổ trình duyệt mở ra để hiển thị bảng điều khiển sổ tay.

Quan sát rằng bảng điều khiển hiển thị danh sách thả xuống gần đường viền bên phải của trình duyệt với một mũi tên bên cạnh nút Mới. Nó chứa các hạt nhân máy tính xách tay hiện có sẵn. Bây giờ, chọn Python 3, sau đó một sổ ghi chép mới sẽ mở ra trong một tab mới. Một ô đầu vào tương tự như ô trong bảng điều khiển IPython được hiển thị.

Bạn có thể thực thi bất kỳ biểu thức Python nào trong đó. Kết quả sẽ được hiển thị trong ô Out.

Bảng điều khiển của Máy tính xách tay Jupyter chứa ba tab như được hiển thị trong ảnh chụp màn hình dưới đây -

Tab Tệp

Tab "Tệp" hiển thị các tệp và thư mục trong thư mục hiện tại mà từ đó ứng dụng sổ ghi chép đã được gọi. Hàng tương ứng với sổ ghi chép hiện đang mở và trạng thái đang chạy được hiển thị ngay bên cạnh cột được sửa đổi cuối cùng. Nó cũng hiển thị nút Tải lên bằng cách sử dụng để tải tệp lên máy chủ sổ ghi chép.

Tab đang chạy

Tab "Đang chạy" hiển thị sổ ghi chép nào hiện đang chạy.

Tab cụm

Tab thứ ba, "Clusters", được cung cấp bởi IPython song song. Khung tính toán song song của IPython, một phiên bản mở rộng của nhân IPython.

Từ trình đơn thả xuống Mới, chọn Thiết bị đầu cuối để mở cửa sổ cmd. Bây giờ bạn có thể bắt đầu một thiết bị đầu cuối IPython tại đây.

Trong giao diện người dùng của Jupyter, ngay bên cạnh logo trong tiêu đề, tên tệp được hiển thị.

Bạn có thể tìm thấy thanh menu bên dưới tiêu đề. Mỗi menu chứa nhiều tùy chọn sẽ được thảo luận sau.

Một hàng biểu tượng tạo thành thanh công cụ giúp người dùng thực hiện các thao tác thường được yêu cầu

Máy tính xách tay có hai chế độ - Command modeEdit mode. Notebook vào chế độ chỉnh sửa khi một ô được nhấp vào. Lưu ý biểu tượng bút chì bên cạnh tên của hạt nhân.

Biểu tượng chỉ báo hạt nhân được hiển thị ngay bên phải tên hạt nhân. Lưu ý rằng một vòng tròn rỗng có nghĩa là nhân không hoạt động và vòng tròn đặc có nghĩa là nó đang bận.

Danh sách dữ liệu

Sau đây là các tùy chọn có sẵn trong menu Tệp -

Sr.No. Menu & Mô tả tệp
1

New notebook

chọn hạt nhân để bắt đầu sổ ghi chép mới

2

Open

Đưa người dùng đến trang tổng quan để chọn sổ ghi chép để mở

3

Save as

lưu sổ ghi chép hiện tại và bắt đầu hạt nhân mới

4

Rename

đổi tên sổ ghi chép hiện tại

5

Save

lưu sổ ghi chép hiện tại và lưu trữ điểm kiểm tra hiện tại

6

Revert

hoàn nguyên trạng thái của sổ ghi chép về điểm kiểm tra trước đó

7

Download

xuất sổ ghi chép ở một trong các định dạng tệp khác nhau

Các định dạng tệp có sẵn được hiển thị bên dưới -

Chỉnh sửa Menu

Menu Edit bao gồm các nút để thực hiện cắt, sao chép và dán các ô, xóa ô đã chọn, tách và hợp nhất các ô, di chuyển ô lên và xuống, tìm và thay thế trong sổ tay, cắt / sao chép tệp đính kèm và chèn hình ảnh.

Xem Menu

Các nút trong menu này giúp chúng ta ẩn / hiển thị số đầu trang, thanh công cụ và ô.

Chèn Menu

Menu này cung cấp cho bạn các tùy chọn để chèn ô trước hoặc sau ô hiện tại.

Menu ô

Các tùy chọn trong menu này cho phép người dùng chạy tất cả hoặc các ô cụ thể trong sổ ghi chép. Bạn cũng có thể đặt loại ô thành loại mã, đánh dấu xuống hoặc loại chuyển đổi nbconvert thô.

Menu hạt nhân

Từ menu này, bạn có thể bắt đầu, ngắt, khởi động lại hoặc tắt hạt nhân. Bạn cũng có thể bắt đầu một nhân mới.

Menu tiện ích

Từ menu này, bạn có thể lưu, xóa, tải xuống hoặc nhúng trạng thái tiện ích.

Danh sách trợ giúp

Nhiều phím tắt được xác định trước khác nhau được hiển thị từ menu này. Bạn cũng có thể chỉnh sửa các phím tắt theo ý muốn của mình.

Các ô trong sổ ghi chép Jupyter có ba loại - Code, MarkdownRaw.

Các ô mã

Nội dung trong ô này được coi là câu lệnh trong ngôn ngữ lập trình của hạt nhân hiện tại. Kernel mặc định là Python. Vì vậy, chúng ta có thể viết các câu lệnh Python trong một ô mã. Khi ô như vậy được chạy, kết quả của nó được hiển thị trong ô đầu ra. Đầu ra có thể là văn bản, hình ảnh, các ô matplotlib hoặc các bảng HTML. Các ô mã có khả năng văn bản phong phú.

Đánh dấu ô

Các ô này chứa văn bản được định dạng bằng ngôn ngữ đánh dấu. Tất cả các loại tính năng định dạng có sẵn như làm cho văn bản in đậm và nghiêng, hiển thị danh sách có thứ tự hoặc không có thứ tự, hiển thị nội dung dạng bảng, v.v. Ô đánh dấu đặc biệt hữu ích để cung cấp tài liệu cho quá trình tính toán của sổ ghi chép.

Tế bào thô

Nội dung trong các ô thô không được đánh giá bởi hạt nhân máy tính xách tay. Khi chuyển qua nbconvert, chúng sẽ được hiển thị như mong muốn. Nếu bạn nhập LatEx vào một ô thô, việc hiển thị sẽ xảy ra sau khi áp dụng nbconvert.

Mặc dù thanh menu và thanh công cụ cho phép bạn thực hiện các thao tác khác nhau trên máy tính xách tay, bạn nên sử dụng phím tắt để thực hiện chúng một cách nhanh chóng.

Máy tính xách tay Jupyter có hai chế độ nhập bàn phím khác nhau -

  • Command Mode- Liên kết bàn phím với các hành động cấp máy tính xách tay. Được biểu thị bằng đường viền ô màu xám với lề trái màu xanh lam.

  • Edit Mode- Khi bạn đang nhập vào một ô. Được biểu thị bằng đường viền ô màu xanh lục.

Chế độ lệnh (nhấn Esc để bật)

F

tìm và thay thế

1

thay đổi ô thành tiêu đề 1

Ctrl-Shift-F

mở bảng lệnh

2

thay đổi ô thành tiêu đề 2

Ctrl-Shift-P

mở bảng lệnh

3

thay đổi ô thành tiêu đề 3

Enter

vào chế độ chỉnh sửa

4

thay đổi ô thành tiêu đề 4

P

mở bảng lệnh

5

thay đổi ô thành tiêu đề 5

Shift-Enter

chạy ô, chọn bên dưới

6

thay đổi ô thành tiêu đề 6

Ctrl-Enter

chạy các ô đã chọn

A

chèn ô bên trên

Alt-Enter

chạy ô và chèn bên dưới

B

chèn ô bên dưới

Y

đổi ô thành mã

X

cắt các ô đã chọn

M

thay đổi ô thành đánh dấu

C

sao chép các ô đã chọn

R

thay đổi ô thành thô

V

dán các ô bên dưới

K

chọn ô ở trên

Z

hoàn tác xóa ô

Up

chọn ô ở trên

D,D

xóa các ô đã chọn

Down

chọn ô bên dưới

Shift-M

hợp nhất các ô đã chọn hoặc ô hiện tại với ô bên dưới nếu chỉ một ô được chọn

J

chọn ô bên dưới

Shift-V

dán các ô ở trên

Shift-K

mở rộng các ô đã chọn ở trên

L

chuyển đổi số dòng

Shift-Up

mở rộng các ô đã chọn ở trên

O

chuyển đổi đầu ra của các ô đã chọn

Shift-Down

mở rộng các ô đã chọn bên dưới

Shift-O

chuyển đổi cuộn đầu ra của các ô đã chọn

Shift-J

mở rộng các ô đã chọn bên dưới

I,I

làm gián đoạn hạt nhân

Ctrl-S

Lưu và Kiểm tra

0,0

khởi động lại hạt nhân (với hộp thoại)

S

Lưu và Kiểm tra

Esc

đóng máy nhắn tin

Shift-L

chuyển đổi số dòng trong tất cả các ô và duy trì cài đặt

Q

đóng máy nhắn tin

Shift-Space

cuộn sổ tay lên

Space

cuộn sổ tay xuống

Chỉnh sửa Chế độ (nhấn Enter để bật)

Tab

hoàn thành mã hoặc thụt lề

Ctrl-Home

đi đến đầu ô

Shift-Tab

chú giải công cụ

Ctrl-Up

đi đến đầu ô

Ctrl-]

thụt vào

Ctrl-End

đi đến cuối ô

Ctrl-[

khấu trừ

Ctrl-Down

đi đến cuối ô

Ctrl-A

chọn tất cả

Ctrl-Left

đi một từ trái

Ctrl-Z

Hoàn tác

Ctrl-Right

đi đúng một từ

Ctrl-/

bình luận

Ctrl-M

vào chế độ lệnh

Ctrl-D

xóa toàn bộ dòng

Ctrl-Shift-F

mở bảng lệnh

Ctrl-U

hoàn tác lựa chọn

Ctrl-Shift-P

mở bảng lệnh

Insert

chuyển đổi cờ ghi đè

Esc

vào chế độ lệnh

Ctrl-Backspace

xóa từ trước

Ctrl-Y

làm lại

Ctrl-Delete

xóa từ sau

Alt-U

làm lại lựa chọn

Shift-Enter

chạy ô, chọn bên dưới

Ctrl-Shift-Minus

chia ô tại con trỏ

Ctrl-Enter

chạy các ô đã chọn

Down

di chuyển con trỏ xuống

Alt-Enter

chạy ô và chèn bên dưới

Up

di chuyển con trỏ lên

Ctrl-S

Lưu và Kiểm tra

Ô đánh dấu hiển thị văn bản có thể được định dạng bằng ngôn ngữ đánh dấu. Để nhập một văn bản không được máy chủ Notebook coi là mã, trước tiên nó phải được chuyển đổi dưới dạng ô đánh dấu từ menu ô hoặc bằng cách sử dụng phím tắt M khi ở chế độ lệnh. Dấu nhắc Trong [] trước khi ô biến mất.

Ô tiêu đề

Ô đánh dấu có thể hiển thị văn bản tiêu đề có 6 kích thước, tương tự như tiêu đề HTML. Bắt đầu văn bản trong ô đánh dấu xuống bằng ký hiệu #. Sử dụng bao nhiêu ký hiệu # tương ứng với mức tiêu đề bạn muốn. Nó có nghĩa là một ký hiệu # sẽ hiển thị dòng tiêu đề lớn nhất và sáu ký hiệu # hiển thị tiêu đề có kích thước phông chữ nhỏ nhất. Việc kết xuất sẽ diễn ra khi bạn chạy ô từ menu ô hoặc nút chạy của thanh công cụ.

Ảnh chụp màn hình sau hiển thị các ô đánh dấu ở chế độ chỉnh sửa với tiêu đề của ba cấp độ khác nhau.

Khi các ô được chạy, kết quả như sau:

Lưu ý rằng đánh dấu sổ ghi chép Jupyter không hỗ trợ tính năng WYSWYG. Hiệu ứng của định dạng sẽ chỉ được hiển thị sau khi ô đánh dấu được chạy.

Danh sách có Thứ tự

Để hiển thị một danh sách được đánh số như được thực hiện bởi thẻ <ol> của HTML, mục Đầu tiên trong danh sách phải được đánh số là 1. Các mục tiếp theo có thể được đánh số bất kỳ. Nó sẽ được hiển thị theo thứ tự khi ô đánh dấu được chạy. Để hiển thị danh sách thụt lề, hãy nhấn phím tab và bắt đầu mục đầu tiên trong mỗi danh sách con bằng 1.

Nếu bạn cung cấp dữ liệu sau cho việc đánh dấu -

Nó sẽ hiển thị danh sách sau:

Danh sách dấu đầu dòng

Mỗi mục trong danh sách sẽ hiển thị một hình tròn đặc nếu nó bắt đầu bằng - biểu tượng trong đó biểu tượng hình vuông đặc sẽ được hiển thị nếu danh sách bắt đầu bằng ký hiệu *. Ví dụ sau giải thích tính năng này:

Đánh dấu được kết xuất hiển thị như bên dưới -

Siêu liên kết

Văn bản đánh dấu xuống bắt đầu bằng http hoặc https sẽ tự động hiển thị siêu liên kết. Để đính kèm liên kết vào văn bản, hãy đặt văn bản trong dấu ngoặc vuông [] và liên kết trong dấu ngoặc đơn () tùy ý bao gồm cả văn bản di chuột. Ảnh chụp màn hình sau đây sẽ giải thích điều này.

Đánh dấu được kết xuất xuất hiện như hình dưới đây -

In đậm và in nghiêng

Để hiển thị một văn bản ở dạng in đậm, hãy đặt nó ở giữa hai dấu gạch dưới hoặc hai dấu hoa thị. Để hiển thị ở dạng in nghiêng, hãy đặt nó giữa các dấu gạch dưới hoặc dấu hoa thị.

Kết quả như hình dưới đây -

Hình ảnh

Để hiển thị hình ảnh trong ô đánh dấu xuống, hãy chọn tùy chọn 'Chèn hình ảnh' từ menu Chỉnh sửa và duyệt đến tệp hình ảnh mong muốn. Ô đánh dấu hiển thị cú pháp của nó như sau:

Hình ảnh sẽ được hiển thị trên sổ tay như hình dưới đây -

Bàn

Trong một ô đánh dấu xuống, một bảng có thể được tạo bằng cách sử dụng | (ký hiệu đường ống) và - (gạch ngang) để đánh dấu cột và hàng. Lưu ý rằng các ký hiệu không cần được căn chỉnh chính xác trong khi nhập. Nó chỉ nên thay thế vị trí tương ứng của đường viền cột và đường viền hàng. Notebook sẽ tự động thay đổi kích thước theo nội dung. Một bảng được xây dựng như hình dưới đây -

Bảng kết quả sẽ được hiển thị như hình dưới đây:

Trong chương này, chúng ta hãy hiểu các chức năng ma thuật của tế bào và chức năng của chúng.

%% html

Hàm ma thuật ô này hiển thị nội dung của ô mã dưới dạng tập lệnh html.

%% js hoặc %% javascript

Bạn có thể nhúng mã javascript vào ô sổ ghi chép Jupyter với sự trợ giúp của lệnh ma thuật ô này.

%% writefile

Nội dung của ô mã được ghi vào tệp bằng lệnh này.

Nhân IPython của sổ ghi chép Jupyter có thể hiển thị các ô mã trong các ô đầu vào. Nó hoạt động liền mạch vớimatplotlibthư viện. Tùy chọn nội tuyến với%matplotlib chức năng ma thuật kết xuất ô âm mưu ngay cả khi show()chức năng của đối tượng âm mưu không được gọi. Cácshow() hàm làm cho hình bên dưới được hiển thị trong ô [] mà không xuất hiện [] với số.

Bây giờ, hãy thêm plt.show() ở cuối và chạy lại ô để xem sự khác biệt.

Lưu ý rằng ma thuật sổ ghi chép% matplotlib hiển thị âm mưu tương tác.

Ngay bên dưới hình, bạn có thể tìm thấy một thanh công cụ để chuyển đổi các tùy chọn xem, xoay, thu phóng và tải xuống.

Điều quan trọng, nếu bạn sửa đổi dữ liệu bên dưới biểu đồ, màn hình sẽ thay đổi động mà không cần vẽ một biểu đồ khác.

Trong ví dụ trên, hãy thay đổi tập dữ liệu x và y trong ô bên dưới và vẽ lại hình, hình trên sẽ được làm mới động.

Các tệp sổ ghi chép Jupyter có .ipynbsự mở rộng. Máy tính xách tay được hiển thị trong trình duyệt web bởi ứng dụng máy tính xách tay. Nó có thể được xuất sang các định dạng tệp khác nhau bằng cách sử dụng tải xuống như một tùy chọn trong menu tệp. Jupyter cũng có giao diện dòng lệnh ở dạngnbconvertLựa chọn. Theo mặc định, nbconvert xuất sổ ghi chép sang định dạng HTML. Bạn có thể sử dụng lệnh sau cho mục đích:

jupyter nbconvert mynotebook.ipynb

Điều này sẽ chuyển đổi mynotebook.ipynb đến mynotebook.html. Định dạng xuất khác được chỉ định với`--to` mệnh đề.

Lưu ý rằng các tùy chọn khác bao gồm ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'rst', 'script', 'slides']

HTML bao gồm các mẫu 'cơ bản' và 'đầy đủ'. Bạn có thể chỉ định điều đó trong dòng lệnh như hình dưới đây:

jupyter nbconvert --to html --template basic mynotebook.ipynb

LaTex là một định dạng chuẩn bị tài liệu được sử dụng đặc biệt trong sắp chữ khoa học. Jupyter bao gồm các mẫu 'cơ sở', 'bài báo' và 'báo cáo'.

jupyter nbconvert --to latex –template report mynotebook.ipynb

Để tạo PDF qua latex, hãy sử dụng lệnh sau:

jupyter nbconvert mynotebook.ipynb --to pdf

Sổ tay có thể được xuất sang trình chiếu HTML. Việc chuyển đổi sử dụng Reveal.js trong nền. Để cung cấp các trang trình bày bởi một máy chủ HTTP, hãy thêm --postserve trên dòng lệnh. Để tạo các trang trình bày không yêu cầu kết nối internet, chỉ cần đặt thư viện Reveal.js trong cùng một thư mục, nơiyour_talk.slides.html được định vị.

jupyter nbconvert myslides.ipynb --to slides --post serve

Tùy chọn đánh dấu chuyển đổi sổ ghi chép thành đầu ra đánh dấu đơn giản. Các ô đánh dấu không bị ảnh hưởng và các ô mã được thụt vào 4 khoảng trắng.

--to markdown

Bạn có thể dùng rsttùy chọn để chuyển đổi sổ ghi chép sang đầu ra Basic reStructuredText. Nó hữu ích như một điểm khởi đầu để nhúng sổ ghi chép vào tài liệu Sphinx.

--to rst

Đây là cách đơn giản nhất để lấy tập lệnh Python (hoặc ngôn ngữ khác, tùy thuộc vào hạt nhân) ra khỏi sổ ghi chép.

--to script

IPyWidgets là một thư viện Python gồm các widget tương tác HTML dành cho sổ ghi chép Jupyter. Mỗi phần tử UI trong thư viện có thể phản hồi các sự kiện và gọi các hàm xử lý sự kiện được chỉ định. Họ nâng cao tính năng tương tác của ứng dụng sổ ghi chép Jupyter.

Để kết hợp các widget trong sổ ghi chép, chúng ta phải nhập mô-đun sau như được hiển thị bên dưới:

from ipywidgets import widgets

Một số IPyWidgets cơ bản được giải thích ở đây -

Nhập văn bản

Các widgets.text()hàm hiển thị các widget trong sổ ghi chép. Nó tương tự như phần tử biểu mẫu hộp văn bản trong HTML. Đối tượng của tiện ích này cóon_submit() phương thức lắng nghe hoạt động của trường văn bản và có thể gọi trình xử lý sự kiện được cung cấp làm đối số cho nó.

Cái nút

Tiện ích này tương tự như nút HTML. Khi nó được nhấp vào, sự kiện được đăng ký bởion_click() phương thức gọi trình xử lý sự kiện nhấp chuột.

IntSlider

Điều khiển thanh trượt hiển thị các giá trị số nguyên tăng dần. Ngoài ra còn có FloatSlider và IntRangeSlider (thay đổi số nguyên giữa một phạm vi)

Nhãn

Tiện ích này rất hữu ích để hiển thị văn bản không thể chỉnh sửa trong sổ ghi chép.

trưng bày()

Chức năng này từ ipywidgets mô-đun hiển thị đối tượng widget trong ô đầu vào của sổ ghi chép.

Tương tác

Hàm này tự động hiển thị một widget tùy thuộc vào loại đối số dữ liệu được cung cấp cho nó. Đối số đầu tiên của hàm này là trình xử lý sự kiện và đối số thứ hai là một giá trị được truyền cho chính trình xử lý sự kiện.

Ví dụ sau cho thấy ba tiện ích nhãn, hai tiện ích văn bản và một nút có chú thích 'thêm'. Khi nút được nhấp, tổng các số trong hai trường nhập văn bản được hiển thị trên nhãn dưới cùng.

Trong chương này, chúng ta hãy hiểu cách bắt đầu với QtConsole. Chương này sẽ cung cấp cho bạn một cái nhìn tổng quan về phần mềm này và giải thích các bước cài đặt của nó.

Tổng quat

Bàn điều khiển Qt là một ứng dụng GUI tương tự như thiết bị đầu cuối IPython. Tuy nhiên, nó cung cấp một số cải tiến không có trong thiết bị đầu cuối IPython dựa trên văn bản. Các tính năng nâng cao là số liệu nội tuyến, chỉnh sửa nhiều dòng với tô sáng cú pháp, chú giải lời thoại đồ họa, v.v. Bàn điều khiển Qt có thể sử dụng bất kỳ hạt nhân Jupyter nào, mặc định là nhân IPython.

Cài đặt

Jupyter QtConsole là một phần của Project Jupyter. Phân phối Anaconda đã có ứng dụng QTconsole trong đó. Để cài đặt nó riêng lẻ, hãy sử dụng lệnh pip như hình dưới đây:

pip3 install qtconsole

Bạn cũng có thể sử dụng lệnh conda cho mục đích này -

conda install qtconsole

Bạn có thể khởi động bảng điều khiển Jupyter từ bộ điều hướng Anaconda. Để bắt đầu nó từ dòng lệnh, bạn nên sử dụng lệnh sau, từ dấu nhắc lệnh Windows hoặc dấu nhắc Anaconda:

jupyter qtonsole

Bạn nhận được một thiết bị đầu cuối tương tự như thiết bị đầu cuối IPython với lời nhắc In [] đầu tiên. Giờ đây, bạn có thể thực thi bất kỳ biểu thức Python nào giống như chúng ta làm trong thiết bị đầu cuối IPython hoặc sổ ghi chép Jupyter

Chỉnh sửa đa dòng là một trong những tính năng không có trong thiết bị đầu cuối IPython. Để nhập nhiều câu lệnh trong một ô đầu vào, hãy nhấnctrl+entersau dòng đầu tiên. Sau đó, chỉ cần nhấn enter sẽ tiếp tục thêm dòng mới trong cùng một ô. Để dừng nhập các dòng mới và ô đang chạy, hãy nhấn phím enter một lần nữa ở cuối. Ô sẽ chạy và đầu ra sẽ được hiển thị trong ô [] tiếp theo.

Một cải tiến quan trọng khác được cung cấp bởi QtConsole là khả năng hiển thị đồ họa nội tuyến, đặc biệt là các ô. Tính năng này hoạt động tốt với Matplotlib cũng như các thư viện vẽ sơ đồ khác.

Tùy chọn này để lưu đầu ra QtConsole dưới dạng tệp HTML có sẵn trong menu Tệp. Bạn có thể chọn tạo tệp với hình ảnh nội tuyến hoặc hình vẽ dưới dạng tệp png bên ngoài trong một thư mục liền kề (có tên là qt_files).

Bạn có thể mở nhiều tab trong ứng dụng bảng điều khiển Jupyter. Ba tùy chọn trong menu Tệp được cung cấp cho mục đích này.

  • New Tab with New kernel - Bạn có thể tải một nhân mới bằng menu tệp này.

  • New Tab with Existing kernel - Sử dụng tùy chọn này, bạn có thể chọn từ các nhân bổ sung ngoài nhân IPython.

  • New Tab with Same Kernel- Điều này tạo ra một nô lệ của hạt nhân được tải trên một tab cụ thể. Do đó, đối tượng được khởi tạo trên tab chính sẽ có thể truy cập được trong slave và ngược lại.

Có một lệnh ma thuật% qtconsole có sẵn để sử dụng với sổ ghi chép Jupyter. Điều này gọi QtConsole như một thiết bị đầu cuối nô lệ cho giao diện máy tính xách tay. Do đó, dữ liệu giữa sổ ghi chép và thiết bị đầu cuối Qtconsole có thể được chia sẻ.

Bạn có thể thấy rằng biến trong sổ tay có thể truy cập được trong qtconsolecửa sổ. Ngoài ra, một biến mới trong Qtconsole được sử dụng trở lại trong sổ ghi chép.

Quan sát rằng các ô đầu vào và đầu ra được đánh số tăng dần giữa hai ô.

Sharing Jupyter notebook – Using github and nbviewer

Các tệp Máy tính xách tay Jupyter với .ipynbtiện ích mở rộng trong kho lưu trữ GitHub sẽ được hiển thị dưới dạng tệp HTML tĩnh khi chúng được mở. Các tính năng tương tác của sổ ghi chép, chẳng hạn như các ô JavaScript tùy chỉnh, sẽ không hoạt động trong kho lưu trữ của bạn trên GitHub.

Để chia sẻ tệp sổ tay bằng github, hãy đăng nhập vào https://github.comvà tạo một kho lưu trữ công cộng. Sau đó tải tệp của bạn lên bằng nút tải tệp lên như hình dưới đây -

Điều này sẽ cung cấp cho bạn một tùy chọn để cam kết các thay đổi được thực hiện đối với kho lưu trữ. Sau đó, kho lưu trữ sẽ hiển thị tệp đã tải lên như bên dưới:

Nhấp vào tệp đã tải lên để xem bên trong trình xem github. Bạn có thể chia sẻ URL được đánh dấu cho người khác.

Một cách khác để xem trực tuyến tệp sổ tay là sử dụng tiện ích nbviewer của Project Jupyter. Mởhttps://nbviewer.jupyter.org/và đặt URL của tệp trong kho lưu trữ của bạn trong trường văn bản như được hiển thị. Nhấn nút Đi để xem sổ ghi chép.

Cả hai phương pháp này đều hiển thị tệp sổ ghi chép dưới dạng html tĩnh. Để có thể thực thi mã trong sổ ghi chép, hãy mở nó bằng ứng dụng Binder của dự án Jupyter.

Trong cửa sổ nbviewer, bạn sẽ thấy nút 'Thực hiện trên Binder'. Nhấp vào nó và bạn sẽ thấy tệp sổ ghi chép được mở giống hệt như khi bạn mở tệp đó từ bảng điều khiển cục bộ của máy chủ máy tính xách tay trên máy cục bộ của bạn. Bạn có thể thực hiện tất cả các hành động như thêm / sửa ô, chạy ô, v.v.

Dự án Jupyter mô tả JupyterLab là giao diện người dùng dựa trên web thế hệ tiếp theo cho tất cả các sản phẩm thuộc hệ sinh thái Jupyter. Nó cho phép bạn làm việc liên tục với sổ ghi chép, trình chỉnh sửa và thiết bị đầu cuối theo cách có thể mở rộng.

Một số tính năng quan trọng của JupyterLab được thảo luận dưới đây:

  • Code Console hoạt động như một bàn di chuột để chạy mã một cách tương tác. Nó có hỗ trợ đầy đủ cho đầu ra phong phú và có thể được liên kết với hạt nhân của sổ ghi chép để ghi lại hoạt động của sổ ghi chép.

  • Bất kỳ tệp văn bản nào (Markdown, Python, R, LaTeX, v.v.) đều có thể chạy tương tác trong bất kỳ hạt nhân Jupyter nào.

  • Đầu ra ô của sổ tay có thể được hiển thị trong tab riêng của nó hoặc cùng với sổ ghi chép, cho phép các bảng điều khiển đơn giản với các điều khiển tương tác được hỗ trợ bởi nhân.

  • Chỉnh sửa trực tiếp tài liệu phản ánh trong các trình xem khác như trình chỉnh sửa hoặc bảng điều khiển. Có thể xem trước trực tiếp các tài liệu Markdown, Giá trị được phân tách bằng dấu phân cách hoặc Vega / Vega-Lite.

JupyterLab có thể xử lý nhiều định dạng tệp (hình ảnh, CSV, JSON, Markdown, PDF, v.v.). Nó cũng hiển thị đầu ra phong phú ở các định dạng này. JupyterLab cung cấp các phím tắt có thể tùy chỉnh sử dụng bản đồ chính từ nhiều trình soạn thảo văn bản nổi tiếng.

Bạn có thể thử trực tuyến các tính năng của JupyterLab trước khi cài đặt. Chuyến thămhttps://jupyter.org/try và chọn tùy chọn 'thử JupyterLab'.

Tab trình khởi chạy hiển thị các hạt nhân và bảng điều khiển hiện có sẵn. Bạn có thể bắt đầu một sổ ghi chép / thiết bị đầu cuối mới dựa trên bất kỳ thiết bị nào trong số chúng. Cột bên trái cũng có các tab cho trình duyệt tệp, hạt nhân đang chạy và các tab và chế độ xem cài đặt.

JupyterLab thường được cài đặt tự động với bản phân phối Anaconda. Tuy nhiên, nó cũng có thể được cài đặt riêng bằng cách sử dụng lệnh conda sau:

conda install -c conda-forge jupyterlab

Bạn cũng có thể sử dụng lệnh pip cho mục đích này -

pip3 install jupyterlab

Để khởi động ứng dụng JupyterLab, cách thuận tiện nhất là từ Anaconda Navigator nếu nó được cài đặt.

Hoặc khởi động nó từ dòng lệnh từ cửa sổ lệnh Windows / Linux hoặc dấu nhắc Anaconda bằng lệnh này:

jupyter lab

Dù bằng cách nào, màn hình khởi chạy của ứng dụng JupyterLab trông như thế này -

Để bắt đầu một sổ ghi chép mới, hãy bấm vào hạt nhân mong muốn. Trong ảnh chụp màn hình ở trên, một nhân được thấy là nhân Python3. Nhấp vào nó để bắt đầu một sổ ghi chép Python. Quan sát rằng chức năng của nó tương tự như chức năng mà chúng tôi đã nghiên cứu trong hướng dẫn này.

Thanh menu

Thanh menu ở đầu cửa sổ. Các menu mặc định bạn có thể tìm thấy trong này là:

  • File - Các thao tác liên quan đến tệp và thư mục.

  • Edit - Các thao tác liên quan đến chỉnh sửa tài liệu và các hoạt động khác.

  • View - Các hành động làm thay đổi giao diện của JupyterLab.

  • Run - Các hành động để chạy mã trong các hoạt động khác nhau như sổ ghi chép và bảng điều khiển mã.

  • Kernel - Các hành động để quản lý hạt nhân, là các quá trình riêng biệt để chạy mã.

  • Tabs - Danh sách các tài liệu và hoạt động đang mở trong bảng điều khiển.

  • Settings - Cài đặt chung và trình chỉnh sửa cài đặt nâng cao.

  • Help - Danh sách các liên kết trợ giúp của JupyterLab và kernel.

Thanh bên trái hiển thị các nút để bắt đầu trình khởi chạy mới, thêm thư mục, tải tệp lên và làm mới danh sách tệp. Khung bên phải là khu vực làm việc chính nơi sổ ghi chép, bảng điều khiển và thiết bị đầu cuối được hiển thị trong dạng xem theo thẻ.

Để bắt đầu một bảng điều khiển mới, hãy nhấp vào + biểu tượng ở thanh bên trái để mở một trình khởi chạy mới rồi nhấp vào tùy chọn bảng điều khiển. Bảng điều khiển sẽ mở trong tab mới ở khung bên phải.

Lưu ý rằng ô đầu vào nằm ở dưới cùng, nhưng khi nó được chạy, ô và ô đầu ra tương ứng của nó sẽ xuất hiện ở phần trên của tab bảng điều khiển.

Trình khởi chạy cũng cho phép bạn mở một trình soạn thảo văn bản và một thiết bị đầu cuối trong đó trình bao IPython có thể được gọi.

Project Jupyter hiện hỗ trợ hạt nhân của môi trường lập trình. Bây giờ chúng ta sẽ xem cách cài đặt nhân R trong bản phân phối anaconda.

Trong cửa sổ nhắc Anaconda nhập lệnh sau:

conda install -c r r-essentials

Bây giờ, từ tab trình khởi chạy, chọn hạt nhân R để bắt đầu một sổ ghi chép mới.

Sau đây là ảnh chụp màn hình máy tính xách tay Jupyter có nhân R: