Hướng dẫn where does python save functions? - python lưu các chức năng ở đâu?
Những gì bạn muốn làm là lấy tệp Python của bạn và sử dụng nó như một mô -đun hoặc thư viện.module or a library. Show
Không có cách nào để làm cho bốn chức năng đó tự động có sẵn, bất kể điều gì, 100% phần trăm thời gian, nhưng bạn có thể làm điều gì đó rất gần. Ví dụ: ở đầu tệp của bạn, bạn đã nhập add_things("love", "Gators")2. add_things("love", "Gators")2 là một mô -đun hoặc thư viện đã được thiết lập để có sẵn bất cứ khi nào bạn chạy Python, miễn là bạn nhập nó.import it. Bạn muốn làm điều tương tự - lưu 4 chức năng đó vào một tệp và nhập chúng bất cứ khi nào bạn muốn. Ví dụ: nếu bạn sao chép và dán bốn chức năng đó vào một tệp có tên add_things("love", "Gators")4, thì bạn chỉ cần thực hiện add_things("love", "Gators")5. Tuy nhiên, điều này sẽ chỉ hoạt động nếu bạn đang chạy Python trong cùng một thư mục mà bạn đã lưu mã của mình. Nếu bạn muốn làm cho mô-đun của bạn có sẵn toàn bộ hệ thống, bạn phải lưu nó ở đâu đó trên Pythonpath. Thông thường, lưu nó vào add_things("love", "Gators")6 sẽ hoạt động (giả sử bạn đang chạy Windows).PYTHONPATH. Usually, saving it to add_things("love", "Gators")6 will work (assuming you're running Windows). Phần này dựa trên Chương 3 trong Sweigart, tự động hóa những thứ nhàm chán với Python (phiên bản thứ hai). Kịch bản Python cho phần này
Viết và chạy một kịch bản PythonĐể viết các chức năng trong Python, bạn sẽ lưu các tệp với phần mở rộng .py. Bạn có thể viết và lưu các tệp Python trong nguyên tử hoặc trong MU. Để chạy một tập lệnh có tên foobar.py mà trong thư mục hiện tại, hãy nhập cái này tại dấu nhắc Bash ($) trong Mac hoặc dấu nhắc lệnh Windows: Trên Windows hoặc trong VirtualEnv trên Mac hoặc Windows, hãy thả add_things("love", "Gators")7 từ add_things("love", "Gators")8: Bạn không cần phải ở trong ảo của mình để làm điều này, nhưng nó không sao nếu bạn là. Đặt một cái gì đó vào, lấy một cái gì đó ra ngoàiSweigart lưu ý rằng nhiều chức năng hoạt động như các hộp đen của Hồi giáo: Điều này mô tả một hàm với các tham số (nó có đối số) và câu lệnh trả về. Một cái gì đó đi vào nó (lập luận) và một cái gì đó phát ra từ nó (bất cứ điều gì được trả lại). Bạn không cần phải biết nó hoạt động như thế nào; Bạn chỉ cần biết những gì nó làm. a_black_box.py def add_things(a, b): result = (a * 3) + (b * 3) return result Để chạy chức năng đó, hãy gọi nó, chuyển thành hai chuỗi làm đối số: add_things("love", "Gators") Chức năng sẽ trả về điều này: loveloveloveGatorsGatorsGators
Tuy nhiên, bạn sẽ không thấy giá trị trả về trừ khi bạn nắm bắt được nó, hoặc bắt bắt nó, với một biến, như thế này: output = add_things("love", "Gators") Sau đó, bạn có thể in đầu ra hoặc gửi nó vào cơ sở dữ liệu hoặc viết nó vào HTML của một trang web trực tiếp - hoặc bất cứ điều gì bạn cần. Điều này đúng với nhiều chức năng chúng tôi sử dụng từ các thư viện đã nhập. Chúng tôi biết cách gọi chức năng và chúng tôi biết những gì mong đợi là đầu ra, nhưng chúng tôi không cần phải biết nó hoạt động như thế nào. Ghi chú Chúng tôi không cần phải biết làm thế nào một máy nướng bánh mì nướng bánh mì để lấy nó ra khỏi nó. Chúng tôi đặt hai miếng bánh mì (các đối số chúng tôi chuyển vào một chức năng) và bánh mì nướng được trả lại sau khi chức năng chạy.
Sử dụng các tham số và trả về trong các chức năngHãy để xây dựng một chức năng từng bước để giúp bạn hiểu các tham số và trả về. Giả sử rằng bạn mua cùng một loại cà phê (hoặc đồ uống khác) hàng ngày và bạn muốn tính toán số tiền bạn chi tiêu mỗi tuần. # this function has no parameters and returns nothing def drink_expenses(): price = 3.99 count = 7 total = price * count # call the function drink_expenses() Nó không hữu ích lắm như vậy. Điều gì sẽ xảy ra nếu giá của đồ uống thay đổi? Điều gì sẽ xảy ra nếu bạn muốn tính một khoảng thời gian khác nhau? # this function has two parameters, but it returns nothing def drink_expenses(price, count): total = price * count # call the function with two arguments drink_expenses(3.99, 7) Bây giờ bạn có thể vượt qua bất kỳ giá nào và bất kỳ thời gian nào bạn muốn. Tuy nhiên, bạn có thể sử dụng giá trị cho tổng số nếu không có câu lệnh trả lại. Vì vậy - trả lại tổng số tiền chi cho cà phê. # this function has two parameters, and it returns a value def drink_expenses(price, count): total = price * count return total # call the function with two arguments drink_expenses(4.49, 5) Chức năng là tốt, nhưng cách bạn gọi nó cần thay đổi. Để gán giá trị trả về của hàm cho một biến mới, hãy làm theo mẫu này: # this function has two parameters, and it returns a value def drink_expenses(price, count): total = price * count return total # assign the returned value to a new variable, result result = drink_expenses(4.49, 5) print(result) Một hàm có thể có nhiều dòng hướng dẫn bên trong khối mã của nó (bao gồm các điều kiện, vòng lặp, v.v.). Mẹo Nó tốt nhất để viết các chức năng thực hiện một nhiệm vụ cụ thể, thay vì một số nhiệm vụ. Phạm vi¶Đây là một chút của một chủ đề khó khăn cho người mới bắt đầu, bởi vì bạn không có nhiều kinh nghiệm viết các kịch bản dài hơn hoặc phức tạp. Xem xét ví dụ sau: ../python_code_examples/funions/f_scope_global_vs_local.py¶¶ # example of badly using scope of variables def breakfast(): food = 'eggs' drink = 'coffee' print("Breakfast:") print(food, drink, "\n") def lunch(): food = 'salad' drink = 'iced tea' print("Lunch:") print(food, drink, "\n") # run the functions lunch() breakfast() # attempt to print local variables (will not work) print(food) print(drink) Mọi thứ sẽ hoạt động tốt ngoại trừ hai dòng cuối cùng. Nếu bạn chạy tập lệnh, bạn sẽ thấy hai chức năng in: Lunch: salad iced tea Breakfast: eggs coffee Nhưng sau đó, bạn sẽ thấy một lỗi: add_things("love", "Gators")0 Thông báo lỗi (dòng cuối cùng) nêu rõ vấn đề: Bạn đã cố gắng in giá trị của biến add_things("love", "Gators")9, nhưng không có biến nào như vậy bên ngoài các chức năng. Kịch bản dừng lại với loveloveloveGatorsGatorsGators
0, nhưng nếu bạn đã thử loveloveloveGatorsGatorsGators
1 thay thế, bạn sẽ nhận được lỗi tương tự.Lưu ý rằng nó rất tốt khi có add_things("love", "Gators")9 trong cả hai chức năng và loveloveloveGatorsGatorsGators
3 trong cả hai chức năng - không có xung đột hoặc nhầm lẫn vì phạm vi địa phương.
Điểm chính về phạm vi
cố gắng/ngoại trừKhi chương trình của bạn có lỗi, tập lệnh của bạn dừng lại. Trong hầu hết các trường hợp, bạn muốn được thông báo về lỗi nhưng không có tập lệnh bị đình trệ. Cách thông thường để thực hiện điều này trong Python là viết mã bạn muốn chạy trong khối loveloveloveGatorsGatorsGators
4 và ghi hướng dẫn xử lý lỗi bên trong khối loveloveloveGatorsGatorsGators
5...¶ add_things("love", "Gators")1 Mã trên yêu cầu người dùng nhập toàn bộ số. Một chuỗi hoặc một thập phân (float) sẽ kích hoạt ngoại lệ. Dấu Để tìm hiểu loại lỗi nào sẽ được ném, thử nghiệm tại dòng lệnh Python (các loại lỗi nhạy cảm với trường hợp). Ngoài ra, có một danh sách các trường hợp ngoại lệ tích hợp. loveloveloveGatorsGatorsGators
6 và loveloveloveGatorsGatorsGators
7 là phổ biến, nhưng có nhiều người khác!Đánh giá chương: Chương 3¶Đây là những điểm từ chương này. Slide bên dưới. Những điểm chính¶
Có một chức năng lưu trong Python?Nhấp chuột phải vào cửa sổ Python và chọn Lưu AS để lưu mã của bạn dưới dạng tệp Python (. PY) hoặc Tệp văn bản (. TXT). Nếu lưu vào tệp Python, chỉ có mã Python sẽ được lưu. to save your code either as a Python file (. py) or Text file (. txt). If saving to a Python file, only the Python code will be saved.
Làm thế nào để bạn lấy một chức năng trong Python?Chúng tôi sử dụng phương thức GetSource () của mô -đun kiểm tra để lấy mã nguồn của hàm.Trả về văn bản của mã nguồn cho một đối tượng.Đối số có thể là một mô -đun, lớp, phương thức, chức năng, tracback, khung hoặc đối tượng mã.use the getsource() method of inspect module to get the source code of the function. Returns the text of the source code for an object. The argument may be a module, class, method, function, traceback, frame, or code object.
Làm cách nào để lưu chức năng dữ liệu trong Python?Phương thức Save () trong Python Bất cứ khi nào chúng ta điều khiển hình ảnh và muốn lưu giữ hình ảnh để biết thêm hình ảnh, chúng ta sử dụng hàm Save ().Hàm lưu () lưu hình ảnh vào tệp hoặc tên tệp.Nó lưu hình ảnh được thao tác cuối cùng trong đĩa của bạn. in Python
Whenever we manipulate an image and want to preserve image for further image, we use save() function. save() function saves the image into the file or filename. It saves the final manipulated image in your disk.
Làm cách nào để lưu một hàm dưới dạng mô -đun?Để tạo một mô -đun, chỉ cần lưu mã bạn muốn trong một tệp với phần mở rộng tệp .Py:.. Lưu mã này trong một tệp có tên mymodule.py..... Nhập mô -đun có tên myModule và gọi hàm lời chào: .... Lưu mã này trong tệp mymodule.py..... Nhập mô -đun có tên MyModule và truy cập từ điển Person1:. |