Hướng dẫn python: scientific computing book - python: sách tính toán khoa học

Python có thể được sử dụng cho nhiều hơn chỉ là lập trình đa năng. Nó là một ngôn ngữ và môi trường nguồn mở miễn phí, có tiềm năng to lớn để sử dụng trong lĩnh vực điện toán khoa học. Cuốn sách này trình bày Python kết nối chặt chẽ với các ứng dụng toán học và trình bày cách sử dụng các khái niệm khác nhau trong Python cho mục đích tính toán, bao gồm các ví dụ với phiên bản mới nhất của Python 3. Python là một công cụ hiệu quả để sử dụng khi kết hợp máy tính khoa học và toán học và cuốn sách này sẽ Dạy bạn cách sử dụng nó cho đại số tuyến tính, mảng, vẽ đồ thị, lặp lại, chức năng, đa thức, và nhiều hơn nữa.

Claus Führer là giáo sư tính toán khoa học tại Đại học Lund, Thụy Điển. Ông có một hồ sơ giảng dạy rộng rãi bao gồm các khóa học lập trình chuyên sâu về phân tích số và toán học kỹ thuật ở nhiều cấp độ khác nhau ở nhiều quốc gia và môi trường giảng dạy khác nhau. Claus cũng phát triển phần mềm số trong hợp tác nghiên cứu với ngành công nghiệp và nhận được Giải thưởng Giáo viên tốt nhất của Đại học Lund Đại học năm 2016. is a professor of scientific computations at Lund University, Sweden. He has an extensive teaching record that includes intensive programming courses in numerical analysis and engineering mathematics across various levels in many different countries and teaching environments. Claus also develops numerical software in research collaboration with industry and received Lund University’s Faculty of Engineering Best Teacher Award in 2016. is a professor of scientific computations at Lund University, Sweden. He has an extensive teaching record that includes intensive programming courses in numerical analysis and engineering mathematics across various levels in many different countries and teaching environments. Claus also develops numerical software in research collaboration with industry and received Lund University’s Faculty of Engineering Best Teacher Award in 2016.

