Học Python: Từ Zero đến Hero (phần 1)

8619

Trước nhất, Python là gì? Theo người sáng lập, Guido van Rossum, Python là:

“Là programming language high-level, và triết lý core design tập trung vào code readability và syntax cho phép các programmers thể hiện được concepts chỉ trong vài dòng code”

Với tôi, lý do đầu tiên học Python vì đây là ngôn ngữ đẹp, có thể code & thể hiện suy nghĩ của tôi 1 cách tự nhiên.

Lý do nữa chúng tôi có thể tận dụng việc code Python trong nhiều lĩnh vực như: Data Science, Web Development, Machine Learning… Quora, Pinterest & Spotify đều dùng Python để lập trình backend Web của mình.

Tuyển python lương cao các công ty hot

Kiến thức cơ bản

1. Variables – Các biến số

Bạn có thể xem các biến số này như những từ ngữ chứa 1 giá trị.

Trong Python, rất dễ để define 1 variable và đặt giá trị cho nó. Hãy tưởng tượng bạn muốn lưu số 1 trong biến gọi là “one”. Bạn có thể làm như sau:

one = 1

Quá dễ phải không? Chỉ cần chỉ định giá trị 1 đến biến “one”.

two = 2
some_number = 10000

Và bạn có thể chỉ định bất kì giá trị nào đến bất kì biến số nào mà bạn muốn. Như đã thấy ở bảng trên, biến “two” giữ số nguyên 2, và “some_number” giữ 10,000.

Bên cạnh các số nguyên, chúng ta cũng có thể sử dụng booleans (True / False), strings, float, và rất nhiều kiểu dữ liệu khác.

# booleans
true_boolean = True
false_boolean = False

# string
my_name = "Leandro Tk"

# float
book_price = 15.80

2. Control Flow: conditional statements (lệnh tùy điều kiện)

If” sử dụng 1 expression để xác định liệu statement là True hay False. Nếu là True, nó sẽ thực thi những gì thuộc về lệnh “if”. Ví dụ:

if True:
  print("Hello Python If")

if 2 > 1:
  print("2 is greater than 1")

2 lớn hơn 1, vì vậy code “print” sẽ được thực thi.

Lệnh “else” sẽ được thực thi nếu expression “if” là false.

if 1 > 2:
  print("1 is greater than 2")
else:
  print("1 is not greater than 2")

1 không lớn hơn 2, nên code trong “else” statement will be executed.

Bạn cũng có thể sử dụng statement “elif”:

if 1 > 2:
  print("1 is greater than 2")
elif 2 > 1:
  print("1 is not greater than 2")
else:
  print("1 is equal to 2")

3. Looping / Iterator

Trong Python, chúng ta có thể iterate theo nhiều hình thức khác nhau, như while và for.

While Looping: nếu statement là True, thì code trong block sẽ được thực thi. Vì vậy, code này sẽ in số từ 1 đến 10.

num = 1

while num <= 10:
    print(num)
    num += 1

Loop while cần 1 “loop condition.” Nếu True, nó sẽ tiếp tục lặp. Trong ví dụ này, khi num là 11 loop condition sẽ bằng False.

Một đoạn code căn bản khác mà bạn cần hiểu chính là:

loop_condition = True

while loop_condition:
    print("Loop Condition keeps: %s" %(loop_condition))
    loop_condition = False

Loop condition là True nên nó sẽ tiếp tục lặp — cho đến khi chúng ta set nó False.

For Looping: bạn áp dụng biến “num” cho block này, và lệnh “for” sẽ lặp nó cho bạn. Đoạn code này sẽ print tương tự như while code: từ 1 đến 10.

for i in range(1, 11):
  print(i)

Bạn thấy không? Rất đơn giản. Vùng sẽ bắt đầu với 1 và kéo dài đến element thứ 11 (10 là element số thứ tự 10).

  Hướng dẫn cài đặt, lập trình Python trên Ubuntu (Linux)

List: Collection | Array | Data Structure

Tưởng tượng bạn muốn lưu số nguyên 1 trong 1 biến số. Nhưng có thể bây giờ bạn lại muốn lưu 2. Và 3, 4, 5 …

Liệu tôi có cách nào khác để lưu tất cả các số nguyên mà tôi muốn, nhưng không phải trong hàng triệu biến số? Tất nhiên là có 1 cách như thế.

List là 1 collection được dùng để lưu danh sách các giá trị (như những số nguyên mà bạn muốn).

my_integers = [1, 2, 3, 4, 5]

Rất đơn giản, chúng ta có thể tạo 1 array & lưu nó trong my_integer.

Nhưng bạn sẽ tự hỏi: “Làm thế nào để lấy 1 giá trị từ array này?”

