Ngôn ngữ lập trình Python sử dụng cả * và ** trên các ngữ cảnh khác nhau. Trong bài viết này, chúng ta sẽ xem cách sử dụng hai thứ này như thế nào và các trường hợp hữu ích tương ứng là gì.
Với tư cách là nhà điều hành Infix
Khi * được sử dụng làm toán tử infix, về cơ bản, nó cung cấp tích số toán học của các con số. TRONG ví dụ dưới đây, chúng tôi lấy số nguyên. Số thực và số phức để nhân và nhận kết quả.
Ví dụ
# Integers x = 20 y = 10 z = x * y print(z,"\n") # Floats x1 = 2.5 y1 = 5.1 z1 = x1 * y1 print(z1,"\n") # Complex Numbers x2 = 4 + 5j y2 = 5 + 4j z2 = x2 * y2 print(z2,"\n")
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
200 12.75 41j
Chúng tôi cũng có thể sử dụng nó làm toán tử infix để mở rộng chuỗi.
Ví dụ
str = "Point-" print(str * 4,"\n") List = [4, 5, 6] print(List * 3,"\n") Tuple = (9, 8, 7) print(Tuple * 2)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Point-Point-Point-Point- [4, 5, 6, 4, 5, 6, 4, 5, 6] (9, 8, 7, 9, 8, 7)
Với tư cách là nhà khai thác tiền tố
Chúng ta có thể sử dụng một dấu hoa thị làm tiền tố. Các ví dụ dưới đây mô tả các ví dụ khác nhau về cách chúng tôi có thể sử dụng nó làm tiền tố.
Mở rộng một tệp có thể lặp lại
Một danh sách có thể lặp lại như danh sách hoặc tuple có thể được mở rộng bằng cách chỉ thêm dấu hoa thị vào trước tên của nó.
Ví dụ
week_days =['Mon','Tue','Wed','Thu','Fri'] print(week_days)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Mon Tue Wed Thu Fri
Lấy số lượng đối số thay đổi
Chúng ta có thể cung cấp số lượng đối số thay đổi cho một hàm bằng cách sử dụng một biểu tượng dấu hoa thị. Nó được hiển thị trong chương trình dưới đây.
Ví dụ
def many_sums(*args): res = 0 # Iterating over the Python args tuple for x in args: res = res + x return res print(many_sums(1, 2)) print(many_sums(11, 21, 30)) print(many_sums(5.5,0))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
3 62 5.5
Sử dụng **
Dấu hoa thị kép được sử dụng cho các đối số dựa trên từ khóa. Ở đây, đối số được chuyển vào dưới dạng từ điển chứ không phải dưới dạng các giá trị riêng lẻ.
Ví dụ
def join_keys(**kwargs): result = "" # Iterating over kwargs dictionary keys for arg in kwargs.keys(): result += arg return result def join_values(**kwargs): result = "" # Iterating over kwargs dictionary values for arg in kwargs.values(): result += arg return result print(join_keys(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-")) print(join_values(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
day1day2day3day4 Mon-Tue-Wed-Thu-