Jan Erik Solem là một người đam mê Python, cựu phó giáo sư, và hiện là CEO của Mapillary, một công ty tầm nhìn máy tính hình ảnh đường phố. Trước đây, ông đã làm việc như một chuyên gia nhận dạng khuôn mặt, người sáng lập và CTO của Polar Rose, và Trưởng nhóm Tầm nhìn Máy tính tại Apple. Jan là người tiên phong công nghệ diễn đàn kinh tế thế giới và giành giải thưởng luận án Bắc Âu tốt nhất 2005-2006 cho luận án về phân tích hình ảnh và nhận dạng mẫu. Ông cũng là tác giả của "Lập trình Tầm nhìn máy tính với Python" (O'Reilly 2012). is a Python enthusiast, former associate professor, and currently the CEO of Mapillary, a street imagery computer vision company. He has previously worked as a face recognition expert, founder and CTO of Polar Rose, and computer vision team leader at Apple. Jan is a World Economic Forum technology pioneer and won the Best Nordic Thesis Award 2005-2006 for his dissertation on image analysis and pattern recognition. He is also the author of "Programming Computer Vision with Python" (O'Reilly 2012). is a Python enthusiast, former associate professor, and currently the CEO of Mapillary, a street imagery computer vision company. He has previously worked as a face recognition expert, founder and CTO of Polar Rose, and computer vision team leader at Apple. Jan is a World Economic Forum technology pioneer and won the Best Nordic Thesis Award 2005-2006 for his dissertation on image analysis and pattern recognition. He is also the author of "Programming Computer Vision with Python" (O'Reilly 2012).

Olivier Verdier bắt đầu sử dụng Python để điện toán khoa học trở lại vào năm 2007 và nhận bằng Tiến sĩ Toán học tại Đại học Lund năm 2009. Ông đã giữ các vị trí sau tiến sĩ ở Cologne, Trondheim, Bergen và UMEå và hiện là phó giáo sư toán học tại Đại học Bergen Đại học, Na Uy. began using Python for scientific computing back in 2007 and received a PhD in mathematics from Lund University in 2009. He has held post-doctoral positions in Cologne, Trondheim, Bergen, and Umeå and is now an associate professor of mathematics at Bergen University College, Norway. began using Python for scientific computing back in 2007 and received a PhD in mathematics from Lund University in 2009. He has held post-doctoral positions in Cologne, Trondheim, Bergen, and Umeå and is now an associate professor of mathematics at Bergen University College, Norway.

Trong chương này, chúng tôi sẽ đưa ra một cái nhìn tổng quan ngắn gọn về các yếu tố cú pháp chính của Python. Độc giả mới bắt đầu học lập trình được hướng dẫn thông qua cuốn sách trong chương này. Mỗi chủ đề được trình bày ở đây trong A & NBSP; Cách làm & NBSP; Way & nbsp; và sẽ được giải thích sau trong cuốn sách theo cách khái niệm sâu sắc hơn và cũng sẽ được làm giàu với nhiều ứng dụng và phần mở rộng. how-to way and will be explained later in the book in a deeper conceptual manner and will also be enriched with many applications and extensions. how-to way and will be explained later in the book in a deeper conceptual manner and will also be enriched with many applications and extensions.

Những người đọc đã quen thuộc với một ngôn ngữ lập trình khác, trong chương này, sẽ gặp phải cách thực hiện các cấu trúc ngôn ngữ cổ điển. Điều này cung cấp cho họ một khởi đầu nhanh chóng để lập trình Python.

Cả hai loại độc giả đều được khuyến khích đề cập đến chương này như một hướng dẫn ngắn gọn khi ngoằn ngoèo qua cuốn sách. Tuy nhiên, trước khi chúng tôi bắt đầu, chúng tôi phải đảm bảo rằng mọi thứ đã được đặt ra và bạn có phiên bản Python chính xác được cài đặt cùng với các mô -đun chính ...

1.1 Hướng dẫn cài đặt và cấu hình

Trước khi đi sâu vào chủ đề của cuốn sách, bạn & nbsp; nên & nbsp; có tất cả các công cụ có liên quan được cài đặt trên máy tính của bạn. Chúng tôi cung cấp cho bạn một số lời khuyên và đề xuất các công cụ mà bạn có thể muốn sử dụng. Chúng tôi chỉ mô tả miền công cộng và các công cụ miễn phí.

1.1.1 Cài đặt

Hiện tại có hai phiên bản chính của Python; & nbsp; 2.x & nbsp; chi nhánh và nbsp; 3.x & nbsp; chi nhánh. Có sự không tương thích về ngôn ngữ giữa các & nbsp; chi nhánh & nbsp; và bạn phải nhận thức được cái nào sẽ sử dụng. Cuốn sách này dựa trên chi nhánh & nbsp; 3.x & nbsp;, xem xét ngôn ngữ này sẽ được phát hành & nbsp; 3.7. 2.x branch and the new 3.x branch. There are language incompatibilities between these branches and you have to be aware of which one to use. This book is based on the 3.x branch, considering the language is up to release 3.7. 2.x branch and the new 3.x branch. There are language incompatibilities between these branches and you have to be aware of which one to use. This book is based on the 3.x branch, considering the language is up to release 3.7.

Đối với cuốn sách này, bạn cần cài đặt như sau:

  • Người phiên dịch: Python & NBSP; 3.7 (hoặc muộn hơn) 3.7 (or later) 3.7 (or later)
  • Các mô -đun cho điện toán khoa học: Scipy với Numpy
  • Mô -đun cho biểu diễn đồ họa của kết quả toán học: matplotlib
  • Shell: Ipython
  • Một trình soạn thảo liên quan đến Python: tốt nhất là Spyder (xem Hình 1.1).

Việc cài đặt chúng được tạo điều kiện bởi các gói phân phối được gọi là. Chúng tôi & nbsp; Khuyến nghị & nbsp; mà bạn sử dụng Anaconda. recommend that you use Anaconda. recommend that you use Anaconda.

1.1.2 Anaconda

Ngay cả khi bạn đã cài đặt sẵn Python trên máy tính của mình, chúng tôi khuyên bạn nên tạo môi trường Python cá nhân của mình mà & nbsp; cho phép & nbsp; bạn & nbsp; để làm việc mà không có nguy cơ vô tình ảnh hưởng đến phần mềm mà chức năng của máy tính của bạn có thể phụ thuộc. Với môi trường ảo, chẳng hạn như Anaconda, bạn có thể tự do thay đổi các phiên bản ngôn ngữ và cài đặt các gói mà không có tác dụng phụ ngoài ý muốn.

Nếu điều tồi tệ nhất xảy ra và bạn làm mọi thứ trở nên hoàn toàn, chỉ cần xóa thư mục Anaconda và bắt đầu lại. Chạy & nbsp; trình cài đặt Anaconda & nbsp; sẽ cài đặt Python, môi trường phát triển Python và trình soạn thảo (Spyder), shell (ipython) và các gói quan trọng nhất cho các tính toán số: scipy, numpy và matplotlib.

Bạn có thể cài đặt các gói bổ sung với & nbsp; Conda install & nbsp; trong môi trường ảo của bạn được tạo bởi Anaconda (xem thêm tài liệu chính thức). conda install within your virtual environment created by Anaconda (see also the official documentation). conda install within your virtual environment created by Anaconda (see also the official documentation).

1.1.3 Spyder

Mặc định & nbsp; màn hình & nbsp; của Spyder bao gồm một cửa sổ biên tập ở bên trái, cửa sổ điều khiển ở góc dưới bên phải, cho phép truy cập vào vỏ ipython và cửa sổ trợ giúp ở góc trên bên phải, như thể hiện trong phần sau đây nhân vật: screen of Spyder consists of an editor window on the left, a console window in the lower-right corner, which gives access to an IPython shell, and a help window in the upper-right corner, as shown in the following figure: screen of Spyder consists of an editor window on the left, a console window in the lower-right corner, which gives access to an IPython shell, and a help window in the upper-right corner, as shown in the following figure:

Hướng dẫn python: scientific computing book - python: sách tính toán khoa học

Hình 1.1: Màn hình mặc định của Spyder

1.1.4 Cấu hình

Hầu hết các mã Python sẽ được thu thập trong các tệp. Chúng tôi khuyên bạn nên & nbsp; bạn & nbsp; sử dụng tiêu đề sau trong tất cả các tệp Python của bạn:

from numpy import *
from matplotlib.pyplot import *

Với điều này, bạn đảm bảo rằng tất cả các loại dữ liệu và chức năng cơ bản được sử dụng trong cuốn sách này cho mục đích điện toán khoa học đều được nhập. Không có bước này, hầu hết các ví dụ trong cuốn sách sẽ gây ra lỗi.used in this book for scientific computing purposes are imported. Without this step, most of the examples in the book would raise errors.used in this book for scientific computing purposes are imported. Without this step, most of the examples in the book would raise errors.

Spyder đưa ra cảnh báo cú pháp và chỉ số lỗi cú pháp. Cảnh báo được đánh dấu bằng một tam giác màu vàng; Xem Hình 1.2.

Cảnh báo cú pháp chỉ ra các tuyên bố là chính xác nhưng bạn không được khuyến khích sử dụng vì một số lý do. Tuyên bố trước, & nbsp; từ, gây ra một cảnh báo như vậy. Chúng tôi sẽ thảo luận về các lý do cho điều này sau trong cuốn sách này. Trong trường hợp cụ thể này, chúng tôi bỏ qua cảnh báo.indicate statements that are correct but that you are discouraged from using for some reason. The preceding statement, from, causes such a warning. We will discuss the reasons for this later in this book. In this particular case, we ignore the warning.indicate statements that are correct but that you are discouraged from using for some reason. The preceding statement, from, causes such a warning. We will discuss the reasons for this later in this book. In this particular case, we ignore the warning.

Hình 1.2: & nbsp; hình tam giác cảnh báo ở Spyder

Nhiều biên tập viên, chẳng hạn như Spyder, cung cấp khả năng tạo một mẫu cho các tệp của bạn. Tìm tính năng này và đặt tiêu đề trước & nbsp;

1.1.5 vỏ Python

& Nbsp; python & nbsp; shell là tốt, nhưng không tối ưu, cho kịch bản tương tác. Do đó, chúng tôi khuyên bạn nên sử dụng ipython thay thế [25]. Python shell is good, but not optimal, for interactive scripting. We therefore recommend using IPython instead [25]. Python shell is good, but not optimal, for interactive scripting. We therefore recommend using IPython instead [25].

& nbsp; ipython có thể là & nbsp; bắt đầu & nbsp; theo những cách khác nhau:

  • Trong một shell thiết bị đầu cuối bằng cách chạy lệnh sau: & nbsp; ipython ipython ipython
  • Bằng cách nhấp trực tiếp vào một biểu tượng có tên Jupyter Qt Console:

  • Khi làm việc với Spyder, bạn nên sử dụng bảng điều khiển Ipython (xem & NBSP; Hình 1.1). Figure 1.1). Figure 1.1).

