Trong bài trước, Kteam đã giới thiệu đến bạn KIỂU DỮ LIỆU FUNCTION TRONG PYTHON.

Thay đổi giá trị argument gián tiếp qua parameter

Nói về vấn đề này, bạn nên biết 2 thuật ngữ là pass by reference và pass by value.

Đầu tiên, thế nào là pass by reference. Giả sử bạn có một chiếc laptop. Thằng bạn nó muốn mượn dùng một ngày. Thế là bạn mang máy của mình cho nó mượn. Về nhà thằng bạn nó down phim, down game, cài virus. Sau một ngày, hắn đem trả lại bạn. Coi như chiếc laptop của bạn tan nát. Việc bạn đưa laptop của mình cho thằng bạn cũng giống như việc pass by reference. Có nghĩa là bạn đưa bản gốc.

Sang tuần sau. Thằng bạn lại đến mượn đồ tiếp và bây giờ là chiếc xe đạp. Bạn biết tỏng hắn kiểu gì cũng phá, liền lấy bảo bối là  “Gương nhân đôi”, sau đó bạn nhân bản chiếc xe đạp của bạn ra. Bạn lấy bản nhân bản đưa hắn mượn. Và bạn thấy đó, dù cho hắn có đạp nát chiếc xe kia thì xe của bạn cũng không sao.Đó  gọi là bạn pass by value, đưa giá trị hoặc là “đưa bản sao”.

Trong Python, việc bạn CHỈ CÓ THỂ pass by value

Ta sẽ đến với ví dụ để hiểu hơn. Ta có đoạn script sau

Như bạn thấy, không một giá trị nào bị thay đổi vì đó là pass by value.

Tuy nhiên, chúng ta thử lật lại kiến thức một ít nào. Bạn nhớ phần “Vấn đề cần lưu tâm khi sử dụng List” Trong bài KIỂU DỮ LIỆU LIST TRONG PYTHON – Phần 1 chứ?

Việc bạn truyền giá trị cho parameter giống hệt như lúc bạn khởi tạo biến parameter và đưa giá trị cho nó vậy.

Bạn sẽ có một câu hỏi liên quan tới phần này ở cuối bài nhé!

Nếu như một biến nằm trong một hàm (như biến kteam trong ví dụ cuối ở phần đầu) thì người ta hay gọi đó là local variable (biến chỉ có hiệu lực trong một hàm nhỏ).

Đặt vấn đề là việc khai báo biến ở trong hàm trở nên cần thiết thì sao nhỉ?

Ta được Python hỗ trợ lệnh global.

Lệnh này như một phép màu mà bạn có thể tạo ra. Giống như bạn có thể  biến một người thành tổng thống Mỹ vậy. Ai trên thế giới này cũng biết. Và như biến, ở nơi nào trong chương trình cũng dùng được.

Hãy đến với ví dụ giống như ví dụ cuối phần đầu ban nãy như có khác biệt một chút

Và đây là kết quả khi ta có global

Ở đây Kteam muốn bạn lưu ý một trường hợp là tên biến local trùng với tên biến global.

Như bạn thấy ở ví dụ trên, biến x trong hàm local đã trùng với biến global x. Tuy nhiên hai biến x này là hoàn toàn khác nhau. Biến x dùng trong hàm local thì có một địa chỉ riêng và một giá trị riêng, còn biến x global thì cũng có một giá trị riêng và một địa chỉ riêng. Thêm nữa, nếu như ta sử dụng biến x ngoài hàm thì Python sẽ tìm tới biến x global chứ không phải là biến x local.

BẠN KHÔNG NÊN SỬ DỤNG GLOBAL trừ khi hết cách. Nó giống như hàm eval vậy. Việc sử dụng biến global làm cho chương trình rối, khó kiểm soát cho nên hạn hãy chế tối đa việc sử dụng.

Giới thiệu hàm locals và globals

