Chức năng gọi python với biến

Các đối số được chỉ định sau tên hàm, bên trong dấu ngoặc đơn. Bạn có thể thêm bao nhiêu đối số tùy thích, chỉ cần phân tách chúng bằng dấu phẩy

Ví dụ sau có một hàm với một đối số [fname]. Khi hàm được gọi, chúng ta truyền vào tên đầu tiên, tên này được sử dụng bên trong hàm để in ra tên đầy đủ

Thí dụ

def my_function[fname].
  print[fname + " Refsnes"]

my_function["Emil"]
my_function["Tobias"]
my_function["Linus"]

Tự mình thử »

Các đối số thường được rút ngắn thành args trong tài liệu Python

Tham số hoặc Đối số?

Tham số thuật ngữ và đối số có thể được sử dụng cho cùng một thứ. thông tin được truyền vào một chức năng

Từ quan điểm của một chức năng

Tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm

Đối số là giá trị được gửi đến hàm khi nó được gọi

Số đối số

Theo mặc định, một hàm phải được gọi với số đối số chính xác. Có nghĩa là nếu hàm của bạn yêu cầu 2 đối số, bạn phải gọi hàm với 2 đối số, không nhiều hơn và không ít hơn

Thí dụ

Hàm này mong đợi 2 đối số và nhận 2 đối số

def my_function[fname, lname].
  print[fname + " " + lname]

my_function["Emil", "Refsnes"]

Tự mình thử »

Nếu bạn cố gọi hàm với 1 hoặc 3 đối số, bạn sẽ gặp lỗi

Thí dụ

Hàm này mong đợi 2 đối số, nhưng chỉ nhận được 1

def my_function[fname, lname].
  print[fname + " " + lname]

my_function["Emil"]

Tự mình thử »

Đối số tùy ý, *args

Nếu bạn không biết có bao nhiêu đối số sẽ được truyền vào hàm của mình, hãy thêm ____0 trước tên tham số trong định nghĩa hàm

Bằng cách này, hàm sẽ nhận được một bộ đối số và có thể truy cập các mục tương ứng

Thí dụ

Nếu số lượng đối số là không xác định, hãy thêm * trước tên tham số

def my_function[*kids].
  print["Con út là " + con[2]]

my_function["Emil", "Tobias", "Linus"]

Tự mình thử »

Đối số tùy ý thường được rút ngắn thành *args trong tài liệu Python

Đối số từ khóa

Bạn cũng có thể gửi đối số bằng cú pháp key = value

Bằng cách này, thứ tự của các đối số không thành vấn đề

Thí dụ

def my_function[con3, con2, con1].
  print["Con út là " + con3]

my_function[child1 = "Emil", child2 = "Tobias", child3 = "Linus"]

Tự mình thử »

Cụm từ Đối số từ khóa thường được rút ngắn thành kwargs trong tài liệu Python

Đối số từ khóa tùy ý, **kwargs

Nếu bạn không biết có bao nhiêu đối số từ khóa sẽ được chuyển vào hàm của mình, hãy thêm hai dấu hoa thị. ** trước tên tham số trong định nghĩa hàm

Bằng cách này, hàm sẽ nhận được một từ điển các đối số và có thể truy cập các mục tương ứng

Thí dụ

Nếu số lượng đối số từ khóa không xác định, hãy thêm một dấu ngoặc kép 2 trước tên tham số

def my_function[**kid].
  print["Họ của anh ấy là " + kid["lname"]]

my_function[fname = "Tobias", lname = "Refsnes"]

Tự mình thử »

Đối số Kword tùy ý thường được rút ngắn thành **kwargs trong tài liệu Python

Giá trị tham số mặc định

Ví dụ sau đây cho thấy cách sử dụng giá trị tham số mặc định

Nếu chúng ta gọi hàm mà không có đối số, nó sẽ sử dụng giá trị mặc định

Thí dụ

def my_function[country = "Na Uy"].
  print["Tôi đến từ " + quốc gia]