1.1.6 Thực thi các tập lệnh

Bạn thường muốn thực hiện nội dung của một tệp. Tùy thuộc vào vị trí của tệp trên máy tính của bạn, cần phải điều hướng đến vị trí chính xác trước & nbsp; thực thi & nbsp; nội dung của một tệp:

  • Sử dụng & nbsp; Command & nbsp; cd & nbsp; trong ipython để chuyển sang thư mục nơi đặt tệp của bạn. cd in IPython in order to move to the directory where your file is located. cd in IPython in order to move to the directory where your file is located.
  • Để thực thi nội dung của một tệp có tên & nbsp; myfile.py, chỉ cần chạy lệnh sau trong shell ipython: myfile.py, just run the following command in the IPython shell: myfile.py, just run the following command in the IPython shell:
run myfile

1.1.7 Nhận trợ giúp

Dưới đây là một số mẹo về cách sử dụng ipython:

  • Để nhận trợ giúp trên một đối tượng, chỉ cần gõ & nbsp;? & Nbsp; sau tên của đối tượng và sau đó nhấn phím trả về. ? after the object's name and then press the Return key. ? after the object's name and then press the Return key.
  • Sử dụng các khóa mũi tên để & nbsp; tái sử dụng & nbsp; các lệnh thực hiện cuối cùng.
  • Bạn có thể sử dụng & nbsp; tab & nbsp; khóa hoàn thành (nghĩa là bạn viết chữ cái đầu tiên của một biến hoặc phương thức và ipython hiển thị cho bạn một menu & nbsp; với & nbsp; tất cả các hoàn thành có thể có). Tab key for completion (that is, you write the first letter of a variable or method and IPython shows you a menu with all the possible completions). Tab key for completion (that is, you write the first letter of a variable or method and IPython shows you a menu with all the possible completions).
  • Sử dụng & nbsp; ctrl+d & nbsp; để bỏ. Ctrl+D to quit. Ctrl+D to quit.
  • Sử dụng các chức năng ma thuật của Ipython. Bạn có thể & nbsp; find & nbsp; một danh sách và giải thích bằng cách áp dụng & nbsp;%ma thuật & nbsp; trên dấu nhắc lệnh.

