Bạn có thể làm điều đó, thủ công, nhưng bạn không nên.shouldn't.
Tại sao bạn thực sự không muốn làm điều này:
Bạn sẽ kết thúc với một không gian tên nơi hiểu những gì và từ đâu đến từ đó sẽ cực kỳ khó khăn, với khó khăn tăng như quy mô của dự án tổng thể. Một cách hoàn toàn không phù hợp với Python, hãy nghĩ về bất kỳ ai khác có thể xem mã của bạn hoặc thậm chí tệ hơn, hãy nghĩ về việc bạn đọc lại nó sau 1 tháng và không nhớ những gì đang xảy ra. Bạn không cần điều đó trong cuộc sống của bạn.
Thêm vào đó, bất kỳ chức năng nào bạn tiếp xúc với nhà nhập khẩu có thể trùng lặp với các chức năng khác trong các mô -đun khác sẽ bị che khuất bởi một trong số gần đây nhất được nhập khẩu. Ví dụ, hãy nghĩ về hai tập lệnh chứa cùng một hàm
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
3 và xem những gì xảy ra.>>> from scrpt1 import *
>>> foo[]
Script 1
>>> from scrpt2 import *
>>> foo[]
Script 2
Không cần điều đó trong cuộc sống của bạn. Đặc biệt là khi nó rất dễ dàng để bỏ qua bằng cách rõ ràng. Especially when it is so easy to bypass by being explicit.
Dưới đây là một số dòng liên quan từ văn bản có trong
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
4:def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
4:Rõ ràng là tốt hơn tiềm ẩn.
Hãy rõ ràng về nơi xác định các chức năng của bạn. Đừng "spaghetti" mã của bạn. Bạn sẽ muốn đánh vào tương lai nếu bạn chọn tham gia vào một lưới tất cả các thứ ở một nơi.
Các trường hợp đặc biệt không đủ đặc biệt để phá vỡ các quy tắc.
Thực sự tự giải thích.
Không gian tên là một ý tưởng tuyệt vời tiếng nói - chúng ta hãy làm nhiều hơn trong số đó!
"Nhiều hơn trong số đó!", Không ít hơn; Đừng bỏ lỡ những không gian tên tuyệt vời như thế nào. Python dựa trên chúng; Việc phân tách mã của bạn trong các không gian tên khác nhau là nền tảng của việc tổ chức mã.
Trong Python, bạn có thể lưu các định nghĩa về các hàm trong một tệp được gọi là mô -đun. Có thể nhập các định nghĩa mô -đun vào tệp chương trình của bạn.
Chúng tôi có thể lưu các hàm Python của chúng tôi trong tệp riêng của chúng, đây là một mô -đun, sau đó mô -đun được nhập vào chương trình chính.
Để có sẵn mô -đun trong chương trình hiện tại, một câu lệnh nhập được sử dụng để chuyển nó sang chương trình đang chạy.
Khi các tệp riêng biệt được sử dụng để lưu trữ các chức năng, các chi tiết mã của chương trình được ẩn và mức logic cao hơn cho mã chương trình.
Lưu trữ các chức năng của bạn trong các tệp khác nhau có những lợi thế sau:
- Các chức năng có thể được sử dụng lại trong các chương trình khác nhau.
- Nó dễ dàng hơn để chia sẻ các tệp trong đó các chức năng được lưu trữ, mà không phải chia sẻ toàn bộ chương trình.
- Thông qua việc nhập các chức năng, người ta có thể sử dụng các thư viện chức năng mà các lập trình viên khác đã viết.
Chúng ta có thể nhập các mô -đun này theo những cách khác nhau, chẳng hạn như:
- Nhập toàn bộ một mô -đun.
- Nhập các chức năng cụ thể.
- Sử dụng
5 để cung cấp cho một hàm một bí danh.def make_bread[height, *garnish]; """ summarrize the bread we are about to make""" print["\Making a "+ str[height] + "-inch bread with the following garnish :"] for garnish in garnishes; print["-" + garnish]
- Sử dụng
5 để cung cấp cho một mô -đun một bí danh.def make_bread[height, *garnish]; """ summarrize the bread we are about to make""" print["\Making a "+ str[height] + "-inch bread with the following garnish :"] for garnish in garnishes; print["-" + garnish]
- Nhập tất cả các chức năng trong một mô -đun.
Điều kiện tiên quyết
Để làm theo thông qua bài viết này, cần có sự hiểu biết rõ ràng về các mô -đun Python.
Nhập toàn bộ mô -đun
Bước đầu tiên là tạo một mô -đun, đây là một tệp có kết thúc
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
7 và chứa chương trình bạn muốn nhập vào chương trình chính của mình.Dưới đây là một mô -đun với hàm
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
8. Đây là tệp def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
9:def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
Chúng ta có thể có một tệp riêng biệt
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
0 có thư mục lưu trữ tương tự như def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
9. Tệp import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
2 nhập mô -đun và gọi tệp import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3 hai lần.Đây là tệp,
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
0:import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
Một lệnh từ dòng
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
5 mở ra và copys tất cả các chức năng từ chương trình trong tệp def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
9.Sự trừu tượng hóa dữ liệu từ người dùng diễn ra sao cho người ta không hiểu điều gì xảy ra trong nền.
Tất cả những gì cần biết là bất kỳ chức năng nào được xác định trong
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
9 sẽ được cung cấp trong tệp import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
2.Chúng tôi gọi một hàm từ một mô -đun đã nhập bằng cách nhập tên mô -đun được nhập và tên hàm được phân tách bằng dấu chấm.
Kết quả của chương trình sẽ tương tự cho dù một mô -đun có được nhập hay không.
Đầu ra phải như sau:
Làm bánh mì 11 inch với đồ trang trí sau: -basil
Làm bánh mì 14 inch với các mảnh yến mạch được trang trí sau đây
Cú pháp nhập toàn bộ mô -đun:
import module_name
module_name.name_of_function[]
Tất cả các chức năng trong tên mô -đun được nhập mà không có ngoại lệ.
Nhập chức năng cụ thể
Bạn cũng có thể nhập chỉ một chức năng cụ thể từ một mô -đun.
Cú pháp khi nhập một chức năng cụ thể:
from module_name import name_of_function
Nhập các chức năng cụ thể khác nhau từ một mô -đun được thực hiện bằng cách phân tách tên chức năng bằng dấu phẩy:
from module_name import first-function, second_function, third_function
Từ tệp
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
9, chúng tôi nhập các chức năng cụ thể mà chúng tôi đang sử dụng là:from bread import make_bread
make_bread[11,'basil']
make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
Lưu ý: Bất cứ khi nào chúng tôi gọi chức năng bằng cú pháp này, chúng tôi không sử dụng ký hiệu dấu chấm vì hàm được nhập rõ ràng trong khai báo nhập. Chúng tôi chỉ gọi nó theo tên bất cứ khi nào chúng tôi cần sử dụng chức năng.
Đây là một lựa chọn tốt hơn khi bạn không bắt buộc phải nhập toàn bộ mô -đun và tất cả các chức năng giành được được sử dụng.
Đưa ra một chức năng một bí danh bằng cách sử dụng ‘như
Một bí danh được sử dụng chủ yếu khi tên hàm quá dài hoặc khi tên hàm tương tự như tên khác trong chương trình.
Nếu trong bất kỳ trường hợp nào xảy ra, chúng tôi sử dụng một bí danh là một tên thay thế tương tự như của hàm.
Cú pháp chung của việc sử dụng bí danh như được hiển thị bên dưới:
from module_name import function_name as fn
Từ hàm
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3, chúng tôi đưa ra bí danh import module_name
module_name.name_of_function[]
1. Chúng tôi sử dụng import module_name
module_name.name_of_function[]
2 làm tên hàm vì từ khóa đổi tên hàm thành bí danh.from bread import make_bread as mb
mb[11,'basil']
mb[14,'garlic flakes', 'oregano', 'rolled oat flakes']
Câu lệnh nhập đổi tên tên hàm thành bí danh. Trong trường hợp này, hàm
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3 được đổi tên thành import module_name
module_name.name_of_function[]
1.Bất cứ khi nào chúng ta cần gọi chức năng
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3, chúng ta có thể sử dụng bí danh import module_name
module_name.name_of_function[]
1 và chương trình vẫn sẽ chạy chức năng import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3.Bí danh tránh mọi sự nhầm lẫn với một chức năng khác có thể được viết trong chương trình là
import bread
bread.make_bread[11,'basil']
bread.make_bread[14,'garlic flakes', 'oregano', 'rolled oat flakes']
3.Cung cấp cho một mô -đun một bí danh bằng cách sử dụng ‘như
Một bí danh của một mô -đun có thể được đưa ra dựa trên tên mô -đun. Cung cấp bí danh cho một mô -đun giúp gọi chức năng mô -đun mô -đun dễ dàng hơn.
Cú pháp khi cho một mô -đun một bí danh:
import name_of_module as nm
Chúng ta có thể gọi
import module_name
module_name.name_of_function[]
9 chính xác hơn là from module_name import name_of_function
0 như trong ví dụ dưới đây:def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
0Đưa ra một bí danh cho một mô -đun không thay đổi tên hàm, thay vào đó chúng giữ lại tên gốc của chúng.
Sử dụng tên bí danh cho mô -đun không chỉ ngắn gọn mà còn cho phép bạn tập trung vào tên thông tin của hàm, do đó, chuyển hướng sự chú ý của bạn từ tên của mô -đun.
Các tên chức năng này sẽ cho bạn biết chức năng làm gì, để cho phép khả năng đọc mã của bạn thay vì sử dụng tên đầy đủ của mô -đun.
Nhập tất cả các chức năng trong một mô -đun
Để nhập tất cả các chức năng trong một mô -đun, chúng tôi sử dụng Asterisk
from module_name import name_of_function
1 trong câu lệnh nhập. Asterisk đưa ra một lệnh rằng tất cả các chức năng nên được sao chép vào tệp chương trình.Cú pháp nhập tất cả các chức năng trong một mô -đun như sau:
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
1Các chức năng có thể được gọi mà không cần sử dụng ký hiệu dấu chấm.
Trong trường hợp chúng tôi đang làm việc với các mô -đun lớn mà bạn không viết, việc sử dụng phương pháp này là không phù hợp.
def make_bread[height, *garnish];
""" summarrize the bread we are about to make"""
print["\Making a "+ str[height] + "-inch bread with the following garnish :"]
for garnish in garnishes;
print["-" + garnish]
2Nếu một số chức năng được lưu dưới cùng tên, mã sẽ không nhập riêng các chức năng. Thay vào đó, nó sẽ ghi đè tất cả các chức năng.
Lỗi và đầu ra bất ngờ có thể dẫn đến việc khớp tên hàm và các tên hiện có khác trong hàm.
Sự kết luận
Trong hướng dẫn trên, chúng tôi đã có thể xem xét việc nhập các chức năng và mô -đun dễ dàng như thế nào và quan trọng như thế nào.
Chúng tôi đã xem xét:
- Nhập toàn bộ mô -đun là toàn bộ mô -đun và tất cả các thuộc tính của nó.
- Nhập một chức năng cụ thể, khi đó là chức năng duy nhất cần thiết.
- Sử dụng
5 để cung cấp cho một hàm một bí danh, đó là một tên ngắn hơn hoặc đơn giản hơn cho chức năng và sử dụng để thực hiện thay đổi đó.def make_bread[height, *garnish]; """ summarrize the bread we are about to make""" print["\Making a "+ str[height] + "-inch bread with the following garnish :"] for garnish in garnishes; print["-" + garnish]
- Sử dụng
5 để cung cấp cho một mô -đun một bí danh Chúng tôi đã sử dụng bí danh để đơn giản hóa tên mô -đun hoặc làm cho nó khác biệt.def make_bread[height, *garnish]; """ summarrize the bread we are about to make""" print["\Making a "+ str[height] + "-inch bread with the following garnish :"] for garnish in garnishes; print["-" + garnish]
- Nhập tất cả các chức năng trong một mô -đun, chúng tôi đã nhập tất cả các chức năng trong một mô -đun bất kể chúng có được sử dụng và chúng tôi sử dụng Asterik.
Tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích!
Mã hóa hạnh phúc!
Đóng góp đánh giá ngang hàng của: Monica Masae