Lộ trình học Python từ con số 0 (Phần 1)

Python là một ngôn ngữ lập trình phổ biến hiện nay. Theo nhà sáng lập, Guido van Rossum, Python là:

“high-level programming language, and its core design philosophy is all about code readability and a syntax which allows programmers to express concepts in a few lines of code.” Wlikipedia 

Còn đối với tôi, Python là một ngôn ngữ lập trình đẹp. Có thể dễ dàng thể hiện suy nghĩ code tự nhiên của tôi.

Ngoài ra, tôi còn có thể sử dụng python trong code nhiều lĩnh vực: data science, web development, hay machine learning đều có thể thực hiện tốt ở đây. Các trang nổi tiếng như Quora, Pinterest & Spotify đều dùng Python để lập trình backend Web của mình.

Kiến thức cơ bản về Python

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

Variables – bạn có thể hiểu như kiểu gán tên cho một giá trị.

Với ngôn ngữ Python, bạn có thể dễ dàng tạo một biến số và gán các giá trị với nó. Ví dụ, bạn muốn gán giá trị “1” cho biến số “one”, bạn làm như sau:

one = 1

Thật quá đơn giản đúng không? Bạn mới gán giá trị ‘1’ cho biến số là “one” rồi đấy. Tương tự, bạn có thể thực hiện với những giá trị bất kì nào khác:

two = 2
some_number = 10000

Bên cạnh kiểu số nguyên (int), bạn càn có thể sử dụng rất nhiều kiểu giá trị khác nhau như booleans (True / False), strings, float,…

# booleans
true_boolean = True
false_boolean = False

# string
my_name = "Leandro Tk"

# float
book_price = 15.80

2. Control Flow: Lệnh theo điều kiện

Hàm “If” sử dụng để xác định điều kiện là “True” hay “False”. Nếu “True”, hàm sẽ thực hiện câu lệnh. Ví dụ:

if True:
  print("Hello Python If")

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

Ta thấy, 2 lớn hơn 1. Như vậy, lệnh “print” được thực hiện.

Hoặc ta có thể dụng “Elif” như sau:

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. Vòng lặp

Trong Python, ta có thể sử dụng nhiều hàm biểu diễn vòng lặp như “While”, “For”.

Ví dụ, với vòng lặp “While”, nếu điều kiện trong câu lệnh là đúng, hàm sẽ thực thi câu lệnh. Ví dụ, với lệnh sau, hàm sẽ in từ 1 tới 10.

num = 1

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

Hàm lăp “While” cần điều kiện lặp. Nếu điều kiện là “Fales”, hàm sẽ dừng.

loop_condition = True

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

Vòng lặp For: biến số được sử dụng là “num”. Vòng lặp For sẽ thực thi lệnh cho bạn. Vòng lặp này tương tự với vòng lặp While chạy từ 1 đến 10:

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

List | Mảng | Cấu trúc dữ liệu

Hãy tưởng tượng bạn muốn lưu số “1” vào một biến. Và giờ bạn muốn lưu thêm số “2”, “3”, “4”, “5”,.. cũng vào biến số đó. Ta cần có một cách lưu tất cả các số nguyên đó vào cùng một biến số thay vì tạo ra nhiều biến số.

Ta sử dụng “LIST”. List là một danh sách dùng để lưu các giá trị (chẳng hạn số nguyên như ví dụ trên).

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

Thật đơn giản. Ta tạo một mảng và lưu trữ chúng trong biến số my_integer.

Nhưng có một câu hỏi đặt ra, đó là “Làm thế nào ta có thể lấy một giá trị từ mảng trên?”.

List có một chức năng gọi là index. Số hạng đầu tiên của mảng sẽ có index bằng 0.

Để rõ ràng hơn, ta có thể biểu diễn mảng với chỉ số của các số hàng như sau:

Cấu trúc lệnh trong python như sau:

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

Trong trường hợp bạn không muốn lưu trữ kiểu dữ liệu int. Bạn muốn lưu trữ kiểu dữ liệu str, ví dụ như một list tên. Bạn sẽ có cấu trúc dữ liệu như sau:

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

print(relatives_names[4]) # Kaio

Kiểu dữ liệu này tương tự với sữ liệu int.

Chúng ta đã thấy cách hoạt động của List. Và tôi sẽ chỉ thêm cho các bạn cách thêm một phần tử vào mảng đã cho trước.