Bạn có thể tìm hiểu thêm về Ipython trong tài liệu trực tuyến của mình.

1.1.8 Jupyter - Notebook Python

Notebook Jupyter là một công cụ tuyệt vời cho & nbsp; trình diễn & nbsp; công việc của bạn. Học sinh có thể muốn sử dụng nó để thực hiện và ghi chép lại bài tập về nhà và bài tập và giáo viên có thể chuẩn bị các bài giảng với nó, thậm chí các slide và trang web.

Nếu bạn đã cài đặt & nbsp; Python & nbsp; thông qua Anaconda, bạn đã có mọi thứ cho Jupyter tại chỗ. Bạn có thể gọi sổ ghi chép bằng cách chạy lệnh sau trong cửa sổ đầu cuối:

jupyter notebook

Một cửa sổ trình duyệt sẽ mở và bạn có thể tương tác với Python thông qua trình duyệt web của bạn.

1.2 Chương trình và luồng chương trình

A & nbsp; chương trình & nbsp; là một chuỗi & nbsp; câu lệnh & nbsp; được thực hiện theo thứ tự từ trên xuống. Thứ tự thực hiện tuyến tính này có một số ngoại lệ quan trọng:

  • Có thể có một việc thực hiện có điều kiện các nhóm tuyên bố thay thế (các khối), mà chúng tôi gọi là phân nhánh.
  • Có các khối được thực thi lặp đi lặp lại, được gọi là vòng lặp (xem Hình 1.3).
  • Có các cuộc gọi chức năng là các tham chiếu đến một đoạn mã khác, được thực thi trước khi luồng chương trình chính được nối lại. Một cuộc gọi chức năng phá vỡ việc thực thi tuyến tính và tạm dừng việc thực hiện một đơn vị chương trình trong khi nó chuyển điều khiển cho một đơn vị khác - một chức năng. Khi điều này được hoàn thành, kiểm soát của nó được trả lại cho đơn vị gọi.

Hình 1.3: Dòng chảy chương trình

Python sử dụng A & NBSP; Đặc biệt & NBSP; Cú pháp để đánh dấu các khối của các câu lệnh: từ khóa, dấu hai chấm và một chuỗi các câu lệnh thụt lề, mà & nbsp; thuộc về & nbsp; vào khối (xem Hình 1.4).

Hình 1.4: Lệnh khối

1.2.1 Nhận xét

