Trong python hàm được khai báo ở đâu

Hàm, là một khối code được tổ chức và có thể tái sử dụng, để thực hiện một hành động nào đó. Trong các chương trước, bạn đã làm quen với một số hàm đã được xây dựng sẵn trong Python, điển hình như hàm print[]. Tuy nhiên bạn cũng có thể tạo riêng cho mình một hàm với cách định nghĩa và kiểu giá trị cho riêng bạn. Các hàm này được gọi là user-defined function.

Để khai báo một hàm trong Python thì chúng ta sử dụng keyword def với cú pháp như sau:

def ten_ham[param...]: #code

  1. ten_ham là tên của hàm mà bạn muốn đặt. Lưu ý: Tên hàm không được bắt đầu bằng số và không được chứa các ký tự đặc biệt trừ ký tự _
  2. param... là các tham số bạn muốn truyền vào hàm, nếu không có tham số thì để trống trường này.

VD1: Mình sẽ khai báo một hàm in ra chữ "Welcome to toidicode.com!".

def say[]: print["Welcome to vncoder.vn"]

VD2: Mình sẽ khai báo một hàm tính tổng của 2 số bất kỳ do người dùng truyền vào.

def sum[a, b]: print["sum = " + str[a + b]]

Trong ví dụ này a, b sẽ là tham số mà chúng ta truyền vào khi gọi hàm.

Để gọi một hàm đã được khai báo rồi, thì chúng ta sử dụng cú pháp sau:

ten_ham[] #hoặc ten_ham[param...]

  1. ten_ham là tên của hàm là chúng ta muốn gọi.
  2. param... là các tham số chúng ta muốn truyền vào trong hàm.

VD3: Mình sẽ gọi hàm say ở trong VD1.

def say[]: print["Welcome to vncoder.vn"] say[] # Ket qua: Welcome to vncoder.vn

VD4: Mình sẽ gọi hàm sum ở trong VD2.

def sum[a, b]: print["sum = " + str[a + b]] # tinh tong 2 so 4,5 sum[4, 5] # Ket qua: sum = 9 # tinh tong 2 so 3,7 sum[3, 7] # Ket qua sum = 10

Trong trường hợp bạn muốn sử dụng kết quả của hàm vừa tính để thực hiện các mục đíc khác. Thì bạn chỉ cần thêm keyword return trước kết quả bạn muốn trả về.

VD: Mình sẽ khai báo lại hàm sum ở VD2 thành hàm có kết quả trả về.

def sum[a, b]: return a+ b

Bây giờ khi muốn sử dụng kết quả của nó thì ta có thể gán nó vào một biến, hay một đối tượng và sử dụng như bình thường.

def sum[a, b]: return a+ b c = sum[4, 5]; print["Tong cua 4 va 5 = " + str[c]]

Tham số mặc định là tham số mà cung cấp các giá trị mặc định cho các tham số được truyền trong phần định nghĩa hàm, trong trường hợp mà giá trị không được cung cấp trong lời gọi hàm. Ví dụ:

#Phan dinh nghia ham def msg[Id,Ten,Age=21]: "In gia tri da truyen" print Id print Ten print Tuoi return #Function call msg[Id=100,Ten='Hoang',Tuoi=20] msg[Id=101,Ten='Thanh']

100 Hoang 20 101 Thanh 21

1, Trong trường hợp đầu tiên, khi hàm msg[] được gọi đang truyền ba giá trị là 100, Hoang, và 20, thì các giá trị này sẽ được gán tương ứng cho các tham số và do đó chúng được in ra tương ứng.

2, Trong trường hợp thứ hai, khi bạn chỉ truyền hai tham số cho hàm msg[] được gọi là 101 và Thanh, thì các giá trị này được gán tương ứng cho ID và Ten. Không có giá trị nào được gán cho tham số thứ ba trong lời gọi hàm, và vì thế hàm sẽ lấy giá trị mặc định là 21.

Khi một biến được khai báo ở trong hàm thì nó chỉ có thể được sử dụng ở trong hàm đó thôi.