Cái tên hàm nói lên tất cả. Hàm locals cho ta biết được những biến local (những biến được khai báo trong hàm) nằm trong chương trình của chúng ta. Còn globals là hàm giúp chúng ta biết được những  biến global trong chương trình.

Kết quả trả ra của hai hàm này là một Dict. Với key là tên biến và value là giá trị của biến.

Lưu ý: Với hàm globals() thì với biến globals có giá trị mới được trả về.

Qua bài viết này, Bạn đã biết thêm về hàm trong Python qua các khái niệm local và global trong hàm.

Ở bài viết sau. Kteam sẽ tiếp tục giới thiệu thêm với các bạn về KIỂU DỮ LIỆU FUNCTION TRONG PYTHON – Phần 5.

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Kiểu dữ liệu Function trong Python - Biến locals và globals dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tiêu chuẩn chung đối với các chất nhiễm bẩn và các độc tố trong thực phẩm

Quy phạm đạo đức trong thương mại quốc tế về thực phẩm

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện Bacillus anthracis

Thực phẩm. Phát hiện chiếu xạ bằng kỹ thuật lọc quỳnh quang bề mặt trực tuyến/đếm đĩa vi sinh vật hiếu khí (DEFT/APAC). Phương pháp sàng lọc

Sản phẩm thực phẩm. Xác định 3-Monocloopropan -1,2-diol bằng sắc ký khí/phổ khối (GC/MS)

Phụ gia thực phẩm. Kali axesulfam

Phụ gia thực phẩm. Chất tạo ngọt. Kali sacarin

Phụ gia thực phẩm. Caroten (thực phẩm)

Phụ gia thực phẩm. Brilliant blue FCF

Phụ gia thực phẩm. Sunset yellow FCF

Thực phẩm. Xác định hàm lượng nitrat và/hoặc nitri. Phần 2: xác định hàm lượng nitrat trong rau và sản phẩm rau bằng sắc ký lỏng hiệu năng cao/trao đổi ion

Thực phẩm. Xác định aflatoxin B1 và tổng aflatoxin B1, B2, G1 và G2 trong ngũ cốc, quả có vỏ và sản phẩm của chúng. Phương pháp sắc ký lỏng hiệu năng cao có dẫn suất sau cột và làm sạch bằng cột ái lực miễn dịch

Thực phẩm. Xác định nguyên tố vết. Xác định chì, cadimi, crom, molyden bằng đo phổ hấp thụ nguyên tử dùng lò graphit (GFAAS) sau khi phân hủy bằng áp lực.

Thực phẩm. Xác định tổng số vi sinh vật hiếu khí bằng phương pháp gel pectin

Thực phẩm. Phát hiện và định lượng Staphylococcus aureus bằng phương pháp tính số có xác suất lớn nhất

Thực phẩm. Phát hiện Salmonella. Phương pháp so màu nhanh sử dụng sàng lọc có tăng sinh chọn lọc

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp lấy mẫu thân thịt tươi để phân tích

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng Escherichia coli dương tính beta-glucuronidaza. Phần 3: Kỹ thuật tính số có xác suất lớn nhất sử dụng 5-bromo-4-clo-3-indoly beta-D-glucuronid

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng Escherichia coli dương tính beta-glucuronidaza. Phần 1: Kỹ thuật đếm khuẩn lạc ở 44 0C sử dụng màng lọc và 5-bromo-4-clo-3-indoly beta-D-glucuronid

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng vi khuẩn axit lactic ưa nhiệt trung bình. Kỹ thuật đếm khuẩn lạc ở 30 0C

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện vibrio spp.có khả năng gây bệnh đường ruột. Phần 1: Phát hiện vibrio pahaemolyticus và vibrio cholerae

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện vibrio spp.có khả năng gây bệnh đường ruột. Phần 2: Phát hiện các loài không phải là vibrio parahaemolyticus và vibrio cholerae

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng vi sinh vật ưa lạnh

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng số lượng nhỏ bacillus cereus giả định. Phương pháp phát hiện và kỹ thậut tính số có xáv suất lớn nhất

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng vi khuẩn khử sulfit phát triển trong điều kiện kỵ khí

