Hướng dẫn what is * in python function argument? - * trong đối số hàm python là gì?

Tranh luận

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

def greet(name, msg):
    """This function greets to
    the person with the provided message"""
    print("Hello", name + ', ' + msg)

greet("Monica", "Good morning!")

Đầu ra

Hello Monica, Good morning!

Ở đây, hàm

Hello Monica, Good morning!
3 có hai tham số.

Vì chúng tôi đã gọi chức năng này với hai đối số, nó 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ố lượng đối số khác nhau, trình thông dịch sẽ hiển thị thông báo lỗi. Dưới đây là một cuộc gọi đến chức năng này với một và không có đối số cùng với thông báo lỗi tương ứng của chúng.

>>> greet("Monica")    # only one argument
TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet()    # no arguments
TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

Đối số chức năng biến

Cho đến bây giờ, các chức năng 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ể lấy số lượng đối số khác nhau.

Ba hình thức khác nhau của loại này được mô tả dưới đây.

Đối số mặc định của Python

Đối số chức năng có thể có cá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 greet(name, msg="Good morning!"):
    """
    This function greets to
    the person with the
    provided message.

    If the message is not provided,
    it defaults to "Good
    morning!"
    """

    print("Hello", name + ', ' + msg)


greet("Kate")
greet("Bruce", "How do you do?")

Đầu ra

Hello Kate, Good morning!
Hello Bruce, How do you do?

Ở đây, hàm

Hello Monica, Good morning!
3 có hai tham số.

Vì chúng tôi đã gọi chức năng này với hai đối số, nó 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ố lượng đối số khác nhau, trình thông dịch sẽ hiển thị thông báo lỗi. Dưới đây là một cuộc gọi đến chức năng này với một và không có đối số cùng với thông báo lỗi tương ứng của chúng.

Đối số chức năng biến

def greet(msg = "Good morning!", name):

Cho đến bây giờ, các chức năng 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ể lấy số lượng đối số khác nhau.

SyntaxError: non-default argument follows default argument

Ba hình thức khác nhau của loại này được mô tả dưới đây.

Đối số mặc định của Python

Đối số chức năng có thể có cá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ụ.

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

Mặt khác, tham số

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

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

greet(name="Bruce","How do you do?")

Điều này có nghĩa là để nói, 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 tôi đã xác định tiêu đề chức năng ở trên là:

Hello Monica, Good morning!
0

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

Đối số từ khóa Python

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

Hello Monica, Good morning!
1

Đầu ra

Hello Monica, Good morning!
2

Ví dụ: trong hàm trên

Hello Monica, Good morning!
3, khi chúng tôi gọi nó là
Hello Monica, Good morning!
8, giá trị
Hello Monica, Good morning!
9 được gán cho tên đối số và tương tự
>>> greet("Monica")    # only one argument
TypeError: greet() missing 1 required positional argument: 'msg'
0 với MSG.

Có nghĩa là * có nghĩa là gì trong chức năng Python?

Toán tử dấu hoa thị (STAR) được sử dụng trong Python với nhiều hơn một nghĩa được gắn vào nó. Đối với các loại dữ liệu số, * được sử dụng làm toán tử nhân >>> a = 10; b = 20 >>> a * b 200 >>> a = 1.5; b = 2,5; >>> a*b 3.75 >>> a = 2+3j; B = 3+2J >>> A*B 13J.multiplication operator >>> a=10;b=20 >>> a*b 200 >>> a=1.5; b=2.5; >>> a*b 3.75 >>> a=2+3j; b=3+2j >>> a*b 13j.

Có nghĩa là * có nghĩa là gì trước một cuộc tranh luận trong Python?

*Args cho phép chúng tôi chuyển một số lượng các đối số không phải là Keykord cho hàm Python.Trong hàm, chúng ta nên sử dụng dấu hoa thị ( *) trước tên tham số để chuyển một số lượng đối số biến.def add (*args): in (args, gõ (args)) thêm (2, 3)allows us to pass a variable number of non-keyword arguments to a Python function. In the function, we should use an asterisk ( * ) before the parameter name to pass a variable number of arguments. def add(*args): print(args, type(args)) add(2, 3)

Có nghĩa là gì trong biến Python?

Asterisk là một toán tử trong Python thường được gọi là biểu tượng nhân khi được sử dụng giữa hai số (2 * 3 sẽ tạo ra 6) nhưng khi nó được chèn vào đầu một biến, chẳng hạn như có thể lặp lại, như danh sách hoặc từ điển, nó mở rộng nội dung của biến đó.expands the contents of that variable.

Loại nào * args python?

Đối với các đối số vị trí thay đổi ( *args) và đối số từ khóa biến (** kW), bạn chỉ cần chỉ định giá trị dự kiến cho một đối số đó.