def say_hello[]: a = "Hello" print[a] print[a] # Lỗi: name 'a' is not defined

Và chúng ta cũng không thể nào thay đổi giá trị của biến [biến bình thường] mà tác động ra ngoài hàm được.

a = "Hello Guy!" def say[a]: a = "vncoder.vn" print[a] say[a] # KQ: vncoder.vn print[a] # KQ: Hello Guy!

Nhưng nếu như biến mà có kiểu dữ liệu là list thì chúng ta lại có thể là được điều đó.

a = [5, 10, 15] def change[a]: a[0] = 1000 print[a] change[a] # KQ: [1000, 10, 15] print[a] # KQ: [1000, 10, 15]

Ngoài những cách hoạt động của biến mình đã trình bày ở phần 6 ra thì chúng ta còn có 1 cách nữa để có thể tác động đến các biến bên ngoài hàm khi đang ở trong hàm. Đó là sử dụng global variable - biến toàn cầu, khi một biến là global thì chúng ta có thể gọi và tác động đến nó từ bất kỳ đâu trong chương trình.

Để khai báo một biến là global thì chúng ta chỉ cần thêm keyword global trước tên của nó như sau:

VD: Mình sẽ thay đổi giá trị của biến khi ở trong hàm.

a = "Hello Guy!" def say[]: global a a = "vncoder.vn" print[a] say[] # KQ: vncoder.vn print[a] # KQ: vncoder.vn

Trên thực tế, không phải lúc nào chúng ta cũng biết được chính xác số lượng biến truyền vào trong hàm. Chính vì thế trong Python có cũng cấp cho chúng ta khai báo một param đại diện cho các biến truyền vào hàm bằng cách thêm dấu * vào trước param đó.

VD: Mình sẽ khai báo hàm get_sum để tính tổng các tham số truyền vào hàm.

def get_sum[*num]: tmp = 0 # duyet cac tham so for i in num: tmp += i return tmp result = get_sum[1, 2, 3, 4, 5] print[result] # KQ: 15

Như vậy, thông qua bài học này, chúng ta đã cùng nhau tìm hiểu về hàm trong Python. Cảm ơn các bạn đã đọc.

Biến là một vị trí trong bộ nhớ được sử dụng để lưu trữ dữ liệu [giá trị]. Biến được đặt tên duy nhất để phân biệt giữa các vị trí bộ nhớ khác nhau. Các quy tắc để viết tên một biến giống như quy tắc viết các định danh trong Python.

Danh mục bài học Python

Trong Python, bạn không cần khai báo biến trước khi sử dụng, chỉ cần gán cho biến một giá trị và sử dụng. Cũng không cần phải khai báo kiểu biến, nó sẽ được nhận tự động dựa vào giá trị mà bạn đã gán cho biến.

Biến trong Python là gì?

Biến Python là một vị trí bộ nhớ dành riêng để lưu trữ các giá trị. Nói cách khác, một biến trong chương trình python cung cấp dữ liệu cho máy tính để xử lý.

Các loại biến trong Python

Mọi giá trị trong Python đều có kiểu dữ liệu. Các kiểu dữ liệu khác nhau trong Python là Numbers, List, Tuple, Strings, Dictionary, v.v. Biến trong Python có thể được khai báo bằng bất kỳ tên nào mà bạn muốn.

Gán giá trị cho biến:

Để gán giá trị cho biến ta sử dụng toán tử =. Bất kỳ loại giá trị nào cũng có thể gán cho biến hợp lệ.

a = 100 print[a]

Khai báo lại một biến

Bạn có thể khai báo lại các biến Python ngay cả sau khi bạn đã khai báo một lần.

Ở đây chúng ta có Python khai báo biến được khởi tạo thành f = 0.

Sau đó, gán lại biến f thành giá trị “KinhKan”

# Khai báo lần đầu f = 0 print[f] # Khai báo lại f = 'KinhKan' print[f]

Khai báo biến và gán giá trị cho biến