Nếu một dòng trong A & NBSP; Chương trình & NBSP; chứa ký hiệu & nbsp;#, & nbsp; mọi thứ theo cùng một dòng được coi là một nhận xét: #, everything following on the same line is considered as a comment: #, everything following on the same line is considered as a comment:

# This is a comment of the following statement
a = 3  # ... which might get a further comment here  

1.2.2 Tham gia dòng

Một dấu gạch chéo ngược \ ở cuối & nbsp; dòng & nbsp; đánh dấu & nbsp; next & nbsp; dòng là một dòng tiếp tục, nghĩa là, & nbsp; tham gia dòng rõ ràng. Nếu dòng kết thúc & nbsp; trước & nbsp; tất cả các dấu ngoặc đơn được đóng, các dòng sau & nbsp; line & nbsp; sẽ tự động được công nhận là một dòng tiếp tục, nghĩa là & nbsp; tham gia dòng ẩn.

1.3 Các loại dữ liệu cơ bản trong Python

Chúng ta hãy xem qua & nbsp; cơ bản & nbsp; các loại dữ liệu mà bạn sẽ gặp trong Python.

1.3.1 số

A & nbsp; số & nbsp; có thể là một số nguyên, một số thực hoặc một số phức. Các hoạt động thông thường như sau:

  • Ngoài ra và trừ, & nbsp;+& nbsp; và & nbsp;- + and - + and -
  • Phép nhân và chia, & nbsp;*& nbsp; và & nbsp;/ * and / * and /
  • Power, ** ** **

Đây là một ví dụ:

2 ** (2 + 2) # 16
1j ** 2 # -1
1. + 3.0j

Biểu tượng j & nbsp; biểu thị phần tưởng tượng của một số phức. Nó là một yếu tố cú pháp và không nên nhầm lẫn với phép nhân bởi một biến.

1.3.2 chuỗi

Chuỗi là & nbsp; chuỗi & nbsp; của các ký tự, được đặt bởi các trích dẫn đơn hoặc đôi:

'valid string'
"string with double quotes"
"you shouldn't forget comments"
'these are double quotes: ".." '

Bạn cũng có thể sử dụng trích dẫn ba cho các chuỗi có nhiều dòng:

"""This is
 a long,
 long string"""

1.3.3 Biến

A & nbsp; biến & nbsp; là một tham chiếu đến một đối tượng. Một đối tượng có thể có một số tài liệu tham khảo. Bạn sử dụng toán tử gán & nbsp; = & nbsp; để gán một giá trị cho một biến:

x = [3, 4] # a list object is created
y = x # this object now has two labels: x and y
del x # we delete one of the labels
del y # both labels are removed: the object is deleted

Giá trị của một biến có thể được hiển thị bởi & nbsp; print & nbsp; function: print function: print function:

x = [3, 4] # a list object is created
print(x)

1.3.4 Danh sách

Danh sách là một rất hữu ích & nbsp; xây dựng & nbsp; và một trong những loại cơ bản trong Python. Danh sách Python là một danh sách các đối tượng được đặt hàng được đặt trong dấu ngoặc vuông. Bạn có thể truy cập các yếu tố của danh sách bằng cách sử dụng không dựa trên & NBSP; indexes & nbsp; bên trong dấu ngoặc vuông:

L1 = [5, 6]
L1[0] # 5
L1[1] # 6
L1[2] # raises IndexError
L2 = ['a', 1, [3, 4]]
L2[0] # 'a'
L2[2][0] # 3
L2[-1] # last element: [3,4]
L2[-2] # second to last: 1

Việc lập chỉ mục của các phần tử bắt đầu ở mức 0. Bạn có thể đặt các đối tượng thuộc bất kỳ loại nào trong danh sách, thậm chí các danh sách khác. Một số chức năng danh sách cơ bản như sau:

  • Danh sách (phạm vi (n))} & nbsp; tạo một danh sách với & nbsp; n & nbsp; các phần tử, bắt đầu bằng 0: creates a list with n elements, starting with zero: creates a list with n elements, starting with zero:
run myfile
0
  • Len & nbsp; đưa ra độ dài của một danh sách: gives the length of a list: gives the length of a list:
run myfile
1
  • Phụ lục & nbsp; được sử dụng để nối một phần tử vào danh sách: is used to append an element to a list: is used to append an element to a list:
run myfile
2

Hoạt động trong danh sách

  • Nhà điều hành & nbsp;+& nbsp; Concatenates & nbsp; hai & nbsp; danh sách: + concatenates two lists: + concatenates two lists:
run myfile
3
  • Như bạn có thể mong đợi, nhân danh sách với một số nguyên kết hợp với danh sách với chính nó nhiều lần:

n*l & nbsp; tương đương với việc tạo & nbsp; n & nbsp; bổ sung: is equivalent to making n additions: is equivalent to making n additions:

run myfile
4

1.3.6 Biểu thức Boolean

Một biểu thức boolean là một & nbsp; biểu thức & nbsp; có giá trị & nbsp; true & nbsp; hoặc & nbsp; false. Một số nhà khai thác phổ biến mang lại các biểu thức có điều kiện như sau: True or False. Some common operators that yield conditional expressions are as follow: True or False. Some common operators that yield conditional expressions are as follow:

  •  Equal: == == ==
  • & nbsp; không bằng: & nbsp;! = != !=
  • & nbsp; hoàn toàn ít hơn, ít hơn & nbsp; hoặc bằng nhau: & nbsp;  <, <=
  • & nbsp; lớn hơn, lớn hơn hoặc bằng nhau: & nbsp;>, & nbsp;> = >, >= >, >=

Bạn kết hợp các giá trị boolean khác nhau với & nbsp; hoặc & nbsp; và & nbsp; và. Từ khóa & nbsp; không & nbsp; đưa ra phủ định logic của & nbsp; biểu thức & nbsp; theo sau. Các so sánh có thể được xích để, ví dụ, & nbsp; x  or and and. The keyword not gives the logical negation of the expression that follows. Comparisons can be chained so that, for example, x < y < z is equivalent to x < y and y < z. The difference is that y is only evaluated once in the first example. In both cases, z is not evaluated at all when the first condition, x < y, evaluates to False: and and. The keyword not gives the logical negation of the expression that follows. Comparisons can be chained so that, for example, x < y < z is equivalent to x < y and y < z. The difference is that y is only evaluated once in the first example. In both cases, z is not evaluated at all when the first condition, x < y, evaluates to False:

run myfile
5

1.4 Lặp lại các câu lệnh với các vòng lặp

Các vòng lặp được sử dụng để & nbsp; lặp đi lặp lại & nbsp; thực hiện một chuỗi các câu lệnh trong khi thay đổi một biến từ lặp sang lặp. Biến này được gọi là biến chỉ mục. Nó liên tiếp & nbsp; được gán & nbsp; cho các yếu tố của một danh sách:

run myfile
6

Phần sẽ được lặp lại trong & nbsp; for & nbsp; vòng lặp phải là & nbsp; đúng & nbsp; thụt lề: for loop has to be properly indented:  for loop has to be properly indented:

run myfile
7

1.4.1 Lặp lại một nhiệm vụ

Một cách sử dụng điển hình của A & nbsp; for & nbsp; vòng lặp là lặp lại a & nbsp; một số & nbsp; nhiệm vụ một số lần cố định: for loop is to repeat a certain task a fixed number of times: for loop is to repeat a certain task a fixed number of times:

run myfile
8

1.4.2 Break và nếu không

& Nbsp; for & nbsp; statement có & nbsp; hai & nbsp; từ khóa quan trọng: & nbsp; break & nbsp; và & nbsp; Từ khóa phá vỡ & nbsp; thoát khỏi & nbsp; for & nbsp; loop ngay cả khi danh sách chúng tôi lặp đi lặp lại không cạn kiệt: for statement has two important keywords: break and else. The keyword break quits the for loop even if the list we are iterating is not exhausted: for statement has two important keywords: break and else. The keyword break quits the for loop even if the list we are iterating is not exhausted:

run myfile
9

Hoàn thiện & nbsp; other & nbsp; séc & nbsp; cho dù & nbsp; the & nbsp; for & nbsp; loop là & nbsp; bị hỏng & nbsp; với & nbsp; break & nbsp; từ khóa. Nếu nó không bị hỏng, khối sau & nbsp; other & nbsp; từ khóa được thực thi: else checks whether the for loop was broken with the break keyword. If it was not broken, the block following the else keyword is executed: else checks whether the for loop was broken with the break keyword. If it was not broken, the block following the else keyword is executed:

jupyter notebook
0

1.5 Báo cáo có điều kiện

Phần này bao gồm cách sử dụng & nbsp; Điều kiện & nbsp; để phân nhánh, phá vỡ hoặc kiểm soát mã của bạn.

