Hướng dẫn Python Spyder cho người mới bắt đầu

Hướng dẫn này sẽ đưa bạn qua những kiến ​​thức cơ bản về cách sử dụng Python 3 với môi trường phát triển tích hợp Spyder

Dưới đây là tổng quan về phần mềm chúng tôi đang ghi lại trên trang web này

  • Python là ngôn ngữ lập trình đa năng mà chúng tôi sẽ sử dụng để dạy bạn cách sử dụng máy tính trong vật lý
  • Python có hai phiên bản chính là Python 2 và Python 3. Chúng tôi sử dụng Python 3 nhưng phần kế thừa của trang web này ghi lại Python 2
  • Phần mềm Python được tổ chức trong các bản phân phối. Bản phân phối chúng tôi đang sử dụng là Anaconda Python 3
  • Chúng tôi ghi lại cách chạy Python trong môi trường phát triển tích hợp [IDE], đây là gói phần mềm cho phép bạn kiểm tra các lệnh Python, chỉnh sửa và chạy các chương trình Python của mình. IDE chúng tôi đang sử dụng là Spyder
  • Việc chuyển sang Anaconda Python 3 và Spyder đã được thực hiện vào tháng 9 năm 2017. Vui lòng đọc trang nền để biết thêm thông tin

Chúng tôi giả định rằng Anaconda Python 3 đã được cài đặt trên máy tính của bạn. Nếu đây không phải là trường hợp, hãy truy cập trang "Bắt đầu" với Anaconda Python 3 và quay lại hướng dẫn này sau khi bạn đã cài đặt các gói

Chúng tôi sử dụng một vài quy ước định dạng để hướng dẫn bạn

  • Các lệnh và câu lệnh đầu ra của Python thường được đặt ở phông chữ có độ rộng cố định, như trong
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    6
  • Các khối mã được tô bóng trong các hộp màu xám như thế này

mã trăn

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
  • Mã được viết trong các hộp này bao gồm đánh dấu màu cho các phần khác nhau của ngôn ngữ Python [lệnh, biến, nhận xét, v.v. ]. Nếu bạn không hiểu cách đánh dấu màu, đừng lo lắng về điều đó ngay bây giờ
  • Các hoạt động và bài tập để bạn thử được dán nhãn là Hoạt động 1, Hoạt động 2, v.v.
  • Vì các IDE khác nhau có các lời nhắc khác nhau trên bảng điều khiển, đôi khi chúng tôi bỏ qua các lời nhắc như
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    7 hoặc
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    8 để đơn giản

2. Bắt đầu Python trong Spyder IDE

Trong một phiên Python điển hình, bạn sẽ thử các lệnh Python một cách tương tác, chỉnh sửa và chạy các chương trình Python. Trong các hoạt động này, chúng tôi sẽ bắt đầu một phiên Python và chạy một vài tập lệnh đơn giản. Các tập lệnh này cũng được sử dụng trong tài liệu cài đặt

Lưu ý khi mở. tập tin py. Các tệp có phần mở rộng. py được gọi là tập lệnh Python. Trên máy tính của bạn, các tệp này sẽ xuất hiện ở dạng "có thể nhấp được", tôi. e. sẽ xuất hiện các tệp mà bạn có thể mở bằng cách nhấp vào chúng bằng chuột. Chúng tôi KHÔNG khuyên bạn nên mở các tệp này bằng cách nhấp vào chúng. Tại sao? . Thay vào đó, hãy sử dụng phương pháp được mô tả bên dưới. bắt đầu Spyder và mở tập lệnh Python bên trong phiên Spyder

Hoạt động 1. Bây giờ hãy làm như sau