Cũng như một số ngôn ngữ lập trình khác, khai báo biến trong Python cũng hết sức đơn giản

# Khai báo và gán giá trị cho các biến bienA,bienB,bienC = 5,"KinhKan",True print[bienA] print[bienB] print[bienC]

Kết quả sẽ hiển thị như sau:

Biến toàn cục [global] và biến cục bộ [local]

Trong Python, việc khai báo biến toàn cục hoặc biến cục bộ có tầm ảnh hưởng rất lớn đến việc xử lý dữ liệu thông qua các biến.

Khi bạn muốn sử dụng cùng một biến cho phần còn lại của chương trình hoặc mô-đun của mình, bạn khai báo nó như một biến toàn cục. Trong khi nếu bạn muốn sử dụng biến trong một hàm hoặc phương thức cụ thể, bạn sử dụng một biến cục bộ trong khi khai báo biến Python.

Xét ví dụ sau đây:

# Khai báo một biến và khởi tạo nó: varX varX = 101 print["Giá trị biến toàn cục: " + str[varX]] # Biến toàn cục so với biến cục bộ trong các hàm def someFunction[]: # global varX varX = 'Tôi đang học Python' print["Giá trị biến cục bộ: " + str[varX]] #----------------------------------------------- someFunction [] print["Giá trị biến toàn cục: " + str[varX]]

Kết quả hiển thị như sau:

Giải thích:

Đoạn mã trên, có 3 hàm Print được gọi để hiển thị dữ liệu [là biến varX], vì biến varX là số 101 [kiểu int], nên khi thực hiện phép ghép chuỗi “Giá trị biến toàn cục: ” với biến varX, phải chuyển đổi kiểu varX từ số sang chuỗi bằng hàm str[]

  • Print thứ nhất: Hiển thị giá trị của varX là “Giá trị biến toàn cục: 101”
  • Print thứ hai: biến varX lúc này nằm trong hàm someFunction[], có giá trị varX = “Tôi đang học Python”, nên khi gọi hàm someFunction[], sẽ hiển thị là “Giá trị biến cục bộ: Tôi đang học Python”
  • Print thứ ba: biến varX lúc này là giá trị biến toàn cục, nên kết quả hiển thị là “Giá trị biến toàn cục: 101”

Hủy bỏ, xóa biến

Dùng lệnh Del để xóa biến, ví dụ:

f = 11; print[f] del f print[f]

Kết quả:

Giải thích:

  • Lệnh print đầu tiên, hiển thị giá trị 11
  • Lệnh print tiếp theo, báo lỗi, với lí do đã xóa biến f bằng lệnh del f

Tóm lược:

  • Giống như bất kỳ ngôn ngữ lập trình nào khác, Python cũng sử dụng một biến để lưu trữ thông tin.
  • Các biến có thể được khai báo bằng bất kỳ tên nào hoặc thậm chí các bảng chữ cái như a, aa, abc, v.v.
  • Các biến có thể được khai báo lại ngay cả sau khi bạn đã khai báo chúng một lần
  • Trong Python, bạn không thể nối chuỗi với số một cách trực tiếp, bạn cần khai báo chúng dưới dạng một biến riêng biệt và sau đó, bạn có thể nối số với chuỗi
  • Hằng số trong Python có thể được hiểu là các loại biến giữ giá trị không thể thay đổi. Thông thường, hằng số Python được tham chiếu từ các tệp khác. Hằng số định nghĩa trong Python được khai báo trong một tệp mới hoặc tệp riêng biệt chứa các hàm, mô-đun, v.v.
  • Các loại biến trong Python hoặc các loại biến Python: Cục bộ & Toàn cục
  • Khai báo biến cục bộ khi bạn muốn sử dụng nó cho hàm hiện tại
  • Khai báo biến Toàn cục khi bạn muốn sử dụng cùng một biến cho phần còn lại của chương trình
  • Để xóa một biến, nó sử dụng từ khóa “del”.

Video liên quan

Chủ Đề