my_function["Thụy Điển"]
my_function["Ấn Độ"]
my_function[]
my_function["

Tự mình thử »

Truyền Danh sách dưới dạng Đối số

Bạn có thể gửi bất kỳ loại dữ liệu nào của đối số tới một hàm [chuỗi, số, danh sách, từ điển, v.v. ] và nó sẽ được coi là cùng kiểu dữ liệu bên trong hàm

E. g. nếu bạn gửi Danh sách dưới dạng đối số, nó vẫn sẽ là Danh sách khi đến chức năng

Thí dụ

def my_function[food].
  cho x trong thực phẩm.
    in[x]

trái cây = ["táo", "chuối", "anh đào"]

my_function[trái cây]

Tự mình thử »

Giá trị trả về

Để một hàm trả về một giá trị, hãy sử dụng câu lệnh return

Thí dụ

def my_function[x].
  return 5 * x

print[my_function[3]]
print[my_function[5]]
print[my_function[9]]

Tự mình thử »

Tuyên bố vượt qua

Định nghĩa function không thể để trống, nhưng nếu vì lý do nào đó bạn có định nghĩa function không có nội dung, hãy đặt câu lệnh pass để tránh bị lỗi

đệ quy

Python cũng chấp nhận đệ quy hàm, có nghĩa là một hàm được xác định có thể gọi chính nó

Đệ quy là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng gọi chính nó. Điều này có lợi là bạn có thể lặp qua dữ liệu để đạt được kết quả

Nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng viết một hàm không bao giờ kết thúc hoặc một hàm sử dụng quá nhiều bộ nhớ hoặc sức mạnh của bộ xử lý. Tuy nhiên, khi được viết đúng, đệ quy có thể là một cách tiếp cận lập trình rất hiệu quả và thanh lịch về mặt toán học.

Trong ví dụ này, tri_recursion[] là một hàm mà chúng ta đã xác định để gọi chính nó ["recurse"]. Chúng tôi sử dụng biến k làm dữ liệu, giá trị này giảm [-1] mỗi khi chúng tôi lặp lại. Đệ quy kết thúc khi điều kiện không lớn hơn 0 [i. e. khi nó bằng 0]

Đối với một nhà phát triển mới, có thể mất một chút thời gian để tìm ra chính xác cách thức hoạt động của nó, cách tốt nhất để tìm hiểu là thử nghiệm và sửa đổi nó

Bạn có thể chạy một hàm trong một biến Python không?

Trong Python, chúng ta có thể gán một hàm cho một biến . Và sử dụng biến đó, chúng ta có thể gọi hàm bao nhiêu lần chúng ta muốn. Qua đó, tăng khả năng tái sử dụng code. Chỉ cần gán một hàm cho biến mong muốn nhưng không có [] i. e. chỉ với tên của chức năng.

Bạn có thể gọi các biến từ các hàm khác trong Python không?

Trong Python và hầu hết các ngôn ngữ lập trình, các biến được khai báo bên ngoài hàm được gọi là biến toàn cục. Bạn có thể truy cập các biến như vậy bên trong và bên ngoài hàm, vì chúng có phạm vi toàn cục .

Làm cách nào để gọi một hàm trong Python?

Để gọi một hàm, bạn viết tên hàm theo sau là dấu hai chấm . N. B. Đảm bảo rằng bạn không chỉ định lệnh gọi hàm bên trong khối chức năng. Nó sẽ không hoạt động theo cách đó vì cuộc gọi sẽ được coi là một phần của chức năng để chạy.

Làm cách nào để lấy giá trị biến từ hàm này sang hàm khác trong Python?

Sử dụng cú pháp thuộc tính đối tượng để truy cập một biến bên ngoài hàm . Trong một hàm có tên func, hãy sử dụng cú pháp func. biến = giá trị để lưu trữ giá trị trong biến như một thuộc tính của func. Để truy cập giá trị bên ngoài func , hãy sử dụng func[] để chạy func , sau đó sử dụng cú pháp function_name.

Chủ Đề