Một câu lệnh có điều kiện phân định một khối sẽ được thực thi nếu điều kiện là đúng. Một khối tùy chọn bắt đầu với từ khóa & nbsp; other & nbsp; sẽ được thực thi nếu điều kiện không được đáp ứng (xem & nbsp; Hình 1.4). Chúng tôi chứng minh điều này bằng cách in, giá trị tuyệt đối của & nbsp ;: else will be executed if the condition is not fulfilled (see Figure 1.4). We demonstrate this by printing,  else will be executed if the condition is not fulfilled (see Figure 1.4). We demonstrate this by printing,

, the absolute value of  

:

Tương đương Python như sau:

jupyter notebook
1

Bất kỳ đối tượng nào cũng có thể được kiểm tra giá trị sự thật, để sử dụng trong một & nbsp; if & nbsp; hoặc & nbsp; while & nbsp; statement. Các quy tắc cho cách các giá trị sự thật thu được được giải thích trong Phần 2.3.2, & NBSP; Boolean đúc. if or while statement. The rules for how the truth values are obtained are explained in Section 2.3.2, Boolean casting. if or while statement. The rules for how the truth values are obtained are explained in Section 2.3.2, Boolean casting.

1.6 Mã đóng gói với các chức năng

Các chức năng rất hữu ích cho & nbsp; thu thập & nbsp; các đoạn mã tương tự ở một nơi. Xem xét & nbsp; sau & nbsp; chức năng toán học:

Tương đương Python như sau:

jupyter notebook
2

Bất kỳ đối tượng nào cũng có thể được kiểm tra giá trị sự thật, để sử dụng trong một & nbsp; if & nbsp; hoặc & nbsp; while & nbsp; statement. Các quy tắc cho cách các giá trị sự thật thu được được giải thích trong Phần 2.3.2, & NBSP; Boolean đúc.

  • 1.6 Mã đóng gói với các chức năng def tells Python we are defining a function. def tells Python we are defining a function.
  • Các chức năng rất hữu ích cho & nbsp; thu thập & nbsp; các đoạn mã tương tự ở một nơi. Xem xét & nbsp; sau & nbsp; chức năng toán học: is the name of the function. is the name of the function.
  • Trong Hình 1.5, các phần tử của khối hàm được giải thích: & nbsp; is the argument or input of the function. is the argument or input of the function.
  • Từ khóa & nbsp; def & nbsp; nói với Python chúng tôi đang xác định một hàm. return is called the output of the function. return is called the output of the function.

f & nbsp; là tên của hàm.

x & nbsp; là đối số hoặc đầu vào của hàm.

jupyter notebook
3

Sau & nbsp; return & nbsp; được gọi là đầu ra của hàm.

Hình 1.5: Giải phẫu của một chức năng

jupyter notebook
4

Trong vỏ Python hoặc ipython, một tập lệnh như vậy sau đó có thể được thực thi với lệnh & nbsp; exec & nbsp; sau khi mở và đọc tệp. Được viết dưới dạng một liner, nó đọc như sau: exec command after opening and reading the file. Written as a one-liner, it reads as follows: exec command after opening and reading the file. Written as a one-liner, it reads as follows:

jupyter notebook
5

Shell ipython cung cấp lệnh ma thuật & nbsp;%chạy & nbsp; như một cách thay thế tiện dụng để thực thi tập lệnh: %run as a handy alternative way to execute a script: %run as a handy alternative way to execute a script:

jupyter notebook
6

1.7.1 Mô -đun đơn giản - Thu thập các chức năng

Thông thường, bạn thu thập các chức năng & nbsp; trong một kịch bản. Điều này tạo ra một mô -đun với chức năng Python bổ sung. Để chứng minh điều này, chúng tôi tạo A & NBSP; Module & NBSP; bằng cách thu thập các chức năng trong một tệp duy nhất, ví dụ, SmartFunctions.py:

jupyter notebook
7
  • Các chức năng này hiện có thể được sử dụng bởi bất kỳ tập lệnh bên ngoài hoặc trực tiếp trong môi trường ipython.
  • Các chức năng trong mô -đun có thể phụ thuộc vào nhau._
  • Nhóm các chức năng với một chủ đề hoặc mục đích phổ biến đưa ra các mô -đun có thể được chia sẻ và sử dụng bởi những người khác.

