Làm thế nào để có được kích thước của cửa sổ PyGame?
Trong bài viết này, chúng ta sẽ tìm hiểu Cách lấy kích thước của Cửa sổ PyGame...
Category: Python
Trong Python, args và *kwargs được sử dụng để cho phép các hàm chấp nhận một số lượng đối số tùy ý. Các tính năng này cung cấp tính linh hoạt tuyệt vời khi thiết kế các hàm cần xử lý một số lượng đầu vào khác nhau.
Ví dụ:
# ví dụ *args
def fun(*args):
return sum(args)
print(fun(1, 2, 3, 4))
print(fun(5, 10, 15))
# ví dụ **kwargs
def fun(**kwargs):
for k, val in kwargs.items():
print(k, val)
fun(a=1, b=2, c=3)
Đầu ra:
10
30
a 1
b 2
c 3
Có hai ký hiệu đặc biệt để truyền nhiều đối số:
Các ký hiệu đặc biệt được sử dụng để truyền đối số trong Python:
*args (Đối số không phải từ khóa)
**kwargs (Từ khóa đối số)
Cú pháp đặc biệt *args trong định nghĩa hàm được sử dụng để truyền một số lượng biến đổi các đối số cho một hàm. Nó được sử dụng để truyền một danh sách đối số có độ dài biến đổi, không có từ khóa.
Ví dụ, chúng ta muốn tạo một hàm nhân có thể lấy bất kỳ số lượng đối số nào và có thể nhân tất cả chúng lại với nhau. Có thể thực hiện bằng cách sử dụng *args.
Sử dụng biến mà chúng ta liên kết với sẽ trở thành biến có thể lặp lại, nghĩa là bạn có thể thực hiện các thao tác như lặp lại biến đó, chạy một số hàm bậc cao hơn như map và filter, v.v.
Ví dụ 1:
def myFun(*argv):
for arg in argv:
print(arg)
myFun('Hello', 'Welcome', 'to', 'GeeksforGeeks')
Đầu ra:
Hello
Welcome
to
GeeksforGeeks
Ví dụ 2:
Chương trình Python minh họa *args với đối số bổ sung đầu tiên.
def fun(arg1, *argv):
print("First argument :", arg1)
for arg in argv:
print("Argument *argv :", arg)
fun('Hello', 'Welcome', 'to', 'GeeksforGeeks')
Đầu ra:
First argument : Hello
Argument *argv : Welcome
Argument *argv : to
Argument *argv : GeeksforGeeks
Cú pháp đặc biệt kwargs trong định nghĩa hàm được sử dụng để truyền danh sách đối số có độ dài thay đổi. Chúng tôi sử dụng tên kwargs với dấu sao kép .
Đối số từ khóa là nơi bạn cung cấp tên cho biến khi truyền nó vào hàm.
Nó thu thập tất cả các đối số từ khóa bổ sung được truyền vào hàm và lưu trữ chúng trong một từ điển.
Ví dụ 1:
def fun(**kwargs):
for k, val in kwargs.items():
print("%s == %s" % (k, val))
# Driver code
fun(s1='Geeks', s2='for', s3='Geeks')
Đầu ra:
s1 == Geeks
s2 == for
s3 == Geeks
Đối với s1='Geeks', s1 là khóa và 'Geeks' là giá trị. Nói một cách đơn giản, những gì chúng ta gán là giá trị và người chúng ta gán là khóa.
Ví dụ 2:
def fun(arg1, **kwargs):
for k, val in kwargs.items():
print("%s == %s" % (k, val))
# Driver code
fun("Hi", s1='Geeks', s2='for', s3='Geeks')
Đầu ra:
s1 == Geeks
s2 == for
s3 == Geeks
Chúng ta có thể sử dụng cả args và *kwargs trong cùng một hàm để chấp nhận kết hợp các đối số theo vị trí và từ khóa.
Ví dụ:
def fun(*args, **kwargs):
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
fun(1, 2, 3, a=4, b=5)
Đầu ra:
Positional arguments: (1, 2, 3)
Keyword arguments: {'a': 4, 'b': 5}
Trong ví dụ này, fun có thể xử lý cả đối số vị trí và đối số từ khóa. Tham số args thu thập các đối số vị trí vào một tuple, trong khi tham số kwargs thu thập các đối số từ khóa vào một từ điển.
Published on Jun 17, 2025
Trong bài viết này, chúng ta sẽ tìm hiểu Cách lấy kích thước của Cửa sổ PyGame . Lập trình game ngày nay rất bổ ích và có thể được sử dụng trong...
Giao diện người dùng đồ họa ( GUI ) đóng vai trò then chốt trong việc nâng cao tương tác và trải nghiệm của người dùng. Python, được biết đến với....
Python Module là một tệp chứa các hàm, lớp, its và biến tích hợp. Có nhiều module Python , mỗi module có chức năng riêng. Trong bài viết nà...
Python MySQL Connector là trình điều khiển Python giúp tích hợp Python và MySQL. Thư viện Python MySQL này cho phép chuyển đổi giữa các kiểu dữ liệu...
MongoDB là một cơ sở dữ liệu NoSQL phổ biến được thiết kế để lưu trữ và quản lý dữ liệu một cách linh hoạt và có quy mô. Không giống như các cơ sở...
Quản lý thư mục Python đề cập đến việc xử lý và tương tác với các thư mục (folder) trên hệ thống tệp bằng Python. Nó bao gồm việc tạo, xóa, điều hướng...