Làm cách nào để bạn nhập một biến từ một hàm từ một tệp python khác?

Đầu tiên nhập tệp từ chương trình hiện tại, sau đó bạn có thể nhập biến hoặc truy cập biến trong Python. Có ba cách tiếp cận để nhập các biến từ một tệp khác

  • import and then use . to access variable
  • from import and use variables
  • from import * and then use variables directly.

Ví dụ nhập biến từ một tệp khác trong Python

Mã ví dụ đơn giản

tên_tệp . tên_biến để truy cập biến

Nhập và in giá trị của một biến đơn giản

chủ yếu. py

var = "Hello main file"

Bài kiểm tra. py

import main

print[main.var]

đầu ra. Xin chào tập tin chính

Từ biến nhập tệp và sử dụng biến

Truy cập các biến chỉ bằng tên của họ

chủ yếu. py

var = "Hello main file"

Bài kiểm tra. py

from main import var

print[var]

đầu ra

từ nhập * và sau đó sử dụng các biến trực tiếp

Sử dụng tiêu đề sau, Nó sẽ nhập tất cả các đối tượng và phương thức vào một tệp

chủ yếu. py

from main import *

print[var]
print[num]

Bài kiểm tra. py

var = "Hello main file"
num = 10

đầu ra

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về hướng dẫn biến Python này

Ghi chú. IDE. PyCharm 2021. 3. 3 [Phiên bản cộng đồng]

cửa sổ 10

Trăn 3. 10. 1

Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp

Rohit

Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật

Đôi khi, một dự án mới yêu cầu mã hiện có. Làm việc thông minh hơn [chứ không phải chăm chỉ hơn] có nghĩa là tận dụng công việc hiện có. Hiện tại, sao chép và dán từ tập lệnh này sang tập lệnh khác có vẻ là một giải pháp nhanh chóng và vô hại. Tuy nhiên, việc xác định hàm trong một tệp và nhập nó sẽ đơn giản hóa quy trình và loại bỏ các lỗi tiềm ẩn

Không phải tất cả các chức năng đều cần một tệp script riêng. Tuy nhiên, nếu bạn dự kiến ​​sử dụng lại chức năng này cho nhiều dự án, hãy lưu riêng chức năng này

Lợi ích của việc lưu trữ các chức năng trong các tập lệnh bên ngoài
  1. Tổ chức
    Việc lưu trữ các chức năng liên quan trong tập lệnh có tên mô tả sẽ dễ tìm hơn. Chẳng hạn, sẽ trực quan hơn khi tìm kiếm hàm chuyển đổi trong
    from script_in_cwd.py import specific_function
    1 thay vì tìm kiếm thông qua
    from script_in_cwd.py import specific_function
    2,
    from script_in_cwd.py import specific_function
    3, v.v.
  2. Kiểm soát phiên bản
    Việc tạo lại một chức năng ở nhiều nơi có nghĩa là các chỉnh sửa và cập nhật trong một tập lệnh sẽ không chuyển sang các tập lệnh khác. Xác định chức năng ở một nơi và nhập nó cho phép tất cả các tập lệnh gọi hàm có định nghĩa gần đây nhất.
  3. Khả năng đọc
    Việc lưu trữ các chức năng bên ngoài giúp dễ dàng xem mục tiêu tổng thể của tập lệnh hơn. Người đánh giá ngang hàng không cần xem định nghĩa cho mọi chức năng, đặc biệt là những chức năng đơn giản. Một tên chức năng mô tả thường sẽ đủ.
  4. Đơn giản
    So với phương thức sao chép và dán, phương thức nhập giúp sử dụng lại các chức năng dễ dàng hơn nhiều. Các dòng mã không vô tình bị bỏ. Tập lệnh bổ sung không cần phải mở. Quy trình hợp lý hóa giúp loại bỏ các lỗi có thể xảy ra.
Điều kiện

Để rõ ràng, đây là một số thuật ngữ được sử dụng thường xuyên khi mô tả các câu lệnh của

from script_in_cwd.py import specific_function
4

  • Thư viện. một tập hợp các mô-đun liên quan như NumPy, Pandas, v.v.
  • mô-đun. một tập tin với “. phần mở rộng py”;
  • Tên mô-đun. tên của tệp không có “. phần mở rộng py
  • mô hình con. một tập tin với “. phần mở rộng py” trong thư mục con
import main

print[main.var]
0Nhập chức năng cụ thể từ tập lệnh trong thư mục

Để nhập một chức năng từ tập lệnh trong thư mục làm việc hiện tại, hãy thêm phần sau

from script_in_cwd.py import specific_function

Để đặt tên khác cho

from script_in_cwd.py import specific_function
5, hãy thêm
from script_in_cwd.py import specific_function
6 vào câu lệnh
from script_in_cwd.py import specific_function
4

import main

print[main.var]
5

Một tập lệnh không thể xử lý hai chức năng có cùng tên. Sử dụng

from script_in_cwd.py import specific_function
6 để tránh lỗi nhập

