Làm thế nào để bạn truy cập các chức năng trong python?
Nhiều ngôn ngữ lập trình có chức năng đặc biệt được thực thi tự động khi hệ điều hành bắt đầu chạy chương trình. Hàm này thường được gọi là 6 và phải có kiểu trả về và đối số cụ thể theo tiêu chuẩn ngôn ngữ. Mặt khác, trình thông dịch Python thực thi các tập lệnh bắt đầu từ đầu tệp và không có chức năng cụ thể nào mà Python tự động thực thi Show
Tuy nhiên, có một điểm bắt đầu được xác định để thực hiện một chương trình rất hữu ích để hiểu chương trình hoạt động như thế nào. Các lập trình viên Python đã đưa ra một số quy ước để xác định điểm bắt đầu này Đến cuối bài viết này, bạn sẽ hiểu
Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn Một hàm chính Python cơ bản ()Trong một số tập lệnh Python, bạn có thể thấy định nghĩa hàm và câu lệnh điều kiện giống như ví dụ bên dưới
Trong mã này, có một hàm tên là 6 in ra cụm từ 2 khi trình thông dịch Python thực thi nó. Ngoài ra còn có một câu lệnh điều kiện (hoặc 3) để kiểm tra giá trị của 7 và so sánh nó với chuỗi 5. Khi câu lệnh 3 ước tính thành 7, trình thông dịch Python sẽ thực thi 6. Bạn có thể đọc thêm về các câu điều kiện trong Câu lệnh có điều kiện trong PythonMẫu mã này khá phổ biến trong các tệp Python mà bạn muốn được thực thi dưới dạng tập lệnh và được nhập vào mô-đun khác. Để giúp hiểu mã này sẽ thực thi như thế nào, trước tiên bạn nên hiểu cách trình thông dịch Python đặt 7 tùy thuộc vào cách mã được thực thiLoại bỏ các quảng cáoChế độ thực thi trong PythonCó hai cách chính mà bạn có thể hướng dẫn trình thông dịch Python thực thi hoặc sử dụng mã
Bạn có thể đọc nhiều hơn về các cách tiếp cận này trong Cách chạy tập lệnh Python của bạn. Bất kể bạn đang sử dụng cách chạy mã nào, Python xác định một biến đặc biệt có tên là 7 chứa một chuỗi có giá trị phụ thuộc vào cách mã đang được sử dụngChúng tôi sẽ sử dụng tệp ví dụ này, được lưu dưới dạng 61, để khám phá hành vi của mã thay đổi như thế nào tùy thuộc vào ngữ cảnh
Trong tệp này, có ba cuộc gọi đến 62 được xác định. Hai cái đầu tiên in một số cụm từ giới thiệu. 62 thứ ba trước tiên sẽ in cụm từ 64, sau đó nó sẽ in biểu diễn của biến 7 bằng cách sử dụng 66 tích hợp sẵn của PythonTrong Python, 66 hiển thị biểu diễn có thể in được của một đối tượng. Ví dụ này sử dụng 66 để nhấn mạnh rằng giá trị của 7 là một chuỗi. Bạn có thể đọc thêm về 66 trong tài liệu PythonBạn sẽ thấy tệp từ, mô-đun và tập lệnh được sử dụng trong suốt bài viết này. Thực tế, không có nhiều khác biệt giữa chúng. Tuy nhiên, có những khác biệt nhỏ về ý nghĩa nhấn mạnh mục đích của một đoạn mã
Sự khác biệt này cũng được thảo luận trong Cách chạy tập lệnh Python của bạn Thực thi từ dòng lệnhTheo cách tiếp cận này, bạn muốn thực thi tập lệnh Python của mình từ dòng lệnh Khi bạn thực thi một tập lệnh, bạn sẽ không thể xác định tương tác mã mà trình thông dịch Python đang thực thi. Chi tiết về cách bạn có thể thực thi Python từ dòng lệnh của mình không quá quan trọng đối với mục đích của bài viết này, nhưng bạn có thể mở rộng hộp bên dưới để đọc thêm về sự khác biệt giữa dòng lệnh trên Windows, Linux và macOS Môi trường dòng lệnhHiển thị/Ẩn Cách bạn yêu cầu máy tính thực thi mã từ dòng lệnh hơi khác một chút tùy thuộc vào hệ điều hành của bạn Trên Linux và macOS, dòng lệnh thường giống như ví dụ bên dưới
Phần trước ký hiệu đô la ( 72) có thể trông khác, tùy thuộc vào tên người dùng và tên máy tính của bạn. Các lệnh mà bạn gõ sẽ đi sau 72. Trên Linux hoặc macOS, tên của tệp thực thi Python 3 là 74, vì vậy bạn nên chạy các tập lệnh Python bằng cách nhập 75 sau 72Trên Windows, dấu nhắc lệnh thường giống như ví dụ bên dưới 6Phần trước 77 có thể trông khác, tùy thuộc vào tên người dùng của bạn. Các lệnh mà bạn gõ sẽ đi sau 77. Trên Windows, tên của tệp thực thi Python 3 thường là 79, vì vậy bạn nên chạy các tập lệnh Python bằng cách nhập 80 sau 77Bất kể hệ điều hành của bạn là gì, kết quả đầu ra từ tập lệnh Python mà bạn sử dụng trong bài viết này sẽ giống nhau, do đó, chỉ có kiểu đầu vào Linux và macOS được hiển thị trong bài viết này và dòng đầu vào sẽ bắt đầu tại 72Bây giờ bạn nên thực thi tập lệnh 61 từ dòng lệnh, như hình bên dưới 7Trong ví dụ này, bạn có thể thấy rằng 7 có giá trị 85, trong đó các ký hiệu trích dẫn ( 86) cho bạn biết rằng giá trị đó có kiểu chuỗiHãy nhớ rằng, trong Python, không có sự khác biệt giữa các chuỗi được xác định bằng dấu ngoặc đơn ( 86) và dấu ngoặc kép ( 88). Bạn có thể đọc thêm về cách xác định chuỗi trong Các kiểu dữ liệu cơ bản trong PythonBạn sẽ tìm thấy đầu ra giống hệt nhau nếu bạn bao gồm một dòng Shebang trong tập lệnh của mình và thực thi nó trực tiếp ( 89) hoặc sử dụng phép thuật 90 trong IPython hoặc Jupyter NotebooksBạn cũng có thể thấy các tập lệnh Python được thực thi từ bên trong các gói bằng cách thêm đối số 91 vào lệnh. Thông thường, bạn sẽ thấy điều này được đề xuất khi bạn đang sử dụng 92. 93Việc thêm đối số 91 sẽ chạy mã trong mô-đun 95 của gói. Bạn có thể tìm thêm thông tin về tệp 95 trong Cách xuất bản Gói Python nguồn mở lên PyPITrong cả ba trường hợp này, 7 có cùng giá trị. chuỗi 85Chi tiết kỹ thuật. Tài liệu Python xác định cụ thể khi nào thì 7 sẽ có giá trị 857 của mô-đun được đặt bằng 7 được lưu trữ trong không gian tên chung của mô-đun cùng với các thuộc tính 34, 35 và các thuộc tính khác. Bạn có thể đọc thêm về các thuộc tính này trong tài liệu Mô hình dữ liệu Python và, cụ thể cho các mô-đun và gói, trong tài liệu Nhập PythonLoại bỏ các quảng cáoNhập vào một mô-đun hoặc Trình thông dịch tương tácBây giờ, hãy xem cách thứ hai mà trình thông dịch Python sẽ thực thi mã của bạn. nhập khẩu. Khi bạn đang phát triển một mô-đun hoặc tập lệnh, rất có thể bạn sẽ muốn tận dụng các mô-đun mà người khác đã xây dựng, bạn có thể làm điều này với từ khóa 36Trong quá trình nhập, Python thực thi các câu lệnh được xác định trong mô-đun đã chỉ định (nhưng chỉ trong lần đầu tiên bạn nhập mô-đun). Để minh họa kết quả nhập tệp 61 của bạn, hãy khởi động trình thông dịch Python tương tác rồi nhập tệp 61 của bạn>>> 8Trong đầu ra mã này, bạn có thể thấy rằng trình thông dịch Python thực hiện ba lệnh gọi tới 62. Hai dòng đầu tiên hoàn toàn giống như khi bạn thực thi tệp dưới dạng tập lệnh trên dòng lệnh vì không có biến nào ở một trong hai dòng đầu tiên. Tuy nhiên, có một sự khác biệt trong đầu ra từ 62 thứ baKhi trình thông dịch Python nhập mã, giá trị của 7 được đặt giống với tên của mô-đun đang được nhập. Bạn có thể thấy điều này trong dòng đầu ra thứ ba ở trên. 7 có giá trị 33, là tên của tệp 71 mà Python đang nhập từ đóLưu ý rằng nếu bạn 36 lại mô-đun mà không thoát khỏi Python, sẽ không có đầu raGhi chú. Để biết thêm thông tin về cách nhập hoạt động trong Python, hãy xem nhập Python. Các kỹ thuật và mẹo nâng cao cũng như nhập tuyệt đối và tương đối trong Python Các phương pháp hay nhất cho các hàm chính của PythonBây giờ bạn có thể thấy sự khác biệt trong cách Python xử lý các chế độ thực thi khác nhau của nó, sẽ rất hữu ích nếu bạn biết một số phương pháp hay nhất để sử dụng. Những điều này sẽ áp dụng bất cứ khi nào bạn muốn viết mã mà bạn có thể chạy dưới dạng tập lệnh và nhập vào mô-đun khác hoặc phiên tương tác Bạn sẽ tìm hiểu về bốn phương pháp hay nhất để đảm bảo rằng mã của bạn có thể phục vụ mục đích kép
Đặt hầu hết mã vào một chức năng hoặc lớpHãy nhớ rằng trình thông dịch Python thực thi tất cả mã trong mô-đun khi nó nhập mô-đun. Đôi khi mã bạn viết sẽ có các tác dụng phụ mà bạn muốn người dùng kiểm soát, chẳng hạn như
Trong những trường hợp này, bạn muốn người dùng kiểm soát việc kích hoạt việc thực thi mã này, thay vì để trình thông dịch Python thực thi mã khi nó nhập mô-đun của bạn Do đó, cách tốt nhất là bao gồm hầu hết mã bên trong một hàm hoặc một lớp. Điều này là do khi trình thông dịch Python gặp các từ khóa 39 hoặc 00, nó chỉ lưu các định nghĩa đó để sử dụng sau này và không thực sự thực thi chúng cho đến khi bạn ra lệnh cho nó.Lưu mã bên dưới vào tệp có tên 01 để minh họa ý tưởng này 9Trong mã này, trước tiên bạn nhập 02 từ mô-đun 03 02 tạm dừng trình thông dịch trong bao nhiêu giây mà bạn đưa ra làm đối số và sẽ tạo ra một hàm mất nhiều thời gian để chạy cho ví dụ này. Tiếp theo, bạn sử dụng 62 để in một câu mô tả mục đích của mã nàySau đó, bạn định nghĩa một hàm tên là 06 thực hiện năm việc
Thực thi tệp thực hành tốt nhất trên dòng lệnh Bây giờ, điều gì sẽ xảy ra khi bạn thực thi tệp này dưới dạng tập lệnh trên dòng lệnh? Trình thông dịch Python sẽ thực thi các dòng 08 và 62 nằm ngoài định nghĩa hàm, sau đó nó sẽ tạo ra định nghĩa của hàm có tên là 06. Sau đó, tập lệnh sẽ thoát mà không cần làm gì thêm, vì tập lệnh không có bất kỳ mã nào thực thi 06Khối mã bên dưới hiển thị kết quả của việc chạy tệp này dưới dạng tập lệnh 3Đầu ra mà chúng ta có thể thấy ở đây là kết quả của 62 đầu tiên. Lưu ý rằng việc nhập từ 03 và xác định 06 không tạo ra kết quả nào. Cụ thể, đầu ra của các lệnh gọi tới 62 nằm trong định nghĩa của 06 không được inNhập tệp các phương pháp hay nhất vào Mô-đun khác hoặc Trình thông dịch tương tác Khi bạn nhập tệp này vào một phiên tương tác (hoặc một mô-đun khác), trình thông dịch Python sẽ thực hiện chính xác các bước giống như khi nó thực thi tệp dưới dạng tập lệnh Sau khi trình thông dịch Python nhập tệp, bạn có thể sử dụng bất kỳ biến, lớp hoặc hàm nào được xác định trong mô-đun mà bạn đã nhập. Để chứng minh điều này, chúng tôi sẽ sử dụng trình thông dịch Python tương tác. Bắt đầu trình thông dịch tương tác và sau đó gõ 07>>> 3Đầu ra duy nhất từ việc nhập tệp 01 là từ lệnh gọi 62 đầu tiên được xác định bên ngoài 06. Nhập từ 03 và xác định 06 không tạo ra kết quả nào, giống như khi bạn thực thi mã từ dòng lệnhLoại bỏ các quảng cáoSử dụng print("This is my file to test Python's execution methods.") print("The variable __name__ tells me which context this file is running in.") print("The value of __name__ is:", repr(__name__)) 13 để kiểm soát việc thực thi mã của bạnNếu bạn muốn 06 thực thi khi bạn chạy tập lệnh từ dòng lệnh chứ không phải khi trình thông dịch Python nhập tệp thì sao?Bạn có thể sử dụng thành ngữ 13 để xác định ngữ cảnh thực thi và chỉ chạy có điều kiện 06 khi 7 bằng với 5. Thêm mã bên dưới vào cuối tệp 01 của bạn 0Trong mã này, bạn đã thêm một câu lệnh điều kiện để kiểm tra giá trị của 7. Điều kiện này sẽ đánh giá thành 7 khi 7 bằng chuỗi 5. Hãy nhớ rằng giá trị đặc biệt của 5 cho biến 7 có nghĩa là trình thông dịch Python đang thực thi tập lệnh của bạn và không nhập tập lệnh đóBên trong khối điều kiện, bạn đã thêm bốn dòng mã (dòng 12, 13, 14 và 15)
Bây giờ, hãy chạy tập lệnh 01 của bạn từ dòng lệnh để xem đầu ra sẽ thay đổi như thế nào 0Đầu tiên, đầu ra hiển thị kết quả của cuộc gọi 62 bên ngoài 06Sau đó, giá trị của 26 được in ra. Điều này xảy ra vì biến 7 có giá trị 5 khi trình thông dịch Python thực thi tệp dưới dạng tập lệnh, vì vậy câu lệnh điều kiện được đánh giá là 7Tiếp theo, tập lệnh của bạn có tên là 06 và đã chuyển 26 để sửa đổi. Khi 06 thực thi, nó sẽ in một số thông báo trạng thái ra đầu ra. Cuối cùng, giá trị của 37 được in raBây giờ bạn nên kiểm tra điều gì sẽ xảy ra khi bạn nhập tệp 01 từ trình thông dịch tương tác (hoặc mô-đun khác). Ví dụ dưới đây minh họa tình huống này>>> 3Lưu ý rằng bạn có hành vi tương tự như trước khi bạn thêm câu lệnh điều kiện vào cuối tệp. Điều này là do biến 7 có giá trị 40, vì vậy Python không thực thi mã bên trong khối, bao gồm cả 06, vì câu lệnh điều kiện được đánh giá là 42Tạo một hàm được gọi là main() để chứa mã bạn muốn chạyBây giờ bạn có thể viết mã Python có thể chạy từ dòng lệnh dưới dạng tập lệnh và được nhập mà không có tác dụng phụ không mong muốn. Tiếp theo, bạn sẽ tìm hiểu về cách viết mã của mình để giúp các lập trình viên Python khác dễ dàng làm theo ý của bạn Nhiều ngôn ngữ, chẳng hạn như C, C++, Java và một số ngôn ngữ khác, định nghĩa một chức năng đặc biệt phải được gọi là 6 mà hệ điều hành tự động gọi khi thực thi chương trình đã biên dịch. Chức năng này thường được gọi là điểm vào vì nó là nơi thực thi vào chương trìnhNgược lại, Python không có chức năng đặc biệt đóng vai trò là điểm vào của tập lệnh. Bạn thực sự có thể đặt cho hàm điểm vào trong tập lệnh Python bất kỳ tên nào bạn muốn Mặc dù Python không gán bất kỳ ý nghĩa nào cho một hàm có tên là 6, nhưng cách tốt nhất là đặt tên cho hàm điểm đầu vào là 6. Bằng cách đó, bất kỳ lập trình viên nào khác đọc tập lệnh của bạn đều biết ngay rằng chức năng này là điểm bắt đầu của mã hoàn thành nhiệm vụ chính của tập lệnhNgoài ra, 6 phải chứa bất kỳ mã nào mà bạn muốn chạy khi trình thông dịch Python thực thi tệp. Điều này tốt hơn là đặt mã trực tiếp vào khối điều kiện vì người dùng có thể sử dụng lại 6 nếu họ nhập mô-đun của bạnThay đổi tệp 01 để nó trông giống như mã bên dưới 2Trong ví dụ này, bạn đã thêm định nghĩa của 6 bao gồm mã trước đây nằm trong khối điều kiện. Sau đó, bạn đã thay đổi khối điều kiện để nó thực thi 6. Nếu bạn chạy mã này dưới dạng tập lệnh hoặc nhập mã, bạn sẽ nhận được kết quả giống như trong phần trướcLoại bỏ các quảng cáoGọi các hàm khác từ hàm main()Một thực tế phổ biến khác trong Python là để 6 thực thi các chức năng khác, thay vì bao gồm mã hoàn thành tác vụ trong 6. Điều này đặc biệt hữu ích khi bạn có thể soạn tác vụ tổng thể của mình từ một số tác vụ phụ nhỏ hơn có thể thực thi độc lậpVí dụ: bạn có thể có một tập lệnh thực hiện như sau
Nếu bạn triển khai từng nhiệm vụ phụ này trong các chức năng riêng biệt thì bạn (hoặc người dùng khác) sẽ dễ dàng sử dụng lại một số bước và bỏ qua những bước bạn không muốn. Sau đó, bạn có thể tạo quy trình làm việc mặc định trong 6 và bạn có thể tận hưởng cả hai thế giới tốt nhấtViệc có nên áp dụng phương pháp này vào mã của bạn hay không là quyết định từ phía bạn. Việc chia nhỏ công việc thành nhiều chức năng giúp việc sử dụng lại dễ dàng hơn nhưng lại làm tăng khó khăn cho người khác đang cố diễn giải mã của bạn vì họ phải thực hiện theo một số bước nhảy trong luồng chương trình Sửa đổi tệp 01 của bạn để nó trông giống như mã bên dưới 3Trong mã ví dụ này, 10 dòng đầu tiên của tệp có cùng nội dung mà chúng có trước đó. Định nghĩa hàm thứ hai trên dòng 12 tạo và trả về một số dữ liệu mẫu và định nghĩa hàm thứ ba trên dòng 17 mô phỏng việc ghi dữ liệu đã sửa đổi vào cơ sở dữ liệu Trên dòng 21, 6 được định nghĩa. Trong ví dụ này, bạn đã sửa đổi 6 để nó lần lượt gọi các hàm đọc dữ liệu, xử lý dữ liệu và ghi dữ liệuĐầu tiên, 26 được tạo từ 58. 26 này được chuyển đến 06, trả về 37. Cuối cùng, 37 được chuyển vào 63Hai dòng cuối cùng của tập lệnh là khối điều kiện kiểm tra 7 và chạy 6 nếu câu lệnh 3 là 7Bây giờ, bạn có thể chạy toàn bộ quy trình xử lý từ dòng lệnh, như hình bên dưới 4Trong kết quả của lần thực thi này, bạn có thể thấy rằng trình thông dịch Python đã thực thi 6, đã thực thi 58, 06 và 63. Tuy nhiên, bạn cũng có thể nhập tệp 01 và sử dụng lại 06 cho nguồn dữ liệu đầu vào khác, như minh họa bên dưới>>> 5Trong ví dụ này, bạn đã nhập 74 và rút ngắn tên thành 75 cho mã nàyQuá trình nhập khiến trình thông dịch Python thực thi tất cả các dòng mã trong tệp 01, vì vậy đầu ra hiển thị dòng giải thích mục đích của tệpSau đó, bạn đã lưu trữ dữ liệu từ một tệp trong 26 thay vì đọc dữ liệu từ Web. Sau đó, bạn đã sử dụng lại 06 và 63 từ tệp 01. Trong trường hợp này, bạn đã tận dụng lợi thế của việc sử dụng lại mã của mình thay vì xác định tất cả logic trong 6Tóm tắt các phương pháp hay nhất về chức năng chính của PythonDưới đây là bốn phương pháp hay nhất chính về 6 trong Python mà bạn vừa xem
Phần kết luậnXin chúc mừng. Bây giờ bạn đã biết cách tạo các hàm 6 trong PythonBạn đã học được những điều sau đây
Bây giờ bạn đã sẵn sàng để viết một số mã hàm Python 6 tuyệt vờiĐánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Định nghĩa hàm chính trong Python 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Bryan Weber Bryan là nhà phát triển cốt lõi của Cantera, nền tảng mã nguồn mở cho nhiệt động lực học, động học hóa học và vận chuyển. Là một nhà phát triển nói chung, Bryan thực hiện Python từ web đến khoa học dữ liệu và mọi nơi ở giữa » Thông tin thêm về BryanMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Brad Joanna Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bậc thầy Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Làm cách nào để sử dụng một hàm trong Python?Cú pháp cơ bản để xác định hàm trong Python
. Điều tiếp theo bạn phải làm là đảm bảo rằng bạn thụt lề bằng một tab hoặc 4 dấu cách, sau đó chỉ định những gì bạn muốn chức năng thực hiện cho mình. define a function with the def keyword, then write the function identifier (name) followed by parentheses and a colon. The next thing you have to do is make sure you indent with a tab or 4 spaces, and then specify what you want the function to do for you.
Làm cách nào để gọi một hàm trong Python?Để gọi một hàm, bạn viết tên hàm theo sau là dấu hai chấm . N. B. Đảm bảo rằng bạn không chỉ định lệnh gọi hàm bên trong khối chức năng.
Lệnh chức năng trong Python là gì?Một hàm là một khối mã chỉ chạy khi nó được gọi . Bạn có thể truyền dữ liệu, được gọi là tham số, vào một hàm. |