Làm cách nào để sử dụng dấu hoa thị trong Python?

Chuyển đến nội dung chính

Giới thiệu về Python

Nắm vững kiến ​​thức cơ bản về phân tích dữ liệu với Python chỉ trong bốn giờ. Khóa học trực tuyến này sẽ giới thiệu giao diện Python và khám phá các gói phổ biến

Python trung gian

Nâng cao kỹ năng khoa học dữ liệu của bạn bằng cách tạo trực quan hóa bằng Matplotlib và thao tác với DataFrames bằng gấu trúc

Có liên quan

Các tài nguyên hàng đầu năm 2022 để nâng cao kỹ năng dữ liệu của bạn

Nhận quyền truy cập vào các tài nguyên hoạt động hiệu quả nhất của chúng tôi từ năm 2022, bao gồm hội thảo trên web, bài đăng trên blog, sách trắng, bảng gian lận, hướng dẫn và bài viết, tất cả đều được thiết kế để giúp bạn nâng cao kỹ năng dữ liệu và mở rộng quy mô văn hóa dữ liệu của tổ chức bạn. Bắt đầu học hỏi và phát triển kiến ​​thức chuyên môn về dữ liệu của bạn ngay hôm nay

Dữ liệu văn bản trong Python Cheat Sheet

Chào mừng bạn đến với bảng gian lận của chúng tôi để làm việc với dữ liệu văn bản trong Python. Chúng tôi đã biên soạn một danh sách các hàm và gói hữu ích nhất để dọn dẹp, xử lý và phân tích dữ liệu văn bản trong Python, cùng với các ví dụ và giải thích rõ ràng, vì vậy bạn sẽ có mọi thứ cần biết về cách làm việc với dữ liệu văn bản trong Python.

Hướng dẫn về tập hợp và lý thuyết tập hợp trong Python

Tìm hiểu về bộ Python. chúng là gì, cách tạo chúng, khi nào sử dụng chúng, các chức năng tích hợp và mối quan hệ của chúng với các hoạt động lý thuyết thiết lập

Hướng dẫn về gấu trúc. Khung dữ liệu trong Python

Khám phá phân tích dữ liệu với Python. Pandas DataFrames giúp thao tác dữ liệu của bạn dễ dàng, từ việc chọn hoặc thay thế các cột và chỉ mục để định hình lại dữ liệu của bạn

Xem ThêmXem Thêm

Bây giờ, làm thế nào mà trăn có thể trở nên phổ biến như vậy ngày nay? . Vâng, ma thuật của python cung cấp một số tính năng cho các nhà phát triển. Dấu hoa thị (*) là một trong những phép thuật

1. ma thuật 1. đóng gói

Chúng ta thường sử dụng

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
2 để hiển thị đối tượng ra file stream. Nếu bạn xem tài liệu về chức năng in, tham số
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
3 là đối số đóng gói. Giả sử, bạn muốn in một biến
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
4 và thêm tiền tố
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
5. Bạn chỉ có thể viết

>>> text = "Work From Home"
>>> print("sentence:", text)
sentence: Work From Home

Điều này là do các đối số của bạn được chuyển vào

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
2 đều được đóng gói trong biến
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
7. Tiền tố dấu hoa thị (*) trong biến
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
8 được sử dụng để nói với python rằng đó là một đối số đóng gói, “Dear python, accept all argument. ”. Bạn làm điều này giống như khi bạn truyền nhiều đối số. Vì vậy, bạn thực sự có thể chuyển bất kỳ số lượng đối số nào vào hàm

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")

Làm thế nào điều này có thể được?

Bây giờ, hãy tạo chức năng của riêng chúng ta để làm sáng tỏ điều này

Hàm này sẽ nhận bất kỳ số lượng đối số nào bạn vượt qua. Chúng tôi in toàn bộ đối tượng, chúng tôi sẽ xem nó thuộc loại nào và chúng tôi sẽ thực hiện một vòng lặp (chờ đã, cái gì?). Nếu bạn chuyển các đối số dài này vào hàm,

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))

Chúng tôi sẽ có một đầu ra dưới đây

ảo thuật rất hay

Hóa ra Python coi các đối số đóng gói của chúng ta là một

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
9. Vì vậy, chúng ta có thể thực hiện bất kỳ thao tác nào giống như bất kỳ bộ dữ liệu nào khác, chẳng hạn như lập chỉ mục hoặc lặp

Dấu hoa thị duy nhất (*) này mang đến cho chúng ta điều kỳ diệu tuyệt vời. Còn về việc chúng ta thêm một dấu hoa thị khác để trở thành dấu hoa thị kép (**) thì sao?

Nếu bạn đã từng sử dụng hàm Matplotlib

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
0, bạn có thể đã gặp một tham số có tên là
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
1. Đây cũng là một đối số đóng gói, như một phần bổ sung cho đối số đóng gói
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
2. Bạn có thể đã thử chuyển đối số từ khóa
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
3 vào hàm, nhưng bạn không thể tìm thấy đối số đó trong danh sách tham số. Điều này được xử lý bằng đối số đóng gói dấu hoa thị kép. Hãy tạo một hàm khác tương tự như hàm trước để làm sáng tỏ điều này

Đối số từ khóa là một đối số đứng trước một mã định danh (e. g.

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
4)