Nhập tất cả các chức năng và mô-đun từ tập lệnh

Để nhập tất cả các chức năng trong tập lệnh, hãy sử dụng

from script_in_cwd.py import specific_function
9

import main

print[main.var]
8

Điều này nhập tất cả các chức năng được xác định trong

import main

print[main.var]
50. Nếu
import main

print[main.var]
50 có câu lệnh
from script_in_cwd.py import specific_function
4, thì
from script_in_cwd.py import specific_function
9 cũng sẽ nhập các thư viện, mô-đun và chức năng đó. Chẳng hạn, nếu
import main

print[main.var]
50 có
import main

print[main.var]
55, thì câu lệnh trên cũng sẽ nhập
import main

print[main.var]
56. Tên của các đối tượng đã nhập sẽ bị ràng buộc trong không gian tên cục bộ, có nghĩa là tập lệnh sẽ nhận ra các tên đó một cách độc lập. Nói cách khác, các đối tượng đã nhập có thể được gọi mà không cần tham chiếu đến tên của mô-đun gốc [
import main

print[main.var]
57]

Một cách khác để nhập tất cả các chức năng là

var = "Hello main file"
7

Giống như trước đây, phương thức này nhập tất cả các hàm đã xác định và bất kỳ thứ gì được gọi bằng câu lệnh

from script_in_cwd.py import specific_function
4. Tên mô-đun [
import main

print[main.var]
57] sẽ bị ràng buộc cục bộ, nhưng tên của các đối tượng được nhập khác sẽ không. Các đối tượng đó phải được gọi theo tên của mô-đun cha. Ví dụ

from main import var

print[var]
0

Nếu hai đối tượng được nhập sử dụng cùng tên, hãy sử dụng phương thức

import main

print[main.var]
80 thay vì
import main

print[main.var]
81 vì Python không thể nhập hai đối tượng có cùng tên. Tuy nhiên, với
import main

print[main.var]
80 , tên của các đối tượng đó được liên kết với tên của mô-đun cha duy nhất của chúng

Nhập từ Tập lệnh trong Thư mục con

Để nhập từ một thư mục con

from main import var

print[var]
4

Giống như trước đây, tên của các đối tượng đã nhập được liên kết với không gian tên cục bộ

một lựa chọn khác là

from main import var

print[var]
5

Một lần nữa, tên đối tượng đã nhập sẽ không bị ràng buộc cục bộ, nhưng

import main

print[main.var]
83 sẽ là. Để gọi các đối tượng đã nhập, trước tiên hãy tham khảo tên của mô-đun chính [
import main

print[main.var]
83]

Nhập từ Tập lệnh bên ngoài Thư mục

Nhập từ bên ngoài thư mục làm việc hiện tại yêu cầu

import main

print[main.var]
85, đây là danh sách tất cả các thư mục mà Python tìm kiếm thông qua. Để thêm một đường dẫn tìm kiếm mới

from main import var

print[var]
9

Điều này nối thêm đường dẫn mới vào cuối

import main

print[main.var]
85. Python tìm kiếm thông qua các đường dẫn này theo thứ tự. Sử dụng
import main

print[main.var]
87 để buộc Python tìm kiếm đường dẫn sớm hơn. Ví dụ

from main import *

print[var]
print[num]
2

Những bổ sung này không chỉ áp dụng cho tập lệnh hiện tại. Python cũng sẽ tìm kiếm các đường dẫn này cho các dự án trong tương lai trừ khi chúng bị xóa. Để xóa các đường dẫn tìm kiếm không mong muốn

from script_in_cwd.py import specific_function
0Kết luận

Cảm ơn bạn đã đọc bài viết của tôi. Nếu bạn thích nội dung của tôi, hãy cân nhắc theo dõi tôi. Ngoài ra, tất cả thông tin phản hồi đều được chào đón. Tôi luôn háo hức học hỏi những cách làm việc mới hoặc tốt hơn. Vui lòng để lại nhận xét hoặc liên hệ với tôi tại katyhagerty19@gmail. com

Làm cách nào để nhập một biến từ một hàm từ một tệp Python khác?

Để nhập biến từ một tệp khác, chúng ta phải nhập tệp đó từ chương trình hiện tại. .
import and then use . to access variable..
from import and use variables..
from import * and then use variables directly..

Bạn có thể sử dụng một biến trong một hàm trong một hàm khác trong Python không?

Bạn có thể truy cập các biến như vậy bên trong và bên ngoài một hàm, vì chúng có phạm vi toàn cục. Biến x trong đoạn mã trên được khai báo bên ngoài một hàm. x = 10. Sử dụng hàm showX[], chúng tôi vẫn có thể truy cập x vì nó được khai báo trong phạm vi toàn cầu

Làm cách nào để nhập một hàm từ một tệp Python khác trong thư mục khác?

Chúng ta có thể sử dụng sys. path để thêm đường dẫn của thư mục khác mới [thư mục từ nơi chúng tôi muốn nhập các mô-đun] vào đường dẫn hệ thống để Python cũng có thể xem .

Chủ Đề