Trong Python, bạn có thể định nghĩa một hàm có số lượng đối số thay đổi. Trong bài viết này, bạn sẽ học cách xác định các hàm như vậy bằng cách sử dụng các đối số mặc định, từ khóa và tùy ý.

Bạn đang xem : đối số của một hàm python

Đối số

Trong chủ đề hàm do người dùng xác định , chúng ta đã tìm hiểu về cách xác định hàm và gọi hàm. Nếu không, lệnh gọi hàm sẽ dẫn đến lỗi. Đây là một ví dụ.

 def hello (tên, tin nhắn):
    "" "Hàm này chào đón
    người có tin nhắn được cung cấp "" "
    print ("Xin chào", tên + ',' + msg)

chào ("Monica", "Chào buổi sáng!")  

Đầu ra

Xin chào Monica, Chào buổi sáng! 

Ở đây, hàm welcome () có hai tham số.

Vì chúng tôi đã gọi hàm này với hai đối số nên hàm này chạy trơn tru và chúng tôi không gặp bất kỳ lỗi nào.

Nếu chúng tôi gọi nó với một số đối số khác, trình thông dịch sẽ hiển thị thông báo lỗi. Dưới đây là lệnh gọi hàm này có một và không có đối số cùng với các thông báo lỗi tương ứng.

& gt; & gt; & gt; chào ("Monica") # chỉ một đối số
TypeError: welcome () thiếu 1 đối số vị trí bắt buộc: 'msg' 
& gt; & gt; & gt; hello () # không có đối số
TypeError: welcome () thiếu 2 đối số vị trí bắt buộc: 'name' và 'msg' 

Đối số hàm biến

Cho đến nay, các hàm có một số lượng đối số cố định. Trong Python, có nhiều cách khác để xác định một hàm có thể nhận nhiều đối số.

Ba dạng khác nhau của loại này được mô tả bên dưới.

Đối số mặc định trong Python

Các đối số của hàm có thể có giá trị mặc định trong Python.

Chúng tôi có thể cung cấp giá trị mặc định cho một đối số bằng cách sử dụng toán tử gán (=). Đây là một ví dụ.

 def hello (name, msg = "Good morning!"):
    "" "
    Chức năng này chào đón
    người với
    tin nhắn đã cung cấp.

    Nếu tin nhắn không được cung cấp,
    nó mặc định là "Tốt
    buổi sáng!"
    "" "

    print ("Xin chào", tên + ',' + msg)


chào ("Kate")
chào ("Bruce", "Bạn khỏe không?")  

Đầu ra

Xin chào Kate, Chào buổi sáng!
Xin chào Bruce, Bạn khỏe không? 

Xem Thêm  Liên kết theo dõi Nofollow so với: Mọi thứ bạn cần biết - không theo liên kết html

Trong hàm này, tham số name không có giá trị mặc định và được yêu cầu (bắt buộc) trong khi gọi.

Mặt khác, tham số msg có giá trị mặc định là "Good morning!" . Vì vậy, nó là tùy chọn trong cuộc gọi. Nếu một giá trị được cung cấp, nó sẽ ghi đè lên giá trị mặc định.

Bất kỳ số lượng đối số nào trong một hàm đều có thể có giá trị mặc định. Nhưng khi chúng ta có một đối số mặc định, tất cả các đối số bên phải của nó cũng phải có giá trị mặc định.

Điều này có nghĩa là, các đối số không mặc định không thể tuân theo các đối số mặc định. Ví dụ: nếu chúng ta đã xác định tiêu đề hàm ở trên là:

chào def (msg = "Chào buổi sáng!", name): 

Chúng tôi sẽ gặp lỗi là:

SyntaxError: đối số không mặc định theo sau đối số mặc định 

Đối số từ khóa trong Python

Khi chúng tôi gọi một hàm với một số giá trị, các giá trị này sẽ được gán cho các đối số tùy theo vị trí của chúng.

Ví dụ: trong hàm welcome () ở trên, khi chúng tôi gọi nó là welcome ("Bruce", "How do you do?") , giá trị "Bruce" được gán cho tên đối số và tương tự "How do you do?" thành msg.

Python cho phép các hàm được gọi bằng cách sử dụng các đối số từ khóa. Khi chúng ta gọi các hàm theo cách này, thứ tự (vị trí) của các đối số có thể bị thay đổi. Các lệnh gọi sau đến hàm trên đều hợp lệ và tạo ra cùng một kết quả.

 # 2 đối số từ khóa
chào (name = "Bruce", msg = "Bạn khỏe không?")

# 2 đối số từ khóa (không theo thứ tự)
chào (msg = "Bạn khỏe không?", name = "Bruce")

1 đối số vị trí, 1 từ khóa
chào ("Bruce", msg = "Bạn khỏe không?")  

Như chúng ta thấy, chúng ta có thể kết hợp các đối số vị trí với các đối số từ khóa trong khi gọi hàm. Nhưng chúng ta phải lưu ý rằng các đối số từ khóa phải tuân theo các đối số vị trí.

