Một số thủ thuật hay trong Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức
Copy một list
Giả dụ chúng ta có đoạn code sau:
>>> A = [1, 2, 3, 4, 5]
>>> B = A
thì nếu chúng ta in list B thì sẽ được các phần tử của list A, nhưng thực ra B chỉ là một biến tham chiếu đến A trong bộ nhớ, tức là thực chất trong bộ nhớ chỉ có 1 list [1, 2, 3, 4, 5] và cả A và B cùng trỏ đến list đó chứ không phải A và B có 2 list giống nhau.
>>> C = A[:]
Còn trong dòng code trên thì chúng ta mới thực sự tạo ra một list khác là C có các phần tử giống như list A.
Bây giờ chúng ta thử đổi một phần tử trong list A:
>>> A[0] = 8
>>> A
>>> [8, 2, 3, 4, 5]
>>> B
>>> [8, 2, 3, 4, 5]
>>> C
>>> [1, 2, 3, 4, 5]
Rõ ràng khi in list A và B đều cho kết quả giống nhau vì chúng cùng tham chiếu tới một list, nhưng C thì lại khác vì các phần tử trong list C tồn tại độc lập.
Việc làm python các công ty lớn
Khởi tạo giá trị mặc định cho đối tượng Dictionary
Các đối tượng Dictionary được tạo ra là rỗng. Nhiều khi chúng ta làm việc với Dictionary mà không biết khóa đó có giá trị hay chưa nên truy xuất giá trị sẽ bị lỗi, do đó chúng ta có thể dùng phương thức get() rồi truyền thêm giá trị mặc định vào, tức là nếu khóa đó không có giá trị thì Python sẽ gán giá trị mặc định vào luôn.
>>> D = dict()
>>>> D['cat'] += 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'cat'
>>> D['cat'] = D.get('cat', 0) + 1
>>> D['cat']
1
>>> D['cat'] = D.get('cat', 0) + 1
>>> D['cat'] = D.get('cat', 0) + 1
>>> D['cat'] = D.get('cat', 0) + 1
>>> D['cat'] = D.get('cat', 0) + 1
>>> D['cat']
5
>>> D['dog'] = D.get('dog', 0) + 1
>>> D['dog'] = D.get('dog', 0) + 1
>>> D['dog'] = D.get('dog', 0) + 1
>>> D['dog']
3
>>> D
{'dog': 3, 'cat': 5}
Gán nhiều giá trị cùng một lúc
Bạn có thể gán một lúc nhiều giá trị vào nhiều biến. Tính năng này đặc biệt hữu ích cho việc hoán đổi giá trị giữa 2 phần tử. Với Python bạn không cần phải khai báo biến tạm như temp = a; a = b; b = temp; để thực hiện công việc hoán đổi giá trị nữa.
>>> x, y = 1, 2 #multiple assignment
>>> x
1
>>> y
2
>>> x, y = y, x #swapping
>>> x
2
>>> y
1
>>> Xem thêm: Python cơ bản cho ứng dụng trong công việc
Có thể gọi bất cứ thứ gì
Chúng ta có thể hầu như gọi bất cứ thứ gì một cách ngẫu nhiên nhưng thường thì cũng không nên làm như vậy vì sẽ rất khó kiểm soát.
>>> number = '123'
>>> number*2
'123123'
>>> # hmmm ...
...
>>> int(number) * 2
246
>>> i = int
>>> i(number) * 2
246
Đặt tên biến Unicode
Để có thể sử dụng tên Unicode thì chúng ta viết code trong file script là lưu lại với định dạng UTF-8.
>>> biến = 1
>>> print(biến)
Truyện tranh Python
Bạn có thể import antigravity để… mở một trang truyện tranh về Python trên trình duyệt
import antigravity
Cú pháp for…else
Ví dụ:
for i in foo:
if i == 0:
break
else:
print("Hello world!")
Cú pháp điều kiện
Thay vì dùng câu lệnh if..else như thường chúng ta có thể dùng nhanh cú pháp sau đây:
>>> x = 3 if(y == 1) else 2
Dòng trên có nghĩa là nếu y = 1 thì gán x = 3, ngược lại thì gán x = 2. Cú pháp này giống như toán tử ?: trong C++, Java… vậy.
Đảo Ngược Chuỗi
Thao tác đảo ngược một chuỗi trong Python có thể được thực hiện thông qua sử dụng kỹ thuật đơn giản sau:
site_domain = "codehub.vn"
print site_domain[::-1]
Không có gì là phức tạp phải không nào.
Gán Giá Trị Cho Nhiều Biến Từ Phần Tử Trong Danh Sách
Giả sử chúng ta có một biến my_numbers với giá trị thuộc kiểu dữu liệu danh sách và gồm có 3 phần tử như sau:
my_numbers = [1,2,3]
Bây giờ để gán giá trị cho 3 biến mới lấy từ 3 phần tử của danh sách trên chúng ta làm như sau:
my_numbers = [1, 2, 3]
first, second, third = my_numbers
Bây giờ 3 biến first, second và third lúc này nhận 3 giá trị tương ứng là 1, 2 và 3.
Nối Các Phần Tử Trong Danh Sách Để Tạo Chuỗi
Giả sử chúng ta có biến my_list với kiểu dữ liệu danh sách như sau:
my_list = ["CodeHub.vn", "Learn", "Code", "Everyday"]
Để nối các phần tử trong chuỗi này bạn có thể làm như sau:
print " ".join(my_list)
Kết quả hiển thị của đoạn câu lệnh trên:
CodeHub.vn Learn Code Everyday
>>> Xem thêm: Tuyển tập chuẩn “sách giáo khoa” Python
“Zip” Phần Tử Của Hai Hay Nhiều Danh Sách
Giả sử bạn có hai danh sách như sau:
my_numbers = ['1', '2', '3']
my_numbers_in_english = ['first', 'second', 'third']
Và bạn được yêu cầu viết một đoạn code Python để hiển thị kết quả như sau:
1 first
2 second
3 third
Thì lúc này bạn có thể sử dụng hàm zip:
for a, b in zip(my_numbers, my_numbers_in_english):
print a, b
Rất hữu ích phải không nào, chúng ta nhận được kết quả như ý muốn với số lượng đoạn code tối thiểu phải viết điểu này không phải lúc nào cũng dễ dàng với các ngôn ngữ script khác.
Chúc các bạn học tập tốt.
Bài viết gốc được đăng tải tại ucode.vn
Có thể bạn quan tâm:
- 20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp
- 26 công cụ và kỹ thuật trong Big Data có thể bạn chưa biết
- 11 tip học Python dành cho các “newbie”
Xem thêm các việc làm it nhiều ngành nghề hấp dẫn tại TopDev
- G Giải Quyết Bài Toán Kinh Doanh Bằng Big Data và AI
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước