Import sys trong Python la gì

Module (mô-đun) là một file chứa code hoặc một function (hàm) và có thể đễ dàng đưa vào ứng dụng của bạn. Khi một chương trình của bạn khá lớn, lúc này bạn phải chia nhỏ chương trình của mình ra thành nhiều nhánh nhỏ để cho tiện việc quản lý cũng như gọi lại chúng khi cần. Trong phần này, bạn sẽ tìm hiểu làm thế nào để tạo ra một module trong python, cách sử dụng cũng như biết được một số module có sẵn của ngôn ngữ python.

Để tạo một module trong python, chúng ta viết code trong một file python và lưu với phần mở rộng là from mymodule import generate_full_name, sum_two_nums, person, gravity print(generate_full_name('Chanh','Phan Nhat')) print(sum_two_nums(1,9)) mass = 100; weight = mass * gravity # trọng lượng = khối lượng * trọng lực print(weight) print(person['firstname'])1 Ví dụ tạo một tệp có tên mymodule.py (trong đó: mymodule tên, .py là phần mở rộng) bên trong thư mục dự án của bạn như sau:

def generate_full_name(firstname, lastname): space = ' ' fullname = firstname + space + lastname return fullname

Tiếp theo, bạn sẽ tạo tệp có tên main.py trong thư mục dự án của bạn và import file mymodule.py

Để import một module trong python, chúng ta chỉ sử dụng từ khóa import và tên của tệp. Vậy ta viết code của file main.py như sau:

file main.py

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))

Chúng ta có thể có nhiều hàm trong một file module và chúng ta có thể nhập tất cả các hàm theo nhiều cách khác nhau.

file main.py

from mymodule import generate_full_name, sum_two_nums, person, gravity print(generate_full_name('Chanh','Phan Nhat')) print(sum_two_nums(1,9)) mass = 100; weight = mass * gravity # trọng lượng = khối lượng * trọng lực print(weight) print(person['firstname'])

Khi Import một module, chúng ta có thể đổi tên tên của nó bằng cách sử dụng as

file main.py

from mymodule import generate_full_name as fullname, sum_two_nums as total, person as p, gravity as g print(fullname('Chanh','Phan Nhat')) print(total(1,9)) mass = 100; weight = mass * g print(weight) print(p) print(p['firstname'])

Giống như các ngôn ngữ lập trình khác, chúng ta cũng có thể import các mô-đun bằng cách nhập tên tệp/hàm bằng cách sử dụng từ khóa import. Một số module sữ dụng phổ biến đã được tích hợp sẵn trong python như: math, datetime, os, sys, random, statistics, collections, json, re

Module OS có thể tự động thực hiện nhiều chức năng tương tác với hệ điều hành. Module OS trong Python cung cấp các chức năng để tạo, thay đổi thư mục làm việc hiện tại và xóa thư mục, đọc file,...

# import module import os # Tạo một thư mục os.mkdir('directory_name') # Thay đổi thư mục hiện tại os.chdir('path') # Lấy thư mục làm việc hiện tại os.getcwd() # Xóa thư mục os.rmdir()

Module sys cung cấp các hàm và biến được sử dụng để thao tác các phần khác nhau của môi trường thời gian chạy Python. Hàm sys.argv trả về danh sách các đối số dòng lệnh được truyền cho tập lệnh Python. Đối số (argument) thứ 0 (argv[0]) trong danh sách (list) này luôn là tên của một tệp tin, đối số thứ 1 (argv1) là đối số được truyền vào từ dòng lệnh.

Ví dụ bạn sẽ tạo một file có tên script.py như sau:

import sys #print(sys.argv[0], argv[1], sys.argv[2]) # dòng này sẽ in ra: filename argument1 argument2 print('Welcome {}. Enjoy {} challenge!'.format(sys.argv[1], sys.argv[2]))

Bây giờ để kiểm tra cách hoạt động của file script.py bằng cách mở terminal và chạy lệnh sau và truyền các đối số cho nó:

Terminal

python script.py Chanh PythonBasic

Kết quả ta thu được sẽ là:

Welcome Chanh. Enjoy PythonBasic challenge!

Một số lệnh của thư viên sys hữu ích:

# Thoát khỏi hệ thống sys.exit() # Biết biến số nguyên lớn nhất sys.maxsize # Biết đường dẫn môi trường làm việc sys.path # Phiên bản python bạn đang sử dụng sys.version

Module Statistics cung cấp một số functions để thống kê dữ liệu dạng số. Một số hàm phổ biến của statistics được xác định trong module này là: mean, median, mode, stdev,...

from statistics import * # import statistics modules ages = [20,20,24,24,25,22,26,20,23,22,26] print(mean(ages)) # 22.90909090909091 print(median(ages)) # 23 print(mode(ages)) # 20 print(stdev(ages)) # 2.3001976199685736

Module chứa nhiều phép toán (mathematical) và hằng số (constants).

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))0

Bây giờ, chúng ta sẽ import module toán học để thực hiện các phép tính. Để kiểm tra các hàm có sẵn trong module, bạn có thể sử dụng help(math) hoặc dir(math). Nếu bạn chỉ muốn nhập một hàm cụ thể để sử dụng từ module, bạn sẽ import theo cấu trúc như sau:

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))1

Hặc bạn cũng có thể import nhiều hàm cùng một lúc bằng cách:

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))2

Nhưng nếu bạn muốn nhập tất cả các hàm có sẵn trong module, bạn có thể sử dụng dấu from mymodule import generate_full_name, sum_two_nums, person, gravity print(generate_full_name('Chanh','Phan Nhat')) print(sum_two_nums(1,9)) mass = 100; weight = mass * gravity # trọng lượng = khối lượng * trọng lực print(weight) print(person['firstname'])2 với cú pháp như sau:

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))3

Khi import chúng ta cũng có thể đổi tên hàm bằng cách sử dụng as như sau:

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))4

Một Module hữu ích có thể sử dụng cho nhiều mục đích khác nhau. Dưới đây là một ví dụ để lấy các ký tự (chuỗi) đặt biệt mà chúng ta có thể lấy từ module string như sau:

import mymodule print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))5

Nãy giờ bạn đã quen với việc import các module tự tạo hoặc có sẵn. Hãy thực hiện thêm một lần import nữa để làm quen với nó. Hãy import một module có tên ramdom (ngẫu nhiên) và in ra một số ngẫu nhiên từ 0 đến 0,9999. Có rất nhiều hàm trong module ramdom nhưng trong phần này chúng ta sẽ chỉ sử dụng random và randint.

Chủ đề