Python - Những Tip cho những người mới

Python - Những Tip cho những người mới

[translate]Python - Useful Tips for Beginners

Awesome

Những năm gần đây Python là một ngôn ngữ mới nổi lên như 1 hiện tượng. Python đã được tạo ra từ rất lâu rồi cùng thời với PHP đóa nhưng do cú pháp và sự contribute các thư viện khá lớn ở tất cả các lĩnh vực cho nên nó phát triển đến vậy. Theo đà mình cũng đang tự học Python để làm những điều mới mẻ. Cùng nhau tìm hiểu những tip cho người mới sử dụng Python với mình nhé. Do vậy hôm nay mình chọn reup lại bài với nội dung này. Nếu có bất kì sai xót nào mong các bạn comment phía dưới. Cho một thế giới awesome hơn.


Nội dung

Python được xếp hạng là ngôn ngữ lập trình số 1 theo PYPL - Popularity of Programming Language. Python rất dễ để học, không tạo qua nhiều áp lực cho người học, nó giúp bắt đầu lập trình với cách thân thiện nhất có thể với việc sử dụng cú pháp đơn giản ngắn gọn dễ đọc, sử dụng nó cho ngôn ngữ đầu tiên để làm tất cả mọi thứ.

Dưới đây, chúng ta sẽ thảo luận một vài tip/trick mà người mới học Python nên biết và có thể ích cho công việc hằng ngày.

Nào cũng bắt đầu!

Assignment - gán

Python đã cải thiện phép gán. Một cách đơn giản gán một vài biến, mỗi biến được gán trên 1 dòng bằng toán tử =.

# Assign variable, 1 line at a time.

a = 1
b = 2
c = 3

Nhưng Python cho phép lập trình viên tiết kiệm khoảng trắng và viết ít hơn. Chúng ta có thể gán nhiều hơn, đúng chỉ trên 1 dòng.

# Assign variables, all of them in a single line.

a, b, c = 1, 2, 3
print(a, b, c)      # Output: 1 2 3

Một giá trị có thể được gán cho nhiều biến trên 1 dòng.

# Assign variables to a single value in a single line.

a = b = c = 1
print(a, b, c)      # Output: 1 1 1

Tại sao làm được như vậy, vì mọi thứ được chuyển về tuple (bạn sẽ học tuples sau, nêu muốn tìm hiểu thì zô link sau). Chúng ta có thể gán nhiều giá trị cho 1 biến thì sẽ thấy được điều này.

# Assign multiple values to a single variable

x = 1, 2, 3, 4  # Treat it as a tuple
print(x)        # Output: (1, 2, 3, 4)

Swapping - hoán đổi

Ở những ngôn ngữ cũ để hoán đổi giá trị của biến cho biến khác thì cần phải sử dụng thêm một biến temp hoặc sử dụng các khái niệm phức tạp như con trỏ - pointer.

Nhưng Python nói không - chúng tôi không làm thế ở đây!

Dưới đây là cú pháp mà Python cung cấp:

# Swap variables

a, b = 2, 5
print(a, b)     # Output: 2 5

a, b = b, a
print(a, b)     # Output: 5 2

Một lần nữa, để làm được điều này thì Python dùng tuple unpacking.

List to String to List

Một ví dụ tuyệt vời về chuyển đổi một list to string và ngược lại.

# Convert list to string and string to list

a = ['a', 'b', 'c']
aString = "".join(a)
print(aString)      # Output: abc

aAgain = list(aString)
print(aAgain)       # Output: ['a', 'b', 'c']

Một số list khác

Một list của string có thể được in ra 1 dòng mà không cần sử dụng vòng lặp - loop.

# Print a list of a string with a single print()

a = ["Hello", "Python", "World"]
print(*a, sep=',')      # Ouput: Hello,Python,World

Kí tự * được sử dụng ở đây để unpack - giải nén list. Nó có thể được sử dụng để unpack các loại đối tượng kiểu interable khác. Ở cuối bài sẽ có thông tin thêm về *.

Để lấy một danh sách các phần tử unique - duy nhất. Bạn có thể làm điều này bằng cách sử dụng vòng lặp hoặc với lambdas, nhưng có một cách đơn giản - liner để làm điều này.

# Get a list of unique items.

a = [1, 2, 3, 4, 1, 1, 3, 4, 2, 5, 5]
print(list(set(a)))     # Output: [1, 2, 3, 4, 5]

Ở đây, set() sẽ tạo ra một set các phần tử unique - do tính chất của set chỉ cho các phần tử unique và trả về list là 1 danh sách.

Nếu bạn cần tạo 1 list với các giá trị lặp lại số lần nào đó, thì cách dễ nhất để làm là:

# A list with repetitive values

a = [1, 2, 3] * 6
print(a)    # Output: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

Operators - Toán tử

Bạn có thể đã biết về kí tự _ (underscore), nhưng bạn có biết nó được sử dụng để làm gì không?

Chúng ta có thể sử dụng _ như một toán tử interactive, một biến tạm được sử dụng trong vòng lặp, khi chúng ta không quan tâm đến các giá trị trong vòng lặp.

# Underscore operator usage
# When you do this in REPL
>>> a = 2
>>> b = 3
>>> a * b
6
>>> _
6
>>>

Khi khởi tạo vòng lặp, chúng ta có thể làm như sau:

# Underscore to help developers to ignore values on which loop is done.

for _ in range(10):
    # Do something here that does not depends on range(10) values.# Underscore operator usage
# When you do this in REPL
>>> a = 2
>>> b = 3
>>> a * b
6
>>> _
6
>>>

Chuyển sang tip khác. Python cho phép nối nhiều toán tử so sánh - chain.

# Chaining of comparison operators

a = 5
print(1 < a < 10)   # Output: True, otherwise in other languages like C, it would be - 1<a && a<10

Tiếp theo là toán tử bậc ba - ternary. Giống như nhiều ngôn ngữ lập trình khác, Python cũng có một toán tử bậc ba (theo teach thì nó không phải là toán tử bậc ba đâu nha, nhưng nó có cú pháp khá giống).

# Python's way of the ternary operation

a = 5
print("Five" if a==5 else "Not Five")   # Ouput: Five

Phía trên nó sẽ kiểm tra điều kiện nếu a là 5 hoặc không phải, nếu không phải là 5 thì giá trị sẽ là sau else.

Miscellaneous

Và giờ chúng ta có thể trả về nhiều giá trị của 1 hàm. Quá tuyệt đúng không? Một hàm có thể trả về nhiều giá trị, nó sử dụng tuple unpacking.

# A function can return multiple values.

def someFunc():
    a, b, c = 1, 2, 3
    # Do something here with a, b, c
    return a, b, c

d, e, f = someFunc()
print(d, e, f)      # Output: 1 2 3

Chúng ta có thể có một cấu trúc if:

# Simplified IF statements

a = [1, 2, 3]
i = int(input())

# Complex IF
if i == 1 or i == 2 or i == 3:
    # Do something

# Simplified IF
if I in a:
    # Do something

Chúng ta có thể đảo ngược 1 chuỗi bằng 1 dòng code:

# Reverse a string.

s = "Hello Python World"
print(s[::-1])      # Output: dlroW nohtyP olleH

Nguồn: blog.codekaro.info/python-useful-tips-for-b..