Phương thức phổ biến nhất là ta sử dụng hàm append. Ví dụ:

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 sẽ giúp thêm vào cuối mảng số liệu mới mà bạn đưa vào.

Dictionary: Tập hợp các cặp khóa giá trị

Trong phần trên, ta tìm hiểu kiểu List với các chỉ số được dánh dưới dạng số nguyên. Nhưng với trường hợp ta không sử dụng số nguyên là chỉ số mà kiểu chỉ số khác thì sao? Một cấu trúc dữ liệu có thể sử dụng số nguyên, string hặc các chỉ số khác.

Với cấu trúc dữ liệu kiểu Dictionary – tập hợp cả các cặp khóa giá trị, sẽ có dạng như sau:

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

“Key” là dạng chỉ số được đánh dấu cho mỗi giá trị. Vậy làm thế nào ta có thể lấy được giá trị một phần tử trong Dictionary. Sử dụng Key, ta có:

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 vừa tạo một Dictionary về một người bao gồm tên, nickname, quốc tịch. Những thuộc tính này đều là Key của Dictionary.

Tương tự truy cập một phần tử trong List bằng Index, chúng ta cũng sử dụng chỉ số (keys trong Dictionary) để trích xuất một phần tử trong Dictionary đó.

Trong ví dụ trên, tôi đã sử dụng lệnh print để hiển thị các giá trị trong Dictionary tương ứng.

Cấu trúc dữ liệu này khá hay ở điểm bạn có thể sử dụng bất kì giá trị nào làm value.

Trong Dictionary tôi mới tạo, bạn có thể thêm key “age” là số tuổi nguyên thực 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"]))

Chúng ta đã có thêm Key tuổi (age) và giá trị (24) sử dụng kiểu str là một Key và kiểu int là value.

Tương tự với cấu trúc dữ liệu List, ta cùng tìm hiểu phương pháp thêm một phần tử vào Dictionary.

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 thêm một giá trị vào một key mới được tạo trong Dictionary. Thật đơn giản phải không?

Vòng lặp: lặp trong cấu trúc dữ liệu

Giống như ta tìm hiểu ở phần “Kiến thức cơ bản”, vòng lặp trong cấu trúc dữ liệu List rất đơn giản. Thường thì, ta sẽ sử dụng For cho những trường hợp như thế này:

bookshelf = [
  "The Effective Engineer",
  "The 4 hours work week",
  "Zero to One",
  "Lean Startup",
  "Hooked"
]

for book in bookshelf:
    print(book)

Như trên, với mỗi tên cuốn sách trong Bookshelf, chúng ta có lệnh hiển thị nó ra.

Tương tự, với kiểu dữ liệu Dictionary, ta cũng có thể sử dụng For, và thay book bằng Key:

dictionary = { "some_key": "some_value" }

for key in dictionary:
    print("%s --> %s" %(key, dictionary[key]))
    
# some_key --> some_value

Đây là một ví dụ đơn giản. Với mỗi Key trong Dictionary, chúng ta thực hiện lệnh print Key và value của chúng.

Ngoài ra, ta còn có thể sử dụng phương pháp iteritems 

dictionary = { "some_key": "some_value" }

for key, value in dictionary.items():
    print("%s --> %s" %(key, value))

# some_key --> some_value

Chúng ta đã đặt tên 2 biến số là key & value. Tên biến số không là bắt buộc, bạn có thể đạt là bất cứ tên nào bạn muốn. Ví dụ:

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

for attribute, value in dictionary_tk.items():
    print("My %s is %s" %(attribute, value))
    
# My name is Leandro
# My nickname is Tk
# My nationality is Brazilian
# My age is 24

Chúng ta có thể sử dụng thuộc tính như một tham số Dictionary key và câu lệnh thực hiện rất tốt. Thật tuyệt vời.

Mời các bạn theo dõi phần tiếp theo, chúng tôi sẽ nói chuyên sâu hơn về các phần trong Python. Ngoài ra, các bạn có thể đăng ký nhận ebook về python miễn phí tại đây.

Nguồn : https://trituenhantao.io/

Bạn muốn trích dẫn bài này:
-----
"Lộ trình học Python từ con số 0 (Phần 1)," Trí tuệ nhân tạo, Ngày xuất bản: 13/05/2019, URL: https://trituenhantao.io/tin-tuc/lo-trinh-hoc-python-tu-con-so-0-phan-1/, Ngày truy cập: 18/04/2024.