Đồ hộp thực phẩm. Xác định hàm lượng thiếc bằng phương pháp quang phổ hấp thụ nguyên tử

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện và định lượng enterobacteriaceae. Phần 2: Kỹ thuật đếm khuẩn lạc

Phụ gia thực phẩm. Xirô sorbitol

Thực phẩm. Xác định B1 bằng sắc ký lỏng hiệu năng cao (HPLC)

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện và định lượng Coliform. Kỹ thuật đếm số có xác suất lớn nhất

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Yêu cầu chung và hướng dẫn kiểm tra vi sinh vật

Phụ gia thực phẩm. Mì chính (tuyển tập)

Dụng cụ bằng thủy tinh có lòng sâu tiếp xúc với thực phẩm. Sự thôi ra của chì và cadimi. Phần 2: Giới hạn cho phép

Thực phẩm. Phương pháp xác định phẩm màu hữu cơ trổng hợp tan trong nước

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng staphylococci có phản ứng dương tính coagulase (staphylococcus uureus và các lòai khác) trên đĩa thạch. Phần 2: Kỹ thuật sử dụng môi trường thạch fibrinogen huyết tương thỏ

Thực phẩm chế biến từ ngũ cố dành cho trẻ sơ sinh và trẻ nhở

Thực phẩm. Phương pháp phân tích để phát hiện sinh vật biến gen và sản phẩm có nguồn gốc biến đổi gen. Yêu cầu chung và định nghĩa

Thực phẩm. Phương pháp phân tích để phát hiện sinh vật biến gen và sản phẩm có nguồn gốc biến đổi gen. Phương pháp dựa trên protein

Thực phẩm. Phương pháp phân tích để phát hiện sinh vật biến gen và sản phẩm có nguồn gốc biến đổi gen. Tách chiết axit nucleic

Thực phẩm. Phương pháp phân tích để phát hiện sinh vật biến đổi gen và sản phẩm có nguồn gốc biến đổi gen. Phương pháp dự trên định tính axit nucleic

Thực phẩm. Xác định hàm lượng thủy ngân bằng phương pháp quang phổ hấp thụ nguyên tử không ngọn lửa

Thực phẩm. Xác định hàm lượng cadimi bằng phương pháp quang phổ hấp thụ nguyên tử

Thực phẩm. Xác định hàm lượng asen bằng phương pháp bạc dietyldithiocacbamat

Thực phẩm. Xác định aflatoxin B1 và hàm lượng tổng số aflatoxin B1, B2, G1 và G2 trong ngũ cốc, các loại hạt và các sản phẩm của chúng. Phương pháp sắc ký lỏng hiệu năng cao

Thực phẩm. Xác định ocratoxin A trong ngũ cốc và sản phẩm ngũ cốc. Phần 2: Phương pháp sắc ký lỏng hiệu năng cao làm sạch bằng bicacbonat và hàm lượng tổng số aflatoxin B1, B2, G1 và G2 trong ngũ cốc, các loại hạt và các sản phẩm của chúng. Phương pháp sắc ký lỏng hiệu năng cao làm sạch bằng bicacbonat

Thực phẩm. Xác định ocratoxin A trong ngũ cốc và sản phẩm ngũ cốc. Phần 1: Phương pháp sắc ký lỏng hiệu năng cao làm sạch bằng silica gel

Sản phẩm thực phẩm từ sữa. Xác định hàm lượng chất béo  bằng phương pháp khối lượng khối lượng weibull-Berntrop (phương pháp chuẩn) . Phần 3: Các trường hợp đặc biệt

Sản phẩm thực phẩm từ sữa. Xác định hàm lượng chất béo  bằng phương pháp khối lượng Weibull-Berntrop (phương pháp chuẩn). Phần 2: Kem lạnh và kem lãnh hỗn hợp