Để khởi động Spyder

  • Trên Windows, có thể tìm thấy liên kết đến Spyder trong Menu Bắt đầu -> Chương trình -> Anaconda3 [64-bit]
    • Bạn cũng có thể tìm kiếm ứng dụng Spyder bằng cửa sổ Tìm kiếm trên Menu Bắt đầu
    • Cách đơn giản nhất để tìm thấy nó là tìm kiếm "Spyder" và nhấp vào biểu tượng cho ứng dụng Spyder
    • Có thể mất một lúc [vài phút] để Spyder khởi động lần đầu tiên
    • Vui lòng xem trang cài đặt để biết thêm về điều này
  • Trên Mac OS X, Spyder có thể được tìm thấy trong anaconda -> bin -> spyder trong thư mục nhà của bạn
    • Bạn cũng có thể tìm kiếm Spyder trong Spotlight hoặc sử dụng Anaconda Navigator
  • Kết quả có thể trông giống như những gì được hiển thị bên dưới [phiên bản Mac OS X từ khoảng năm 2018 được hiển thị]
  • Thiết lập ban đầu của Spyder hiển thị ba ngăn [cửa sổ con]. 1] cửa sổ chỉnh sửa tệp ở bên trái, 2] cửa sổ trợ giúp ở phía trên bên phải và 3] cửa sổ bảng điều khiển ở phía dưới bên phải. Bạn có thể điều chỉnh kích thước của các ô này bằng cách kéo thanh dọc hoặc ngang ngăn cách từng ô. Bạn có thể di chuyển chúng hoặc [vô tình. ] xóa chúng bằng cách sử dụng các biểu tượng trên đầu mỗi ngăn. Bạn có thể khôi phục một ngăn bằng menu View->Panes
  • Có rất nhiều tùy chọn để cấu hình Spyder theo cách của bạn, nhưng điều đầu tiên cần nhớ là bạn có thể thay đổi kích thước ba khung hình này bằng cách nhấp và kéo
    • Vui lòng thử nghiệm cài đặt khung trong Spyder theo cách bạn muốn. Bạn có thể đóng cửa sổ "trợ giúp" cho đến khi bạn cần lại
  • Bây giờ, Tải xuống tập lệnh demo biểu đồ, được lấy từ trang ví dụ matplotlib
  • Sử dụng File -> Open, mở file này từ bên trong Spyder và chạy nó bằng cách nhấn nút play hoặc F5
  • Kết quả có thể trông giống như thế này
  • Chuyện gì đang xảy ra vậy?
    • Bạn có thể thiết lập phiên của mình theo cách khác để cửa sổ biểu đồ xuất hiện tách biệt với cửa sổ bảng điều khiển. Nếu đúng như vậy, đừng lo lắng
    • Biểu đồ có thể trông hơi khác. Đó là do phiên bản tập lệnh bạn đã tải xuống mới hơn và sử dụng dữ liệu khác
  • Tiếp theo, hãy thử điều tương tự với tập lệnh demo thanh lỗi [cũng từ trang ví dụ matplotlib] và xem liệu bạn có nhận được thứ gì đó giống như
  • Bây giờ, vui lòng mở và chạy bất kỳ tập lệnh nào trong thư viện mẫu matplotlib. Bạn có thể nhấp vào bất kỳ hình thu nhỏ nào và tìm hiểu cách tạo các ô thú vị

Khi bạn hoàn tất, hãy chuyển sang phần tiếp theo, nơi chúng ta sẽ nói về việc sử dụng Python làm máy tính và kiểm tra mã một cách nhanh chóng

3. Sử dụng Python tương tác

"Shell" là một chương trình máy tính cho phép bạn làm việc tương tác với một chương trình hoặc hệ điều hành bằng cách sử dụng các lệnh đã nhập. Cửa sổ Console trong Spyder là vỏ cho các lệnh Python. Trong trình bao Python, bạn có thể nhập lệnh để Python xử lý [hoặc "thông dịch"]. Trong phần này, chúng ta sẽ sử dụng trình bao Python để thực hiện một số phép tính và các công việc khác một cách tương tác

