Lớp python với nhiều đối số

Trong bài viết này, chúng ta sẽ thảo luận về cách xác định một hàm trong python có thể chấp nhận các đối số có độ dài thay đổi

Giả sử ta có hàm tính trung bình cộng của 3 số i. e

def average[a , b, c]:
    ''' Function To calculate the average of 3 numbers '''
    return [a+b+c]/3

Bây giờ, hãy sử dụng hàm này,
avg = average[1 , 2, 3]

Nhưng nếu chúng ta muốn tính trung bình cộng của các số lớn hơn 3 trong số đếm thì sao?. e.
______2
hoặc
23,1,3,16,78

Chúng ta không thể sử dụng hàm average[] đã xác định ở trên . Vì vậy, trong trường hợp đó, chúng ta cần tạo thêm chức năng hoặc sử dụng các đối số mặc định, v.v.

Nhưng có một giải pháp dễ dàng, đối với loại kịch bản này, chúng ta có thể tạo một hàm chấp nhận n số đối số. Hãy xem làm thế nào để làm điều đó,

Xác định hàm có thể chấp nhận các đối số có độ dài thay đổi

Python cung cấp một cơ chế để chúng ta có thể nhận các đối số có độ dài thay đổi trong hàm i. e có ký hiệu *.
Đặt trước ký hiệu * này với bất kỳ tham số nào trong định nghĩa hàm sẽ làm cho tham số đó xử lý các đối số có độ dài thay đổi i. e.

def calculateAverage[*args]:
   ....
   ....

Giờ đây, hàm này có thể chấp nhận các đối số có độ dài thay đổi và sẽ lưu trữ tất cả các đối số trong một bộ có tên args. Nói chung, tên tham số này là args nhưng chúng tôi có thể cung cấp bất kỳ tên nào.

quảng cáo

Hãy tạo một hàm có thể tính giá trị trung bình của các số có độ dài thay đổi i. e

def calculateAverage[*args]:
    ''' Calculates the average of n numbers | Accepts variable length arguments '''
    # get the number of total arguments passed 
    argCount = len[args]
    if argCount > 0 :
        sumOfNums = 0
        # Iterate over all the arguments and calculate average
        for elem in args :
            sumOfNums += elem
        return sumOfNums / argCount
    else:
        return 0

Bây giờ chúng ta có thể gọi hàm này với các đối số có độ dài thay đổi i. e.
______6
Giá trị trung bình sẽ là 4. 333333333333333
# Calculate the average of 7 numbers
avg = calculateAverage[23,1,3,4,5,6,7]

Giá trị trung bình sẽ là 7. 0

Bên trong hàm này args sẽ có kiểu tuple. Vì vậy, chúng ta có thể lấy tổng số đối số được truyền bằng cách gọi hàm len[] của tuple args i. e

argCount = len[args]

Chúng ta cũng có thể lặp qua tất cả các đối số bằng cách lặp qua bộ i. e.
______9

Điểm quan trọng về *args

Định vị tham số *args

Trong khi xác định một hàm, chúng ta cũng có thể thêm các tham số khác cùng với *args. Nhưng chúng ta cần đảm bảo rằng tham số *args phải luôn ở sau các đối số chính thức i. e

avg = average[1 , 2, 3]
0
Hãy gọi hàm này,
avg = average[1 , 2, 3]
1
Đầu ra.
____12

Đối số độ dài thay đổi có thể thuộc bất kỳ loại nào

Trong tham số *arg , chúng ta có thể truyền các đối số thuộc các loại khác nhau. Ví dụ: hãy chuyển một danh sách, một bộ và chuỗi làm đối số trong tham số *args i của hàm trên. e

avg = average[1 , 2, 3]
3
Đầu ra.
______14
Ví dụ hoàn chỉnh như sau,
avg = average[1 , 2, 3]
5
Đầu ra.
______16
 

 

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Một lớp có thể có nhiều __ init __ không?

Một lớp có thể có một hàm tạo __init__ có thể thực hiện bất kỳ hành động nào khi thể hiện của lớp được tạo. Hàm tạo này có thể được tạo cho các hàm khác nhau thực hiện các hành động khác nhau dựa trên các đối số được truyền.

Một lớp Python có thể có 2 hàm tạo không?

Cung cấp nhiều hàm tạo với @classmethod trong Python. Một kỹ thuật hiệu quả để cung cấp nhiều hàm tạo trong Python là sử dụng @classmethod . Trình trang trí này cho phép bạn biến một phương thức thông thường thành một phương thức lớp. Không giống như các phương thức thông thường, các phương thức lớp không lấy thể hiện hiện tại, self, làm đối số.

Một lớp có thể có đối số Python không?

Bất kỳ phương thức lớp nào cũng phải có self làm đối số đầu tiên . [Tên có thể là bất kỳ tên biến hợp lệ nào, nhưng tên self là một quy ước được thiết lập rộng rãi trong Python. ] self đại diện cho một thể hiện [tùy ý] của lớp.

Một lớp có thể có nhiều đối tượng trong Python không?

Có thể sử dụng một định nghĩa lớp duy nhất để tạo nhiều đối tượng . Như đã đề cập trước đây, các đối tượng là độc lập.

Chủ Đề