Một lần nữa, lệnh & nbsp; exec (open ('SmartFifts.py'). Đọc ()) & nbsp; làm cho các hàm này có sẵn cho shell ipython của bạn (lưu ý rằng cũng có chức năng ipython & nbsp; MAGIC, & NBSP; chạy). Trong thuật ngữ Python, bạn nói rằng chúng được đưa vào không gian tên thực tế. exec(open('smartfunctions.py').read()) makes these functions available to your IPython shell (note that there is also the IPython magic function, run). In Python terminology, you say that they are put into the actual namespace. exec(open('smartfunctions.py').read()) makes these functions available to your IPython shell (note that there is also the IPython magic function, run). In Python terminology, you say that they are put into the actual namespace.

1.7.2 Sử dụng các mô -đun và không gian tên

Ngoài ra, các mô -đun có thể được nhập bởi lệnh & nbsp; nhập. Điều này tạo ra & nbsp; một không gian tên được đặt tên theo tên tệp. import. This creates a namespace named after the filename. The command from puts the functions into the general namespace without creating a separate namespace: import. This creates a namespace named after the filename. The command from puts the functions into the general namespace without creating a separate namespace:

jupyter notebook
8

Nhập khẩu & nbsp; The & nbsp; lệnh & nbsp; nhập & nbsp; và & nbsp; từ. Nhập & nbsp; các chức năng chỉ một lần vào không gian tên tương ứng. Thay đổi & nbsp; các chức năng & nbsp; sau khi nhập không có tác dụng đối với phiên Python hiện tại.

1.8 Thông dịch viên Python

Thông dịch & nbsp; Python & nbsp; thực hiện các bước sau:

  1. Đầu tiên, nó kiểm tra cú pháp.
  2. Sau đó, nó thực thi dòng mã từng dòng.
  3. Mã bên trong một hàm hoặc khai báo lớp là & nbsp; không phải & nbsp; được thực thi, nhưng cú pháp của nó được kiểm tra: not executed, but its syntax is checked: not executed, but its syntax is checked:
jupyter notebook
9

Bạn có thể chạy chương trình trước vì không có lỗi cú pháp. Bạn chỉ nhận được một lỗi khi bạn gọi chức năng & nbsp; f. f. f.

Trong trường hợp đó, chúng tôi nói về một lỗi thời gian chạy:

# This is a comment of the following statement
a = 3  # ... which might get a further comment here  
0

Bản tóm tắt

Trong chương này, chúng tôi đã giải quyết ngắn gọn các yếu tố ngôn ngữ chính của Python mà không đi sâu vào chi tiết. Bây giờ bạn có thể bắt đầu chơi với các đoạn mã nhỏ và kiểm tra các cấu trúc chương trình khác nhau. Tất cả điều này được dự định là một món khai vị cho các chương sau, nơi chúng tôi sẽ cung cấp cho bạn các chi tiết, ví dụ, bài tập và nhiều thông tin cơ bản hơn.

Python là một trong những ngôn ngữ lập trình linh hoạt nhất, phổ biến nhất hiện nay. Bạn có thể sử dụng nó cho tất cả mọi thứ, từ kịch bản cơ bản đến học máy. Trong điện toán khoa học với chứng nhận Python, bạn sẽ học các nguyên tắc cơ bản của Python như các biến, vòng lặp, điều kiện và chức năng.In the Scientific Computing with Python Certification, you'll learn Python fundamentals like variables, loops, conditionals, and functions.In the Scientific Computing with Python Certification, you'll learn Python fundamentals like variables, loops, conditionals, and functions.

Numpy là gói cơ bản để điện toán khoa học với Python, thêm hỗ trợ cho các mảng và ma trận lớn, đa chiều, cùng với một thư viện lớn các chức năng toán học cấp cao để hoạt động trên các mảng này. is the fundamental package for scientific computing with Python, adding support for large, multidimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays. is the fundamental package for scientific computing with Python, adding support for large, multidimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays.

Python là một ngôn ngữ lập trình mục đích chung hiện đại phổ biến trong điện toán khoa học cho cú pháp có thể đọc được và hệ sinh thái cực kỳ phong phú của các mô -đun khoa học và toán học.a modern general purpose programming language that is popular in scientific computing for its readable syntax and extremely rich ecosystem of scientific and mathematical modules.a modern general purpose programming language that is popular in scientific computing for its readable syntax and extremely rich ecosystem of scientific and mathematical modules.

Julia là một ngôn ngữ được tạo ra để không chỉ được sử dụng trong các ứng dụng đa năng, mà còn rất hướng đến phân tích tính toán và tính toán khoa học. is a language that was created to be not only used in general-purpose applications, but also be very geared towards scientific computing and computational analysis. is a language that was created to be not only used in general-purpose applications, but also be very geared towards scientific computing and computational analysis.