Hoạt động 2a. Bây giờ hãy làm như sau

  • Nếu được yêu cầu, sử dụng hướng dẫn ở trên, mở Spyder
  • Bây giờ hãy nhìn vào Bảng điều khiển, bạn sẽ nhận thấy rằng sau một số thông tin kỹ thuật, một lời nhắc sẽ được hiển thị
  • Nó thường có dạng
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    7, nhưng
                In [2]: print["Hello Toronto!]
            
    1 có thể được thay thế bằng một số khác. Đôi khi, lời nhắc có dạng
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    8
  • Bây giờ, tại dấu nhắc gõ

mã trăn

________số 8

và nhấn quay lại, và bạn sẽ thấy

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        

[Bảng điều khiển sẽ cung cấp các màu khác nhau để hướng dẫn bạn. ]
Chuyện gì vừa xảy ra vậy? . Trình thông dịch đọc lệnh yêu cầu nó in ra

            In [2]: print["Hello Toronto!]
        
3 Nó không thấy có vấn đề gì với những gì bạn gõ nên nó phản hồi bằng cách làm theo lệnh của bạn.

            In [2]: print["Hello Toronto!]
        
3 xuất hiện trong ví dụ này được gọi là một chuỗi, thường là một chuỗi các ký tự được đặt trong dấu ngoặc kép [dấu nháy đơn hoặc nháy kép]. Các chuỗi thường biểu thị thông tin [dữ liệu, thông báo cảnh báo, v.v. ] có nghĩa là có thể đọc được. Để biết thêm thông tin nâng cao về chuỗi và câu lệnh in, hãy xem Fun with Strings

Hoạt động 2b. Bây giờ nếu bạn phạm sai lầm thì sao?

  • Loại

mã trăn

            In [2]: print["Hello Toronto!]
        

không có trích dẫn thứ hai và bạn sẽ thấy một cái gì đó như

mã trăn

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
3

Trình thông dịch phàn nàn [có Lỗi cú pháp] khi tìm thấy phần cuối của dòng lệnh [

            In [2]: print["Hello Toronto!]
        
5] mà không tìm thấy phần cuối chuỗi của bạn có dấu ngoặc kép đóng. Vì vậy, mặc dù nó có thể đủ rõ ràng với bạn những gì bạn muốn, nhưng nó không rõ ràng với trình thông dịch và vì vậy nó không in ra lệnh của bạn. Nhưng cũng cần lưu ý --- và điều này rất quan trọng --- rằng sai lầm của bạn không gây ra hậu quả nào khác. Nó không phá hủy Python, hoặc đốt cháy bo mạch chủ của máy tính của bạn. Vì vậy, đừng lo lắng về việc mắc lỗi trong lập trình. Nó chỉ đi kèm với lãnh thổ

Hoạt động 3. Bây giờ hãy làm một phép tính đơn giản

  • Tại dấu nhắc, gõ

mã trăn

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
5

và nhấn quay lại. Bạn sẽ thấy một cái gì đó như

mã trăn

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
6

Hoạt động 3 cho biết cách sử dụng trình bao Python làm máy tính; .

            In [2]: print["Hello Toronto!]
        
6 được gọi là toán tử và có rất nhiều toán tử. Chúng ta có thể làm số học tiêu chuẩn, và nhiều hơn nữa. Ví dụ

mã trăn

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
8

Toán tử

            In [2]: print["Hello Toronto!]
        
7 nâng một số lên một lũy thừa cho trước

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
0

Ví dụ sau lấy căn bậc hai của 4. Bạn có thể sử dụng dấu ngoặc đơn để nhóm các thao tác lại với nhau

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
1

Bạn cần cẩn thận với thứ tự các thao tác bạn nhập, tuân theo "quy tắc ưu tiên" của Python. Ví dụ,

mã trăn

            print["Hello Toronto!"]
        
0

tính 3*5 trước rồi cộng 2. Bạn nên sử dụng dấu ngoặc đơn để làm cho mọi thứ rõ ràng hơn, như các ví dụ sau đây cho thấy

mã trăn

            print["Hello Toronto!"]
        
1

Nếu nó hữu ích cho bạn [hoặc bất kỳ ai đang đọc mã của bạn], hãy thêm dấu ngoặc đơn để mã của bạn rõ ràng. Ngay cả khi bạn chắc chắn rằng mã hoạt động như dự định mà không có chúng

Một số như 2. 5 với số thập phân được gọi là số dấu phẩy động hoặc số float và một số như 2 không có số thập phân là số nguyên. Trong Python 3, toán tử

            In [2]: print["Hello Toronto!]
        
8 thực hiện phép chia dấu phẩy động và toán tử
            In [2]: print["Hello Toronto!]
        
9 thực hiện phép chia số nguyên [tìm trực tuyến để thảo luận thêm về điều này]. Ngoài ra còn có toán tử modulo
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
30

Dưới đây là các ví dụ khác nhau về các toán tử này đang hoạt động

mã trăn

            print["Hello Toronto!"]
        
2

Hoạt động 4. Để kiểm tra hành vi này làm như sau

  • Dự đoán kết quả của câu lệnh in sau bằng cách sử dụng câu lệnh thương và modulo

mã trăn

            print["Hello Toronto!"]
        
3

và kiểm tra dự đoán của bạn bằng cách gõ lệnh

  • Lưu ý những điều sau đây
    • Thương số thông thường luôn dẫn đến một số float và thương số nguyên dẫn đến một số nguyên, trừ khi một hoặc cả hai tử số hoặc mẫu số đều là số float
    • Có thể bỏ qua số 0 ở sau dấu thập phân, do đó
                  print["Hello World!"]
      a = 2
      b = 3
      print["a times b is", a * b]
              
      31 tương đương với
                  print["Hello World!"]
      a = 2
      b = 3
      print["a times b is", a * b]
              
      32

Hoạt động 5. Đây là một bài tập khác

  • Dự đoán kết quả phép tính sau

mã trăn

            print["Hello Toronto!"]
        
4

và kiểm tra dự đoán của bạn bằng cách gõ lệnh

Bây giờ, hãy viết một đoạn mã nhỏ để tính toán một công thức trong vật lý. Từ năm nhất cơ học, chúng ta biết rằng một vật được chiếu lên với tốc độ v sẽ đạt đến độ cao

$$h = \frac{v^2}{2g}$$

khi không có sức cản của không khí. Giả sử bạn ném một quả bóng có vận tốc thành phần thẳng đứng là 12. 5 mét/giây. Sau đây tính chiều cao đạt được

mã trăn

            print["Hello Toronto!"]
        
5

Vì vậy, quả bóng tăng khoảng 8 mét

Giới thiệu các biến và câu lệnh gán

Một người khác nhìn vào câu lệnh

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
33 trong ví dụ trước sẽ không biết phép tính có nghĩa là gì. Để tạo ra công việc rõ ràng mà bất kỳ ai cũng có thể hiểu được, chúng ta cần sử dụng các biến

Hoạt động 6. Hãy làm lại ví dụ trước bằng cách sử dụng các biến

  • Nhập lần lượt các lệnh sau, nhấn quay lại sau mỗi lệnh. Để đơn giản, chúng tôi sẽ loại bỏ các lời nhắc
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    34,
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    35, v.v.

mã trăn

            print["Hello Toronto!"]
        
6

Trong các biểu thức này, trình thông dịch gán giá trị cho

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 và
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
37, đồng thời gán giá trị cho
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 dựa trên giá trị của
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 và
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
37. Công thức cho
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 và sự phụ thuộc vào các biến giờ đã rõ ràng hơn. Dòng cuối cùng in giá trị của
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38

mã trăn

            print["Hello Toronto!"]
        
7

Biến

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 trong ví dụ này đề cập đến một số cụ thể và không phải là một công thức tượng trưng. Do đó, nếu bạn thay đổi
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 hoặc
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
37, giá trị của
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 sẽ không thay đổi, ngay cả khi ban đầu chúng ta đặt
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 theo công thức liên quan đến
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 và
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
37. Để xem những gì chúng tôi muốn nói, hãy thử gõ như sau

mã trăn

            print["Hello Toronto!"]
        
8

Vấn đề ở đây là

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 vẫn giữ nguyên, mặc dù
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 đã được thay đổi. Để cập nhật
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 để phản ánh
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
36 mới, chúng ta cần lặp lại công thức

mã trăn

            print["Hello Toronto!"]
        
9

Vì vậy, với vận tốc ban đầu là 15 m/s, quả bóng bay lên khoảng 11. 5 mét

Câu lệnh

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
64 là một câu lệnh gán, và chúng ta sẽ dừng lại một chút và suy nghĩ về ý nghĩa của nó. Trong câu lệnh này, dấu bằng
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
65 đang yêu cầu trình thông dịch Python lấy giá trị số của phép tính
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
66 và gán nó cho biến
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38. Cho đến khi chúng tôi viết một câu lệnh gán khác với
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 ở phía bên trái, giá trị của
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
38 không thay đổi

Các câu lệnh gán có thể được xâu chuỗi lại với nhau để cập nhật một biến mà không cần tạo một biến mới. Ví dụ, vào ngày sinh nhật của tôi, tuổi của tôi tăng thêm một tuổi. Các lệnh sau sẽ tốt cho việc đánh dấu ngày sinh nhật của tôi

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
0

Một hình thức ngắn cho việc xây dựng

            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
80 là
            print["Hello World!"]
a = 2
b = 3
print["a times b is", a * b]
        
81. Tương tự,

  •             print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    82 tương đương với
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    83,
  •             print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    84 tương đương với
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    85
  •             print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    86 tương đương với
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    87

Hoạt động 7. Bây giờ hãy làm như sau

  • Hoạt động phân rã phóng xạ của một mẫu nhất định [Knight, Phiên bản thứ hai, Chương 43] được cho bởi
$$R[t] = R_0\left[\frac{1}{2}\right]^{[t/t_h]}$$

trong đó \[R_0\] là hoạt động tại \[t=t_0\] và \[t_h\] là thời gian bán hủy

  • Bạn có thể sử dụng công thức này để chỉ ra rằng
$$R[t+\Delta t] = R[t] \cdot \left[\frac{1}{2}\right]^{[\Delta t/t_h]}$$

[Đừng lo lắng nếu bạn không hiểu những cách diễn đạt này hoàn toàn. Chỉ cần lấy chúng như đã cho. ]

  • Chu kỳ bán rã của Cesium-137 là 30 năm [Knight, Second Edition, Ví dụ 43. 3]. Đưa ra một hoạt động ban đầu là 5. 0µCi [microcurie], hãy viết một số mã sẽ in hoạt động ở dạng microcurie cứ sau 10 năm trong bốn hoặc năm thập kỷ
  • Một cách để tiếp cận vấn đề này là trước tiên hãy xác định một biến
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    88 đại diện cho hằng số \[\left[\frac{1}{2}\right]^{[\Delta t/t_h]}\] xuất hiện trong nửa . Lưu ý rằng hằng số này không phụ thuộc vào thời gian t nhưng phụ thuộc vào thời gian trôi qua ∆t. Sau đó xác định một biến
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    89 đại diện cho hoạt động ban đầu. Sau đó, câu lệnh gán
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    00 hoặc
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    01 cập nhật hoạt động về giá trị của nó sau thời gian ∆t. Việc lặp lại câu lệnh gán này sẽ mang lại cho bạn hoạt động mỗi ∆t

Một phiên mẫu mà chúng tôi giải quyết vấn đề này có thể được tìm thấy trong phần sau [bỏ qua lời nhắc]

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
1

4. Sử dụng tập lệnh Python

Chúng tôi đã sử dụng Python một cách tương tác cho các ví dụ và câu trả lời nhanh đầu tiên này. Các phiên trình bao tương tác rất phù hợp để thử một vài lệnh liên tiếp. Nhưng nếu bạn cần xâu chuỗi một chuỗi nhiều lệnh lại với nhau, như trong bài tập trước, sẽ hiệu quả hơn nhiều nếu bạn lưu chúng vào một tệp và sử dụng Spyder để chạy tệp đó. Một tập hợp các lệnh Python trong một tệp được gọi là tập lệnh. Giống như kịch bản phim dành cho diễn viên, kịch bản Python cho trình thông dịch Python biết phải làm gì và thực hiện theo trình tự nào

Đầu tiên, chúng tôi sẽ giới thiệu các nhận xét, là những dòng văn bản bị trình thông dịch Python bỏ qua nhưng được đưa vào để giúp giải thích mã của bạn cho người khác và để tự nhắc nhở bản thân mã của bạn dự định làm gì. Viết mã tốt yêu cầu bình luận tốt. Nhận xét trong Python bắt đầu bằng dấu #. Bất kỳ văn bản nào sau dấu # đều bị trình thông dịch bỏ qua. Ví dụ: nếu bạn cắt và dán lệnh sau vào trình bao Python, văn bản sau câu lệnh in này sẽ không được in

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
2

[Lưu ý rằng phần đánh dấu màu trong khối mã làm cho nhận xét có màu xám. Đây là quy ước loại được tuân theo bởi phần mềm wiki mà chúng tôi đang sử dụng; . ]

Hoạt động 8. Bây giờ chúng tôi sẽ lưu một số lệnh vào một tệp và chạy tệp dưới dạng tập lệnh Python

  • Đầu tiên, mở một tệp mới từ bên trong Spyder, bằng cách vào menu tệp và trỏ tới Tệp → Mới
  • Chúng tôi sẽ làm lại ví dụ đường đạn trước đây dưới dạng tập lệnh. Trong cửa sổ tập lệnh, nhập các lệnh sau bằng cách cắt và dán hoặc nhập

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
3
  • [Một lần nữa, phần tô màu trong hộp mã nhằm mục đích hướng dẫn bạn. Bạn có thể cắt và dán mã này vào tập lệnh mà không cần lo lắng về màu sắc. ]
  • Bây giờ, hãy lưu tập lệnh vào vị trí bạn chọn. Gọi nó là
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    02, hoặc một số tên khác mà bạn thích
  • [Chúng ta lặp lại. Điều quan trọng là bạn lưu mã của mình với tiện ích mở rộng. py. ]
  • Sau đó, chạy tập lệnh. Có hai cách để làm điều này.
    1. Bạn có thể vào menu Run và chọn Run → Run Module hoặc
    2. Bạn có thể gõ F5.
  • Điều này sẽ chạy mô-đun và sẽ tạo đầu ra sau trong trình thông dịch

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
4

Phiên của bạn có thể giống như thế này [hoặc gần đây hơn],

Trong khung soạn thảo văn bản, chúng tôi đã nhập các lệnh và bạn có thể thấy rằng Spyder đã tô màu văn bản bằng cách tô sáng cú pháp của nó. [Nó thực hiện điều này trong cả cửa sổ trình bao và tệp. ]

Tập lệnh bao gồm tập hợp các lệnh bạn đã chạy tương tác. Chúng tôi đã thêm các nhận xét bắt đầu bằng

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
03 để giúp ghi lại mã

Khi bạn chọn Run hoặc gõ F5, một số điều đã xảy ra. Run hoặc F5 là lệnh yêu cầu Spyder dịch [biên dịch] mã thành dạng mà máy tính có thể hiểu được, tải mã đã dịch vào bộ nhớ máy tính và chạy từng lệnh trong tập lệnh theo thứ tự chúng được viết. Bạn với tư cách là người dùng nên hiểu những điều sau về Run hoặc F5.
1. Spyder thường sẽ chạy từng dòng riêng biệt trong tập lệnh của bạn dưới dạng lệnh. Nghĩa là, tập lệnh thực thi tất cả các lệnh một cách tuần tự, theo thứ tự mà chúng được viết.
2. Nó bỏ qua mọi dòng bình luận trong kịch bản.
3. Sau khi hoàn thành, nó sẽ trả về dấu nhắc. Điều này có nghĩa là hiện đang chờ hướng dẫn thêm. Bây giờ bạn có thể tiếp tục và nhập các lệnh bổ sung một cách tương tác.

Hoạt động 9. Tạo và chạy một tập lệnh khác để thực hành

  • Làm lại Hoạt động 7, sử dụng tập lệnh thay vì lệnh tương tác. Tại mỗi lần tăng ∆t, in thời gian hiện tại cũng như hoạt động
  • Có thể tìm thấy tập lệnh mẫu tại đây - bạn có thể tải xuống và chạy tập lệnh này

Sai Lầm, Lỗi, Sai Lầm, Cảnh Báo. Thật đáng buồn nhưng đúng là phần lớn thời gian của bạn trong lập trình sẽ được dành cho việc gỡ lỗi --- tìm và sửa các lỗi viết mã. Các chiến lược gỡ lỗi được trình bày ở đây trong Tài liệu tham khảo Python, nhưng đây là một điểm tốt để nói điều gì đó về các gợi ý gỡ lỗi của Spyder. Bạn sẽ thấy rằng khi một đoạn mã chứa các lỗi rõ ràng, Spyder sẽ cố gắng thông báo cho bạn rằng nó đã phát hiện ra vấn đề và sẽ cố gắng xác định xem vấn đề có thể nằm ở đâu. Điều này sẽ trở nên rõ ràng hơn khi bạn bắt đầu làm việc với trình soạn thảo văn bản. Nếu để ý, bạn cũng sẽ thấy trình soạn thảo sẽ cung cấp gợi ý cho những nội dung tiếp theo mà bạn có thể nhập, v.v.

Hoạt động 10. Hãy xem xét bộ đầu vào sau

mã trăn

            In [1]: print["Hello Toronto!"]
Hello Toronto!
        
5
  • Bạn có thấy lỗi cú pháp ở đâu không?
  • Bây giờ hãy nhập từng dòng một vào trình bao Python. Bạn tìm thấy gì?
  • Bây giờ, hãy sao chép và dán các lệnh ở trên vào một tập lệnh và chú ý cách Spyder cung cấp cho bạn một số manh mối về các sự cố tiềm ẩn

5. Tóm tắt và Kết luận

phần này

  • Bắt đầu với một số nền tảng về thiết lập của chúng tôi và hướng dẫn này
  • Sau đó giới thiệu cách khởi động Anaconda Python bằng Spyder và chạy các chương trình từ nó
  • Chỉ cho bạn cách làm việc tương tác với Python và cách tạo và chạy tập lệnh. Hy vọng rằng bây giờ bạn đã cảm thấy thoải mái với Spyder và Bảng điều khiển [vỏ Python]. Vui lòng khám phá sâu hơn về Spyder IDE hoặc tìm kiếm các môi trường khác phù hợp hơn với bạn
  • Các toán tử được giới thiệu
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    04,
                In [1]: print["Hello Toronto!"]
    Hello Toronto!
            
    05,
                In [2]: print["Hello Toronto!]
            
    8,
                In [2]: print["Hello Toronto!]
            
    9,
                In [2]: print["Hello Toronto!]
            
    6, v.v. trong vỏ. Toán tử
                print["Hello World!"]
    a = 2
    b = 3
    print["a times b is", a * b]
            
    65 là một công cụ mạnh mẽ, nó có thể được sử dụng trong Python để gán và sửa đổi các biến, từ đó có thể được sử dụng để làm rõ các công thức
  • Nhận xét được giới thiệu, là một phần quan trọng của lập trình bằng bất kỳ ngôn ngữ nào. Nó được coi là hình thức thích hợp để đặt một bình luận bên cạnh bất kỳ đoạn mã khó hiểu nào bạn có thể viết. Điều này giúp cả bạn và bất kỳ ai khác đọc mã nếu một phần mã cần được sử dụng lại và mục đích của nó bị lãng quên
  • Phần cuối cùng của phần hướng dẫn này đề cập đến việc tạo và lưu. py bên ngoài trình bao và chạy chúng từ Spyder. Nếu bạn không thoải mái khi làm điều này, hãy quay lại và đọc lại phần đó của hướng dẫn. Làm và sử dụng. py sẽ cần thiết để hoàn thành 90% phần còn lại của hướng dẫn này

Dưới đây là một số câu hỏi về tất cả tài liệu có trong phần này [các liên kết hiện tại dành cho tài liệu Python 2].
Phần_1_Câu hỏi. pdf

Phần 1 Giải pháp. pdf

Điều này kết thúc Phần 1. Bây giờ hãy chuyển sang Hướng dẫn Phần 2, nơi bạn sẽ tìm hiểu thêm về các lệnh và gói [mô-đun] Python

Tôi có thể sử dụng Spyder để học Python không?

Spyder được viết bằng cùng ngôn ngữ Python mà bạn sử dụng để phát triển , vì vậy thật dễ dàng để bắt đầu đóng góp cho nó. Bạn có thể làm theo hướng dẫn đóng góp của chúng tôi để thiết lập môi trường phát triển và bạn có thể tham gia vào dự án thông qua kho lưu trữ Github của chúng tôi.

Spyder có phải là một IDE tốt cho người mới bắt đầu không?

Spyder được nhà khoa học dữ liệu coi là IDE thân thiện với người dùng nhất vì tất cả các lý do nêu trên. Nó cho phép người dùng cài đặt các gói và mô-đun khác nhau bằng mã dòng lệnh đơn giản. Dễ dàng truy cập trợ giúp và tài liệu cũng bổ sung nhiều giá trị cho giao diện người dùng của nó.

Cái nào tốt hơn cho Python PyCharm hoặc Spyder?

Spyder là một IDE khoa học. Nó có một thư viện phong phú hơn để tải xuống khi bạn cài đặt nó với Anaconda. PyCharm linh hoạt hơn . Nó có nhiều plug-in để lập trình Python, nhiều ngôn ngữ được hỗ trợ, phát triển web và khoa học dữ liệu.

Spyder có tốt hơn Jupyter không?

Jupyter đấu với Spyder . Xem xét Spyder để xây dựng các ứng dụng khoa học dữ liệu với nhiều tập lệnh tham chiếu lẫn nhau. Consider Jupyter if you work on data-driven projects where you need to easily present data to a non-technical audience. Consider Spyder for building data science applications with multiple scripts that reference each other.

Chủ Đề