Có một đối số vị trí sau các đối số từ khóa sẽ dẫn đến lỗi. Ví dụ, lệnh gọi hàm như sau:

 xin chào (name = "Bruce", "Bạn khỏe không?")  

Sẽ dẫn đến lỗi:

SyntaxError: không phải từ khóa arg sau từ khóa arg 

Đối số tùy ý trong Python

Đôi khi, chúng tôi không biết trước số lượng đối số sẽ được truyền vào một hàm. Python cho phép chúng ta xử lý loại tình huống này thông qua các lệnh gọi hàm với số lượng đối số tùy ý.

Xem Thêm  Thanh điều hướng CSS - thanh điều hướng trường học w3

Trong định nghĩa hàm, chúng tôi sử dụng dấu hoa thị (*) trước tên tham số để biểu thị loại đối số này. Đây là một ví dụ.

 def hello (* tên):
    "" "Hàm này chào đón tất cả
    người trong bộ tên. "" "

    # tên là một bộ với các đối số
    cho tên trong tên:
        print ("Xin chào", tên)


chào ("Monica", "Luke", "Steve", "John")  

Đầu ra

Xin chào Monica
Xin chào Luke
xin chào Steve
Xin chào John 

Ở đây, chúng tôi đã gọi hàm với nhiều đối số. Các đối số này được gói lại thành một bộ tuple trước khi được chuyển vào hàm. Bên trong hàm, chúng tôi sử dụng vòng lặp for để lấy lại tất cả các đối số.


Xem thêm những thông tin liên quan đến chủ đề đối số của một hàm python

Python Function Argument Unpacking Tutorial (* and ** Operators)

  • Tác giả: Real Python
  • Ngày đăng: 2017-01-17
  • Đánh giá: 4 ⭐ ( 2434 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: https://dbader.org/python-tricks ► Master advanced features in Python with easy to follow code examples

    A really cool but slightly arcane feature is the ability to “unpack” function arguments from sequences and dictionaries with the * and ** operators. These are sometimes also called “splat” operators.

    They’re most frequently used in Python function definitions along with the *args and **kwargs pattern.

    Besides the * operator for unpacking sequences like tuples, lists, and generators into positional arguments there’s also the ** operator for unpacking keyword arguments from dictionaries.

    In this video I’ll give you an introduction to function argument unpacking in Python with a few straightforward examples.

    FREE COURSE – “5 Thoughts on Mastering Python” https://dbader.org/python-mastery
    PYTHON TRICKS: THE BOOK https://dbader.org/pytricks-book

    SUBSCRIBE TO THIS CHANNEL: https://dbader.org/youtube

    * * *

    ► Python Developer MUGS, T-SHIRTS & MORE: https://nerdlettering.com

    FREE Python Tutorials & News:
    » Python Tutorials: https://dbader.org
    » Python News on Twitter: https://twitter.com/@dbader_org
    » Weekly Tips for Pythonistas: https://dbader.org/newsletter
    » Subscribe to this channel: https://dbader.org/youtube

Hàm trong Python là gì – Các hàm trong Python

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 3 ⭐ ( 4825 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cùng tìm hiểu về hàm trong python hay còn gọi là function trong python. Bạn sẽ học được khái niệm hàm trong python là gì, cấu trúc hàm trong python với các thành phần cơ bản như tham số, đối số và gi

Đối số trong Python

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 1685 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chào các bạn Trong bài này, mình sẽ giới thiệu có các bạn về khái niệm Đối số trong Python. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

Đối số của hàm trong Python

  • Tác giả: tek4.vn
  • Đánh giá: 4 ⭐ ( 3246 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Python: Các hàm toán học trong Python

  • Tác giả: www.v1study.com
  • Đánh giá: 4 ⭐ ( 6959 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong Python, một số phép toán toán học có thể được thực hiện một cách dễ dàng bằng cách import một mô-đun có tên là math để xác định các hàm khác nhau g

Python: Đối số và tham số hàm

  • Tác giả: v1study.com
  • Đánh giá: 4 ⭐ ( 3431 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn có thể gọi một hàm bằng cách sử dụng các loại đối số và tham số sau: Đối số bắt buộc Tham số từ khóa Tham số mặc định Tham số có độ dài thay đổi Điểm

[Tự học Python] Đóng gói và giải nén đối số trong Python

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 5804 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xem xét một tình huống trong đó chúng ta có một hàm nhận bốn đối số. Chúng ta muốn thực hiện gọi hàm này và chúng ta có một list của size 4 có tất cả các đối số cho hàm. Nếu chúng ta chỉ đơn giản truyền list tới hàm, cuộc gọi sẽ không hoạt động.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Định vị CSS - Ví dụ về Vị trí Tuyệt đối và Tương đối - css tương đối trên cùng bên trái

By ads_php