Một câu hỏi thú vị. List có 1 concept gọi là index. Element đầu tiên sẽ lấy index 0 (zero). Element tiếp theo lấy 1 và cứ như thế.

Để rõ ràng hơn, chúng ta có thể diễn tả array & mỗi element với index của nó.

Sử dụng Python syntax sẽ rất dễ hiểu:

my_integers = [5, 7, 1, 3, 4]
print(my_integers[0]) # 5
print(my_integers[1]) # 7
print(my_integers[4]) # 4

Tưởng tượng xem, bạn không muốn lưu trữ các số nguyên, bạn chỉ muốn lưu trữ strings, như danh sách họ tên của những người thân quen. Đoạn code của tôi sẽ như thế này:

relatives_names = [
  "Toshiaki",
  "Juliana",
  "Yuji",
  "Bruno",
  "Kaio"
]

print(relatives_names[4]) # Kaio

Nó sẽ hoạt động tương tự như các số nguyên.

Chúng ta chỉ mới cách hoạt động của Lists Nhưng tôi sẽ cho bạn thấy cách thêm 1 element vào data structure List (1 item vào 1 list).

Method thông dụng nhất để thêm 1 giá trị mới vào 1 List là append. Cách thức hoạt động như sau:

bookshelf = []
bookshelf.append("The Effective Engineer")
bookshelf.append("The 4 Hour Work Week")
print(bookshelf[0]) # The Effective Engineer
print(bookshelf[1]) # The 4 Hour Work Week

append cực kì đơn giản. Bạn chỉ cần áp dụng element như tham số  append (ví dụ “The Effective Engineer”)

  Học Python: Từ Zero đến Hero (phần 2)

Lists đã xong. Cùng nghiên cứu data structure khác:

Dictionary: Key-Value Data Structure

Hiện tại, chúng ta đã biết Lists được index với các số nguyên. Nhưng chuyện gì sẽ xảy ra nếu chúng ta không muốn sử dụng các số nguyên như các indices? Một số data structure có thể sử dụng là numeric, string hoặc các loại indices khác.

Cùng nghiên cứu về data structure DictionaryDictionary là tập hợp các cặp key-value. Kết quả sẽ ra thế này:

dictionary_example = {
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

key là index chỉ đến value. Làm thế nào để tiếp cận value Dictionary? Hãy sử dụng key.

dictionary_tk = {
  "name": "Leandro",
  "nickname": "Tk",
  "nationality": "Brazilian"
}

print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro
print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk
print("And by the way I'm %s" %(dictionary_tk["nationality"])) # And by the way I'm Brazilian

Tôi đã tạo 1 Dictionary gồm tên, nickname và quốc tịch. Những attributes này đều là keys Dictionary.

Khi nghiên cứu cách tiếp cận List bằng index, chúng ta cũng sử dụng indices (keys trong context Dictionary) để tiếp cận value lưu trữ trong Dictionary.

Trong ví dụ này, tôi đã print 1 đoạn về mình bằng tất cả các giá trị lưu trong Dictionary. Khá đơn giản, phải không?

Điều khá hay về Dictionary chính là chúng ta có thể sử dụng bất cứ thứ gì làm value. Trong Dictionary mà tôi tạo, tôi muốn thêm key “age” & số tuổi nguyên thực sự của mình vào đó:

dictionary_tk = {
  "name": "Leandro",
  "nickname": "Tk",
  "nationality": "Brazilian",
  "age": 24
}

print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro
print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk
print("And by the way I'm %i and %s" %(dictionary_tk["age"], dictionary_tk["nationality"])) # And by the way I'm Brazilian

Ở đây, chúng ta có 1 cặp key (tuổi) value (24) bằng string như key và integer như value.

Như những gì đã làm với Lists, cùng nghiên cứu cách thêm các elements vào 1 Dictionarykey chỉ đến 1 value là 1 phần quan trọng tạo nên Dictionary. Điều này cũng đúng khi chúng ta đề cập đến việc thêm các elements vào đó:

dictionary_tk = {
  "name": "Leandro",
  "nickname": "Tk",
  "nationality": "Brazilian"
}

dictionary_tk['age'] = 24

print(dictionary_tk) # {'nationality': 'Brazilian', 'age': 24, 'nickname': 'Tk', 'name': 'Leandro'}

Chúng ta chỉ cần chỉ định 1 value vào 1 key Dictionary. Không có gì phức tạp, đúng không nhỉ?

(còn tiếp)

Nguồn: TopDev via medium.freecodecamp.org

Ứng tuyển các vị trí tuyển dụng IT lương cao trên TopDev