Bây giờ, hãy thử gọi hàm này với các đối số bên dưới

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
6

Chúng tôi sẽ nhận được đầu ra như thế này

Vì vậy, bằng cách đặt trước một tham số có dấu hoa thị kép (**) sẽ coi nó như một đối số đóng gói tạo ra một từ điển Python. Tên từ khóa sẽ đóng vai trò là khóa từ điển và đối số sẽ đóng vai trò là giá trị từ điển. Do đó, khi chúng ta vượt qua

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
5, Python sẽ coi nó như một cuốn từ điển
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
6. Từ điển đầy đủ các lập luận của chúng tôi ở trên giống như dưới đây

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
9

Một ví dụ về mức độ hữu ích của phép thuật này bằng cách tạo chức năng của riêng chúng tôi, chẳng hạn như tạo một thẻ HTML (được truyền cảm hứng mạnh mẽ bởi Trey Hunner)

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
0

Nếu bạn muốn tạo thẻ hình ảnh, bạn chỉ cần gõ cú pháp bên dưới

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
1

2. ma thuật 2. giải nén

Phép thuật ngược lại của lập luận đóng gói, tất nhiên, theo cách ngữ pháp, giải nén. Giải nén sẽ tốt, giải nén, tất cả python có thể lặp lại. Hãy sử dụng lại chức năng

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
2. Nếu bạn định nghĩa một danh sách
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 như bên dưới rồi in ra, bạn sẽ nhận được

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
4

Bây giờ, nếu bạn thêm dấu hoa thị (*) trước

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 bên trong hàm in, bạn sẽ nhận được

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
6

Ảo thuật

Dấu hoa thị (*) before

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 sẽ giải nén các mục trong
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 thành các đối số riêng biệt được chuyển vào hàm in, do đó, dấu hoa thị sẽ hoạt động khi chúng ta chuyển các đối số như
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
62. Hãy đi sâu vào

Ở đây, tôi đã tạo một hàm đơn giản

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
63 chấp nhận bất kỳ số lượng đối số nào được đóng gói trong
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
64. Hàm này chỉ in các đối số và kiểu dữ liệu

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
2

Sau đó, chúng tôi chuyển

demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 và
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
66 làm đối số. Đầu ra của hai thí nghiệm này, tương ứng, là

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
0

Như chúng ta đã biết, bất kỳ số lượng đối số nào cũng sẽ được đóng gói bởi

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
64 do đó loại luôn là một bộ. Sự khác biệt là
demystify_single_asterisk(a, text, ["text one", "text two"], {"your", "set"}, 100, .30, {"this": "is", "your": "dict"}, ("tuple", "too"))
8 chuyển một danh sách, nhưng
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
66 sẽ giải nén nó trước và chuyển nhiều đối số giống như chúng ta chuyển
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
90 vào hàm

Một tiện ích khác sử dụng phép thuật này khi nó được sử dụng để giải nén có thể lặp lại trong một nhiệm vụ (được giới thiệu lần đầu trong PEP 3132). Dưới đây là một số ví dụ

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
1

Phía bên trái của toán tử sẽ được gán các mục từ

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
91 với
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
92 là mục đầu tiên,
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
93 là mục thứ hai và
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
94 là mục thứ ba. Đối với biến
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
95, chúng ta sẽ nhận được tất cả các mục còn lại nhờ phép thuật giải nén. Bạn có thể muốn thử một nhiệm vụ khác, chẳng hạn như
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
96, kết quả là
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
97 bằng với
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
98

Đó là nó

Chúng tôi chỉ đề cập đến việc đóng gói và giải nén trong bài viết này, nhưng có những điều kỳ diệu khác vẫn tồn tại như dấu hoa thị trong

>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
99 hoặc
>>> print("this", "could", "work", "too.", "But,", "a", "waste", "of", "time")
00 theo nghĩa đen và cách sử dụng trong các đối số chỉ từ khóa và đối số vị trí với các đối số chỉ từ khóa. Chúng tôi sẽ đề cập đến chúng trong bài viết tiếp theo

'*' nghĩa là gì trong Python?

được sử dụng để truyền một số đối số có thể thay đổi cho một hàm , nó chủ yếu được sử dụng để truyền một đối số và biến không phải là khóa . Nó có nhiều cách sử dụng, một ví dụ như vậy được minh họa bên dưới, chúng tôi tạo một hàm cộng nhận bất kỳ số lượng đối số nào và có thể cộng tất cả chúng lại với nhau bằng cách sử dụng *args.

Biểu tượng dấu hoa thị được sử dụng để làm gì trong Python?

Dấu hoa thị cho đóng gói các đối số được cung cấp cho hàm . Các đối số này được ghi vào một Tuple. Các hàm in và zip của Python chấp nhận bất kỳ số lượng đối số vị trí nào.

* được gọi bằng Python là gì?

Đối số *args được gọi là " tham số vị trí biến " và **kwargs là "tham số từ khóa biến".

* trước biến Python là gì?

Toán tử dấu hoa thị (dấu sao) được sử dụng trong Python với nhiều hơn một nghĩa đi kèm với nó. Dấu hoa thị đơn được sử dụng trong khai báo hàm cho phép số lượng đối số thay đổi được truyền từ môi trường gọi . Bên trong chức năng, nó hoạt động như một tuple.