Hãy nói về một cái gì đó được gọi là đối số và đối số từ khóa.
Ý tôi là, chúng ta đã thấy điều đó trước đây.
Đúng.
Với một chức năng.
Chúng tôi thực sự có các ký tự đặc biệt này mà chúng tôi có thể sử dụng được gọi là args và args từ khóa star star.
Làm thế nào chúng ta có thể sử dụng chúng?
Vâng, chúng ta hãy xem xét.
Hãy thử và có một chức năng.
Hãy nói xác định và chúng tôi sẽ gọi đây là một trò chơi siêu thú vị.
Đối với siêu hàm nhận một số loại đối số.
Và những lập luận này mà chúng ta sẽ nhận được.
Và hãy nhớ, mặc dù tôi đang gọi những vòng cung này.
Bản thân nó là một tham số, nhớ không?
Nhưng giả sử rằng chúng ta chỉ muốn trả về một số đối số và bạn có thể tự hỏi tại sao một số chúng ta không phải
định nghĩa hàm đó?
Chà, một số thực sự tồn tại trong Python, như bạn có thể thấy ở đây.
Vì vậy, chúng ta chỉ có thể trả về một số đối số.
Vì vậy, chúng ta hãy thử điều này.
Hãy nói siêu func.
Và đưa ra lý lẽ.
Một hai ba bốn năm.
Nếu tôi bấm chạy.
Hừ!
I get in air super funk lấy một đối số vị trí nhưng năm vị trí được đưa ra và điều đó có ý nghĩa đúng không?
Tôi chỉ có một tham số ở đây, đó là một đối số vị trí mà nó chấp nhận.
Và tôi đang cố gắng tổng hợp điều này để nó chỉ nhận được một, nhưng tôi đang đưa nó cho tất cả những thứ mà nó
không biết.
Và đây là nơi chúng ta có thể sử dụng một cái gì đó như thế này bằng cách thêm một ngôi sao vào đây.
Chúng tôi đang nói, này, điều này có thể chấp nhận bất kỳ số lượng đối số vị trí nào như thế này.
Bao nhiêu tùy thích.
Như một vấn đề của thực tế, chúng ta hãy in điều này ra.
Nếu tôi in cung sao và chúng tôi chạy chức năng này.
Chúng ta thấy rằng các vòng cung của ngôi sao in cho chúng ta một, hai, ba, bốn, năm.
Đây là tất cả các tham số hoặc đối số mà chúng tôi nhận được.
Và nếu tôi thực sự xóa dấu sao ở đây và nhấp vào Chạy.
Nhìn kìa.
Tôi thực sự nhận được điều này như một tuple.
Vì vậy, args bên trong của hàm này là một loạt các đối số mà tôi cung cấp cho nó.
Một hai ba bốn năm.
Vì vậy, một số tuple một, hai, ba, bốn, năm sẽ cho chúng ta câu trả lời đúng.
Nó sẽ được in cho chúng tôi.
Câu trả lời.
15.
Rất, rất tuyệt.
Vì vậy, bằng cách này chúng tôi có thể mở rộng.
Và sử dụng sao args của chúng tôi để có một hàm có thể chấp nhận bất kỳ số lượng đối số nào.
Vậy cái này là cái gì bây giờ?
Chà, cái này.
Cho phép chúng tôi sử dụng các đối số từ khóa.
Ví dụ: giả sử tôi có vòng cung từ khóa ngôi sao ngôi sao như thế này.
Và nhân tiện, đây về mặt kỹ thuật có thể là bất cứ điều gì.
Vì vậy, đây là một biến mà chúng tôi đang tạo.
Vì vậy, tôi có thể đặt tên nó là hoo nếu tôi muốn, nhưng tiêu chuẩn là đặt tên nó là args và từ khóa args vì các nhà phát triển khác đang sử dụng nó theo
cách này và đó chỉ là cách nó được thực hiện trong cộng đồng Python.
Bây giờ với các cung từ khóa, như bạn có thể đoán, tôi có thể thêm các từ khóa như num một bằng.
Năm và sau đó num hai bằng mười.
Vì vậy, nếu tôi in args từ khóa và tôi nhấp vào chạy.
Tôi nhận được một cuốn từ điển không có.
Một bằng năm và bây giờ hai bằng mười.
Vì vậy, tôi thực sự có thể làm một cái gì đó như tổng cộng tổng các mục trong args từ khóa.
Và lấy các giá trị.
Đúng.
Chúng tôi đã thấy điều đó trước đây.
Và chúng ta hãy thực sự nắm bắt điều này và thực hiện một vòng lặp for và nói các mục trong các giá trị dấu chấm của vòng cung từ khóa.
Hãy nhớ lấy các giá trị ở đây và ở đây, chỉ cần cộng các tổng số.
Vì vậy, giả sử rằng ở đây tổng số bằng hoặc cộng với các mục bằng và chúng tôi sẽ cộng tổng.
Ở đây mà ban đầu là số không để một số.
Sẽ là một số args cộng với tổng số.
Nếu tôi chạy cái này.
Tôi nhận được 30.
Có vẻ như ngay bây giờ, điều này trông hơi khó hiểu.
Vì vậy, chúng ta hãy đi qua nó.
Chúng ta có các cung sao cho phép chúng ta lấy các đối số vị trí này và chỉ cần tổng hợp mọi thứ.
Và chúng tôi cũng có các vòng cung từ khóa cho phép chúng tôi lấy bất kỳ số lượng đối số từ khóa nào và lấy một từ điển có dạng
vòng cung từ khóa và sau đó sử dụng chúng theo cách chúng tôi muốn.
Trong trường hợp của chúng tôi, chúng tôi đang lặp lại tất cả các giá trị, vì vậy các mục trong giá trị vòng cung của từ khóa, và sau
đó tôi sẽ tính tổng tất cả các mục đó.
Có tổng và chỉ trả về tổng.
Bây giờ, điều này một lần nữa cực kỳ hữu ích vì Superfund của chúng tôi hiện có thể nhận bao nhiêu đối số, bấy nhiêu đối
số vị trí và từ khóa tùy thích.
Bây giờ, một điều cuối cùng.
Có một vai trò của thứ tự mà chúng ta có thể thực hiện đối với các thông số của mình ở đây.
Đúng.
Vì vậy, thứ tự quy tắc này là đầu tiên trong các tham số của chúng tôi.
Chúng tôi có các thông số thực tế của chúng tôi.
Sau đó, chúng ta có thể làm các vòng cung sao, sau đó là các tham số mặc định.
Sau đó Star.
Ngôi sao.
Vòng cung từ khóa.
Hãy để tôi chỉ cho bạn những gì tôi muốn nói.
Nếu chúng ta muốn định nghĩa hàm này, chúng ta muốn đảm bảo rằng nếu chúng ta cung cấp cho nó một tham
số, giả sử như tên.
Điều đó sẽ đến trước các cung sao.
Và nếu chúng ta có các tham số mặc định, thì thông số đó thường phải đến sau cung tròn, nhưng trước cung từ khóa.
Vì vậy, nếu tôi làm vậy, giả sử tôi bằng cao và đảm bảo rằng chúng tôi thêm dấu phẩy ở đây.
Bây giờ chúng tôi đã tuân theo quy tắc.
Và nhân tiện, bạn sẽ không bao giờ thực sự viết một hàm như thế này bởi vì, thành thật mà nói, nó
trông rất khó hiểu.
Thông thường bạn chỉ sử dụng hai trong số này hoặc có thể chỉ một trong số này.
Nhưng theo cách này, tôi có thể gọi hàm này bằng tên và sau đó là args của tôi, sau đó là tham số mặc định của tôi, sẽ là tôi bằng
với cao, giả sử chúng tôi thậm chí không truyền vào.
Và sau đó chúng tôi có cái này.
Vì vậy, nếu chúng ta chạy ở đây.
Điều này vẫn hoạt động.
Chúng tôi chỉ không sử dụng tên và tôi.
Nhưng bạn thấy rằng tôi đang tuân theo quy tắc của params args, tham số mặc định và sau đó là từ khóa arx.
Được rồi.
Hy vọng rằng đầu của bạn không bị tổn thương quá nhiều sau một lần này.
Hãy nghỉ ngơi và tôi sẽ gặp lại bạn trong bài viết tiếp theo.
Tạm biệt.