- vừa được xem lúc

Sự ảo ma của * trong Python

0 0 15

Người đăng: Sang Hà Ngọc

Theo Viblo Asia

Trong bài viết này, mình sẽ chém gió về một số cách sử dụng khác nhau của a.k.a "*" trong Python

Ảnh của Paints with Diamonds

Tạo collections với các phần tử lặp lại:

collections = [1, 2, 3] * 2
print(collections)
# output: [1, 2, 3, 1, 2, 3]

Chúng ta hoàn toàn có thể áp dụng tương tự với tuple hay chuỗi:

collections = (1, 2, 3) * 2
print(collections)
# output: (1, 2, 3, 1, 2, 3)
strings = "VN" * 2
print(strings)
# output: VNVN

Unpacking tập hợp tuần tự thành các biến riêng biệt

collections = (4, 5)
x, y = collections
print(x, y)
# output: 4 5

Với các biến mà ta không sử dụng ta có thể sử dụng _ để biểu diễn:

data = ['VietNam', 84, 100, 'VN']
country, country_code, population, short_name = data
print(country, country_code, population, short_name)
# output: VietNam 84 100 VN
country, country_code, population, _ = data
print(country, country_code, population)
# output: VietNam 84 100

Các tiêu đề sau mình xin mạn phép để tiếng anh vì dịch ra thì nghe nó cũng khá thô và cũng không sát nghĩa lắm :V

Unpacking Elements from Iterables of Arbitrary Length Lấy tất cả các phần tử ở giữa của list:

grades = [1, 2, 3, 4, 5]
first, *middle, last = grades
print(first, middle, last)
# output: 1 [2, 3, 4] 5

Lấy tất cả các phần tử còn lại của list:

record = ('VN', 'vn@example.com', '0773555121', '0847555212')
name, email, *phone_numbers = record
print(name, email, phone_numbers)
# output: VN vn@example.com ['0773555121', '0847555212']

Dùng vài cái * một lúc nó sẽ như này:

record = ('FUKADA', 50, 123.45, (12, 18, 2012))
name, *_, (*_, year) = record
print(name, year)
# output: FUKADA 2012

args and kwargs Hãy thử xem hàm dưới đây:

def calculate(a,b,*args,**kwargs): print(a, b) print(arg) for key in kwargs: print(key, kwargs[key])
calculate(2, 3, 4, 5, 6, num1=8,num2=9)
# output: 2 3
# (4, 5, 6)
# num1 8
# num2 9

Merging Different Types Of Iterables

var1 = (1,2,3)
var2 = {4,5,6}
collections = [*var1, *var2]
print(collections)
#output: [1, 2, 3, 4, 5, 6]

Merging Two Dictionaries

dict1 = {'key1':1,'key2':2}
dict2 = {'key3':3,'key4':4}
dict = {**dict1, **dict2}
print(dict)
#output: {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lập Trình Hướng Đối Tượng trong Python

Chào các bạn Trong bài này, bạn sẽ tìm hiểu về Lập trình hướng đối tượng (OOP) bằng Python và khái niệm cơ bản của nó và một số các ví dụ. Các bạn cùng tìm hiểu trong bài viết của mình nhé.

0 0 35

- vừa được xem lúc

Lớp trong Python

. Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại hoặc dịch lại theo ngôn ngữ của mình).

0 0 17

- vừa được xem lúc

Tìm hiểu về thư viện Numpy trong Python(Phần 3)

Trong bài viết trước tôi đã giới thiệu cho bạn về NumPy, tìm hiểu về Mảng trong NumPy. Trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về các kiểu dữ liệu khác trong NumPy.

0 0 128

- vừa được xem lúc

Hướng dẫn cài đặt Anaconda trên Ubuntu

Anaconda là một nền tảng mã nguồn mở về Data Science và Machine Learning trên Python thông dụng nhất hiện nay, Anaconda có vai trò đơn giản hóa việc triển khai và quản lí các gói cài đặt khi làm việc với Python. Anaconda được cài đặt dễ dàng trên 3 nền tảng hệ điều hành thông dụng hiện nay là Ubuntu

0 0 31

- vừa được xem lúc

Tùy chỉnh Exceptions trong Python

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về cách tùy chỉnh các Exceptions trong Python.Mình sẽ giải thích cho các bạn hiểu và cách xử dụng chúng.

0 0 24

- vừa được xem lúc

Không gian tên(namspace) và phạm vi(scope) trong Python

. Khi mình ngồi học và dịch bài "Class trong Python" cho sê-ri "Khám Phá Đại Bản Doanh Python", mình đã đụng hai bạn này, và các bạn thật là trừu tượng và khó gặm. Thế là mình tìm kiếm và viết bài này để hiểu rõ hơn về hai bạn ấy, hi vọng bạn đọc thêm để hiểu về Python nhé.

0 0 34