Sản phẩm sữa và thực phẩm từ sữa. Xác định hàm lượng chất béo bằng phương pháp khối lượng Weibull-Berntrop (Phương pháp chuẩn). Phần 1: Thực phẩm dành cho trẻ sơ sinh

Thực phẩm từ sữa dùng cho trẻ sơ sinh. Xác định hàm lượng chất béo. Phương pháp khối lượng (Phương pháp chuẩn)

Dầu mỡ động vật và thực vật. Quy phạm thực hành về bảo quản và vận chuyển dầu mỡ thực phẩm dạng rời

Cơ sở chế biến thủy sản. Điều kiện đảm bảo chất lượng và vệ sinh an toàn thực phẩm trong quá trình đóng hộp

Hướng dẫn xây dựng chương trình quy phạm để kiểm tra dư lượng thuốc thú y trong thực phẩm

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp định lượng staphylococci có phản ứng dương tính coagulase (staphylococcus uureus và các lòai khác) trên đĩa thạch. Phần 1: Kỹ thuật sử dụng môi trường thạch Baird-Parker.

Thực phẩm. Phát hiện thực phẩm chiếu xạ bằng phương pháp quang phổ ESR đối với loại thực phẩm chứa xenluloza

Thực phẩm. Phát hiện thực phẩm chiếu xạ đối với loại thực phẩm chứa xương. Phương pháp quang phổ ESR.

Thực phẩm. Phát hiện thực phẩm chiếu xạ đối với loại thực phẩm chứa chất béo. Phân tích 2-Alkylclobutanon bằng phương pháp sắc ký khí/quang phổ khối

Thực phẩm. Phát hiện thực phẩm chiếu xạ đối với loại thực phẩm chứa chất béo. Phân tích hydrocacbon bằng sắc ký khí.

Kem thực phẩm. Yêu cầu kỹ thuật

Quy phạm vận hành thiết bị chiếu xạ xử lý thực phẩm

Tiêu chuẩn thực hành đo liều áp dụng cho thiết bị chiếu xạ chùm tia electron và bức xạ hãm (bremsstrahlung) dùng để xử lý thực phẩm

Tiêu chuẩn thực hành đo liều áp dụng cho thiết bị chiếu xạ gamma dùng để xử lý thực phẩm

Thực phẩm chiếu xạ. Yêu cầu chung

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Chuẩn bị mẫu thử, huyền phù ban đầu và các dung dịch pha loãng thập phân để kiểm tra vi sinh vật. Phần 4: Các nguyên tắc cụ thể chuẩn bị các sản phẩm khác với sữa và sản phẩm sữa, thịt và sản phẩm thịt thủy sản và sản phẩm thủy sản.

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Chuẩn bị mẫu thử, hyền phù ban đầu và các dung dịch pha loãng thập phân để kiểm tra vi sinh vật. Phần 3: các nguyên tắc cụ thể để chuẩn bị các mẫu thủy sản và sản phẩm thủy sản.

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Chuẩn bị mẫu thử, hyền phù ban đầu và các dung dịch pha loãng thập phân để kiểm tra vi sinh vật. Phần 2: các nguyên tắc cụ thể để chuẩn bị các mẫu thịt và sản phẩm thịt

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Chuẩn bị mẫu thử, hyền phù ban đầu và các dung dịch pha loãng thập phân để kiểm tra vi sinh vật. Phần 1: Các nguyên tắc chung để chuẩn bị huyền phù ban đầu và các dung dịch pha loãng thập phân.

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện và định lượng Campylobacter spp.. Phần 1: Phương pháp phát hiện.

Vi sinh vật trong thực phẩm và thức ăn chăn nuôi. Phương pháp phát hiện Escherichina coli O157

Axit photphoric thực phẩm và axit phosphoric kỹ thuật. Yêu cầu kỹ thuật.