Skip to content
Home » Học Dễ Thôi Lập Trình Python Từ Zero | Khóa Học Python Từ Zero To Hero

Học Dễ Thôi Lập Trình Python Từ Zero | Khóa Học Python Từ Zero To Hero

Tự học Lập Trình Python trong 10 phút - Siêu Dễ Hiểu

Dictionary: Key-Value Data Structure

Bây giờ,chúng ta biết rằng List chỉ tạo ra được với chỉ mục là số nguyên. Vậy chúng ta không muốn sử dụng số nguyên làm chỉ mục thì sao nhỉ? Một số cấu trúc dữ liệu mà chúng tôi có thể sử dụng là số, chuỗi hoặc các loại chỉ mục khác.

Hãy tìm hiểu về Dictionary. Dictionary là tập hợp các key-value. Nó sẽ trông giống như dưới đây:


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

key là chỉ mục trỏ đến value. Làm thế nào để truy cập giá trị của Dictionary. Hãy thử nó xem sao:


ictionary_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

Vậy ta thêm phần tử vào Dictionary như nào nhỉ? Cùng xem ví dụ dưới đây:


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 gán một value cho một Dictionary key. Không có gì phức tạp ở đây phải không .

Classes & Objects

Python là một ngôn ngữ lập trình hướng đối tượng, có các khái niệm:class và object.

Một class là một mô hình chi tiết cho các đối tượng của nó.

Vì vậy, một lần nữa, một class chỉ là một mô hình, hoặc một cách để xác định các attributes và behavior.

Cùng xem cú pháp Python cho class:


class Vehicle: pass

Các Object là thể hiện của một class.


car = Vehicle() print(car) # <__main__.Vehicle instance at 0x7fb1de6c2638>

Ở đây car là một đối tượng của class Vehicle.

Chúng ta thiết lập tất cả các thuộc tính như số bánh xe, loại xe, sức chứa, vận tốc tối đa khi khở tạo đối tương xe. Ở đây chúng ta định nghĩa lớp để nhận dữ liệu khi khởi tạo nó.


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity

Chúng ta sử dụng init method. Chúng ta gọi đây là phương thức khởi tạo. Vì vậy, khi chúng ta khởi tạo ra đối tượng xe, chúng ta có thể định nghĩa các thuộc tính này. Hãy tưởng tượng chúng ta Tesla Model S, và chúng ta muốn tạo ra đối tượng này. Nó có 4 bánh xe, chaỵ bằng năng lượng điện, 5 chỗ ngồi, vận tốc tối đa là 250 km/h. Hãy tạo đối tượng này:


tesla_model_s = Vehicle(4, 'electric', 5, 250)

Tất cả các thuộc tính đã được thiết lập. Nhưng làm cách nào để chúng ta có thể truy cập vào các giá trị của các thuộc tính này? Đó là method. Đó là object’s behavior.


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity def number_of_wheels(self): return self.number_of_wheels def set_number_of_wheels(self, number): self.number_of_wheels = number

Đây là triển khai thực hiện 2 methods: number_of_wheels và set_number_of_wheels. Chúng được gọi là getter và setter. Bởi vì giá trị đầu tiên nhận giá trị thuộc tính và giá trị thứ hai đặt giá trị mới cho thuộc tính.

Trong Python, chúng ta có thể làm điều đó bằng cách sử dụng @property để xác định getters và setters. Hãy xem đoạn code dưới đây:


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity @property def number_of_wheels(self): return self.number_of_wheels @number_of_wheels.setter def number_of_wheels(self, number): self.number_of_wheels = number

Và chúng ta có thể sử dụng methods này như các attributes.


tesla_model_s = Vehicle(4, 'electric', 5, 250) print(tesla_model_s.number_of_wheels) # 4 tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2 print(tesla_model_s.number_of_wheels) # 2

Điều này hơi khác so với defining methods. Các phương thức hoạt động như các thuộc tính.

Nhưng chúng ta cũng có thể sử dụng các methods cho những thứ khác, như phương pháp ‘make_noise’. Hãy xem nó:


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity def make_noise(self): print('VRUUUUUUUM')

Khi chúng ta họi đến method này


tesla_model_s = Vehicle(4, 'electric', 5, 250) tesla_model_s.make_noise() # VRUUUUUUUM

Tự học Lập Trình Python trong 10 phút - Siêu Dễ Hiểu
Tự học Lập Trình Python trong 10 phút – Siêu Dễ Hiểu

Class và Object

Object là một đại diện của đối tượng thực tế như xe, nhà, chó, méo. Đối tượng chia sẻ hai đặc điểm chính: Data và Behavior Xe có data như số bánh xe, số ghế… và có behavior có thể chạy, dừng lại, hiển thị xăng và nhiều thứ khác Chúng ta nhận định rằng data giống như attributes và behavior giống như methods trong lập trình hướng đối tượng Data -> Attibutes and Behavior -> Methods Và Class là một bản thiết kế chi tiết từ các đối tượng được tạo ra. Trong thế giới thực chúng ta có nhiều kiểu đối tượng giống nhau, tất cả chúng có chung 1 sản phẩm mẫu (đều có động cơ, bánh xe, cửa ra vào)…

List: Collection | Array | Data Structure

Bạn muốn lưu trữ số nguyên 1 trong một biến, nhưng giờ muốn lưu 2, 3, 4 hoặc nhiều hơn?

List

là một collection mà bạn có thể sử dụng để lưu trữ một danh sách các giá trị


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

Và việc lấy ra các phần tử trong list cũng giống như các ngôn ngữ lập trình khác đó là thông qua các

index

của danh sách


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

Lập Trình Cơ Bản PYTHON Tự Học Cho Người Mới Bắt Đầu
Lập Trình Cơ Bản PYTHON Tự Học Cho Người Mới Bắt Đầu

Iteration: Looping Through Data Structures

Như chúng ta đã học ở bên trên, việc lặp lại List cũng rất đơn giản. Hãy thử nào:


bookshelf = [ "The Effective Engineer", "The 4 hours work week", "Zero to One", "Lean Startup", "Hooked" ] for book in bookshelf: print(book)

Đối với hash, chúng ta cũng có thể sử dụng vòng lặp for, nhưng chúng ta sẽ áp dụng với key:


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

Chúng ta đã đặt tên cho 2 tham số là key và value, nhưng không cần thiết. Chúng ta có thể đặt tên khác, hãy thử xem nào:


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

Giới thiệu khóa học

Hiện tại trên thế giới có khá nhiều loại ngôn ngữ lập trình như C , Java , PHP ..v..v.. Trong các loại ngôn ngữ lập trình nền tảng đó thì Python là một trong những ngôn ngữ lập trình mới. Nếu bạn đang tìm kiếm một ngôn ngữ của tương lai thì Python là 1 lựa chọn tốt. Các lý do sau đây sẽ khiến bạn nên sẽ chọn học Python

  • Lý do 1: Python là ngôn ngữ mới và dễ học hơn bất kì ngôn ngữ nào
  • Lý do 2: Python là ngôn ngữ hàng đầu tại các đất nước trên thế giới nhất là Châu Âu. Và bạn cũng đã biết tương lai Việt Nam sẽ được hội nhập với các nước trên thế giới vậy cho nên nguồn lực cho mã nguồn Python là cực kì nhiều.Vì đa phần các nước châu Âu họ đều sài Python thay cho C.
  • Lý do 3: Python là ngôn ngữ giúp bạn viết được trên đa nền tảng nên ví dụ như lập trình website , lập trình di động và cả lập trình game thì Python đều có thể làm được.
  • Lý do 4: Đảm bảo đây là nội dung đầy đủ và kỹ càng nhất về ngôn ngữ lập trình Python để từ đó bạn có thể áp dụng Python vào các công việc bạn muốn hướng tới hoặc tạo thêm nhiều cơ hội việc làm cho bạn.

Khóa học online trên website Unica.vn

Link Download: goo.gl/R1Z2vs

Link Dự Phòng: Python từ Zero đến Hero

Nội dung bài viết

Iteration: Looping thông qua Data Structures

Như đã biết về Python Basics,

List

iteration rất đơn giản. Các developer

Python

thường sử dụng looping

For

như sau:

bookshelf = [ “The Effective Engineer”, “The 4 hours work week”, “Zero to One”, “Lean Startup”, “Hooked” ] for book in bookshelf: print(book)

Vậy là với mỗi quyển trên kệ, (có thể làm mọi thứ) để print nó. Đơn giản & trực quan, đó chính là Python.

Đối với hash data structure, chúng ta cũng có thể sử dụng loop

for

nhưng áp dụng

key

:

dictionary = { “some_key”: “some_value” } for key in dictionary: print(“%s –> %s” %(key, dictionary[key])) # some_key –> some_value

Với mỗi

key

trong

dictionary

, chúng ta sẽ

key

đó và

value

tương ứng của nó.

Cách khác là sử dụng method

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

, nhưng không cần thiết, có thể đặt bất kì tên nào. Cùng xem:

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

Rõ ràng, chúng ta đã sử dụng attribute như 1 tham số cho

Dictionary


key

& nó hoạt động rất tốt. Quá tuyệt vời!

Classes & Objects

Một chút lý thuyết

Objects là đại diện cho các đối tượng trong thực tế như xe hơi, chó, xe đạp. Các objects sẽ chia sẻ 2 đặc tính chủ chốt là: data và behavior.

Xe sẽ có data, như số các bánh xe, số cửa sổ và sức chứa chỗ ngồi. Chúng sẽ phơi bày behavior: có thể nâng lên, dừng lại, hiển thị lượng nhiên liệu còn lại…

Chúng ta nhận diện data như các attributes & behavior như các methods trong lập trình hướng đối tượng.

Data → Attributes và Behavior → Methods

Và 1 Class chính là blueprint mà từ đây các objects đơn lẻ sẽ được tạo ra. Trên thực tế, chúng ta thường tìm các objects cùng loại với nhau. Như xe hơi đề có động cơ, bánh xe, cửa… và mỗi xe được build từ cùng bộ blueprints, có cùng các components.

Python Object-Oriented Programming mode: ON

Trong vai trò 1 ngôn ngữ lập trình hướng đối tượng, Python có 3 con concepts: class & object.

Một class là 1 blueprint, 1 model cho các objects của class đó.

Nói chung, 1 class chỉ là 1 model hoặc 1 cách để define attributes và behavior (như đã đề cập trong section theory). Ví dụ, 1 phương tiên di chuyển class có attributes riêng dùng để xác định liệu objects nào là các phương tiện di chuyển. Số lượng các bánh xe, loại bồn chứa, sức chứa chỗ ngồi và vận tốc maximum đều là các attributes của 1 phương tiện di chuyển.

Từ đây, chúng ta có thể xem syntax Python cho các classes:

class Vehicle: pass

Chúng ta define classes với 1 class statement – và chỉ có vậy. Dễ mà, phải không?

Objects là các instances của 1 class. Chúng ta tạo 1 instance bằng cách đặt tên cho class.

car = Vehicle() print(car) # <__main__.Vehicle instance at 0x7fb1de6c2638>

Ở đây,

car

là 1 object (hoặc instance) của class

Vehicle

.

Lưu ý rằng phương tiện di chuyển class của chúng ta có 4 attributes: số lượng bánh xe, loại bồn chứa, sức chứa chỗ ngồi và vận tốc tối đa. Chúng ta đặt tất cả những attributes này khi tạo 1 phương tiện object. Vậy nên ở đây sẽ define class để nhận data khi khởi tạo nó:

class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity

Chúng ta sử dụng method

init

, gọi là 1 constructor method. Vì vậy, khi tạo phương tiện di chuyển object, chúng ta có thể define những attributes này. Hãy tưởng tượng rằng bạn rất yêu thích loại Tesla Model S, và muốn tạo loại object này. Nó sẽ có 4 bánh xe, chạy năng lượng điện, gồm 5 ghế và vận tốc tối đa là 250km/giờ(155 mph). Tạo object như sau:

tesla_model_s = Vehicle(4, ‘electric’, 5, 250)

Bốn bánh + “loại bồn chứa” bằng điện + 5 ghế + vận tốc tối đa 250km/ giờ

Tất cả các attributes đã được thiết lập. Nhưng làm thế nào để tiếp cận được các giá trị của những attributes này? Chúng ta gửi 1 tin nhắn đến object hỏi về chúng, gọi nó là 1 method, là hành vi của object trên. Hãy implement nó:

class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity def number_of_wheels(self): return self.number_of_wheels def set_number_of_wheels(self, number): self.number_of_wheels = number

Đây là 1 implementation của 2 methods: number_of_wheels và set_number_of_wheels. Chúng ta gọi nó là

getter

&

setter

. Vì

getter

lấy attribute value và

setter

thiết lập 1 giá trị mới cho attribute đó.

Trong Python, thì sử dụng

@property

(

decorators

) để define

getters



setters

.

class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity @property def number_of_wheels(self): return self.number_of_wheels @number_of_wheels.setter def number_of_wheels(self, number): self.number_of_wheels = number

Và sử dụng các methods này như những attributes:

tesla_model_s = Vehicle(4, ‘electric’, 5, 250) print(tesla_model_s.number_of_wheels) # 4 tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2 print(tesla_model_s.number_of_wheels) # 2

Điều này có khác 1 chút với việc define methods. Các methods hoạt động như là các attributes. Ví dụ, khi set số bánh xe mới, chúng ta không áp số 2 vào thành 1 tham số mà set giá trị 2 vào

number_of_wheels

. Đây là 1 cách để viết code

pythonic


getter



setter

.

Nhưng có thể sử dụng methods cho những thứ khác, như method “make_noise”

class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity def make_noise(self): print(‘VRUUUUUUUM’)

Khi call method này, nó chỉ trả lại 1 string “VRRRRUUUUM.”

tesla_model_s = Vehicle(4, ‘electric’, 5, 250) tesla_model_s.make_noise() # VRUUUUUUUM

Encapsulation: Ẩn thông tin

Encapsulation là cơ chế giới hạn khả năng tiếp cận trực tiếp đến data & methods của các objects. Nhưng cùng lúc đó, nó lại hỗ trỡ việc vận hành trên data đó (methods của các objects)

“Encapsulation được dùng để ẩn Data Members & Members function. VỚi Định nghĩa này, encapsulation đồng nghĩa là việc hiển thị nội bộ của 1 object được ẩn toàn bộ khỏi tầm nhìn của definition Đến từ Object đó” — Wikipedia

Tất cả hiển thị nội bộ của 1 object được ẩn khỏi bên ngoài. Chỉ có object đó mới tương tác được với data nội bộ của nó.

Đầu tiên, chúng ta cần phải hiểu cách hoạt động của các biến số instance

public



non-public

và methods.

Các biến số Instance công khai

Đối với 1 Python class, khởi tạo 1

public instance variable

trong constructor method của chúng ta.

Trong method constructor:

class Person: def __init__(self, first_name): self.first_name = first_name

Ở đây, áp dụng value

first_name

như 1 argument đến

public instance variable

.

tk = Person(‘TK’) print(tk.first_name) # => TK

Trong class:

class Person: first_name = ‘TK’

Không cần áp dụng

first_name

như 1 argument, và tất cả các instance objects sẽ có 1

class attribute

được khởi tạo với

TK

.

tk = Person() print(tk.first_name) # => TK

Tốt. Hiện chúng ta đã biết sử dụng

public instance variables



class attributes

. Điều thú vị khác nữa về phần

public

là có thể quản lý giá trị của biến, nghĩa là

object

có thể quản lý giá trị biến số của nó: các giá trị biến số

Get



Set

.

Nhắc đến

Person

, nếu muốn set giá trị khác cho biến

first_name

:

tk = Person(‘TK’) tk.first_name = ‘Kaio’ print(tk.first_name) # => Kaio

Đấy, chúng ta chỉ set giá trị khác (

kaio

) cho biến instance

first_name

và nó đã cập nhật giá trị. Đơn giản vậy thôi. Vì là biến

public

nên sẽ làm được điều đó.

Biến Instance không công khai

“Ở đây, chúng ta không sử dụng thuật ngữ “private” vì không có attribute nào thực sự riêng tư trong Python (mà không có 1 lượng lớn công việc không cần thiết)” — PEP 8

Giống như

public instance variable

, chúng ta có thể define

non-public instance variable

trong method constructor hoặc trong class. Điểm khác biệt syntax chính là: đối với

non-public instance variables

, sẽ sử dụng gạch dưới () trước tên

variable

.

“‘Các biến instance private mà không thể tiếp cận ngoài trừ lúc ở trong 1 object thì sẽ không tồn tại trong python. Tuy nhiên, có 1 quy ước được hầu hết code python theo là: 1 name prexide với 1 dấu gạch dưới (như:

_spam

) nên được xem như 1 phần không công khai của API (dù nó là 1 function, 1 method hay 1 data member)” — Python Software Foundation

Ví dụ:

class Person: def __init__(self, first_name, email): self.first_name = first_name self._email = email

Bạn có thấy biến

non-public variable

tk = Person(‘TK’, ‘[email protected]’) print(tk._email) # [email protected]

“Chúng ta có thể access & cập nhật nó.

Non-public variables

chỉ là 1 Quy ước và nên được xem như phần non-public của API”

Vì vậy, sử dụng 1 method cho phép define trong class definition. Cùng implement 2 methods (

update_email

) để hiểu rõ hơn:

class Person: def __init__(self, first_name, email): self.first_name = first_name self._email = email def update_email(self, new_email): self._email = new_email def email(self): return self._email

Bây giờ chúng ta có thể update & access

non-public variables

bằng những methods đó. Cùng xem:

tk = Person(‘TK’, ‘[email protected]’) print(tk.email()) # => [email protected] tk._email = ‘[email protected]’ print(tk.email()) # => [email protected] tk.update_email(‘[email protected]’) print(tk.email()) # => [email protected]

  1. Khởi tạo 1 object mới bằng

    first_name

    TK và
  2. Printt email bằng cách tiếp cận

    non-public variable

    với 1 method
  3. Cố gắng set
  4. Cần phải xem

    non-public variable

    như phần

    non-public

    của API
  5. Cập nhật

    non-public variable

    bằng method instance
  6. Thành công! Chúng ta có thể cập nhật nó trong class bằng method helper
Public Method

Với

public methods

, chúng ta cũng có thể sử dụng ngoài class:

class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def show_age(self): return self._age

Thử test xem:

tk = Person(‘TK’, 25) print(tk.show_age()) # => 25

Tốt, vậy là không có vấn đề gì.

Non-public Method

Nhưng với

non-public methods

thì không làm được điều này. Hãy implement cùng class

Person

nhưng bây giờ với 1

show_age


non-public method

bằng 1 dấu gạch dưới ().

class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def _show_age(self): return self._age

Giờ chúng ta sẽ cố gọi

non-public method

này với object của mình:

tk = Person(‘TK’, 25) print(tk._show_age()) # => 25

“Chúng ta có thể access & Update nó.

Non-public methods

chỉ là 1 quy ước & nên được xem như 1 phần non-public của API”

Dưới đây là ví dụ về cách sử dụng non-public methods:

class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def show_age(self): return self._get_age() def _get_age(self): return self._age tk = Person(‘TK’, 25) print(tk.show_age()) # => 25

Chúng ta có 1

_get_age


non-public method

và 1

show_age


public method

. Object của chúng ta có thể sử dụng

show_age

(bên ngoài class) và

_get_age

chỉ được sử dụng bên trong class definition (trong method

show_age

). Nhưng 1 lần nữa, đây chỉ là vấn đề liên quan đến quy ước.

Encapsulation Summary

Với encapsulation, có thể đảm bảo rằng hiển thị nội bộ của object được ẩn.

Inheritance: các hành vi và các đặc tính

Một vài objects nào đó sẽ sở hữu vài điểm chung: behavior & characterists của chúng.

Trong lập trình hướng đối tượng, các class có thể thừa hưởng những đặc tính (data) và hành vi (methods) tương tự từ class khác.

Cùng xem 1 ví dụ khác và implement nó bằng Python.

Hãy tưởng tượng 1 chiếc xe hơi. Số lượng bánh xe, sức chứa chỗ ngồi và vận tốc tối đa là tất cả các attributes của 1 chiếc xe. Có thể nói rằng 1 class ElectricCar thừa hưởng cùng các attributes từ class Car thông dụng.

Class Car đã implement như sau:

class Car: def __init__(self, number_of_wheels, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity

Một khi đã khởi tạo, chúng ta có thể sử dụng tất cả

instance variables

đã được tạo ra. Tốt.

Trong Python, hãy áp dụng

parent class

vào

child class

như 1 tham số. Một class ElectricCar có thể kế thừa từ class Car.

class ElectricCar(Car): def __init__(self, number_of_wheels, seating_capacity, maximum_velocity): Car.__init__(self, number_of_wheels, seating_capacity, maximum_velocity)

Đơn giản vậy thôi, chúng ta không cần phải implement bất kì method nào khác, vì class nà đã có rồi (được thừa hưởng từ class Car).

my_electric_car = ElectricCar(4, 5, 250) print(my_electric_car.number_of_wheels) # => 4 print(my_electric_car.seating_capacity) # => 5 print(my_electric_car.maximum_velocity) # => 250

Thật đẹp, đúng không?

Tổng quan

Như vậy, bài viết này đã giúp chúng ta nắm được những kiến thức Python cơ bản:

  • Cách hoạt động của các biến Python
  • Cách hoạt động của conditional statements Python
  • Cách looping Python (while & for) hoạt động
  • Cách sử dụng Lists: Collection | Array
  • Dictionary Key-Value Collection
  • Cách lặp thông qua data structures
  • Objects & Classes
  • Các attibutes như data của objects
  • Methods như hành vi của các objects
  • Sử dụng getters và setters của Python & property decorator
  • Encapsulation: ẩn thông tin
  • Inheritance: behaviors (hành vi) và characteristics (đặc tính)

Bạn có thể đọc thêm quá trình nghiên cứu lập trình của tôi ở The Renaissance Developer.

Chúc vui, đừng quên hãy tiếp tục học hỏi và luôn cố gắng coding nhé!

Xem thêm các vị trí python tuyển dụng từ công ty lớn

Nguồn: TopDev via medium.freecodecamp.com

Learning Python: From Zero to Hero

Bài đăng này đã không được cập nhật trong 5 năm

Đối với tôi, lý do đầu tiên để học Python là nó là một ngôn ngữ lập trình đẹp. Thật là tự nhiên khi viết mã và thể hiện suy nghĩ của mình.

Một lý do khác là ta có thể sử dụng Python theo nhiều cách: data scienve, web development, machine learning, … . Các trang web nổi tiếng như Quora, Pinterest và Spotify đều sử dụng Python để phát triển phần backend. Vì vậy, ta hãy tìm hiểu một chút về nó nhé.

Basic

Lập trình Python cơ bản || Học Nhanh Lập Trình Python Cơ Bản Trong 3 Giờ || Học Và Giải Trí
Lập trình Python cơ bản || Học Nhanh Lập Trình Python Cơ Bản Trong 3 Giờ || Học Và Giải Trí

The Basics

1. Variables
Trong các ngôn ngữ lập trình khác, biến để lưu trữ giá trị. Trong Python, rất dễ để khai báo biến và thiết lập giá trị cho nó. Ví dụ, bạn muốn lưu giữ số trong một biến được gọi là

once

.


one = 1

Đơn giản như thế nào. Bạn có thể gán giá trị cho biến

one

. Tương tự với các giá trị khác tương tự
Bên cạnh

integers

, chúng ta có thể sử dụng

booleans (True/False)

,

string

,

float

và nhiều kiểu dữ liệu khác


# booleans true_boolean = True false_boolean = False # string my_name = "DiepTX" # float book_price = 53.400

2. Control Flow: conditional statements

if

sử dụng một biểu thức để đánh giá điều kiện đúng hay sai, nếu nó là True, nó thực hiện những gì bên trong câu lênh

if

. Ví dụ:


if True: print("Hello Python If") if 2 > 1: print("2 is greater than 1")

Khối

else

sẽ được thực thi nếu điều kiện trong

if

là sai


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

Bạn cũng có thể sử dụng khối

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. Loop
Trong Python, bạn có thể lặp lại trong nhiều hình thức khác nhau. Tôi sẽ nói về

while



for

Vòng lặp

while

: Trong khi điều kiện là

True

, code bên trong khối sẽ được thực hiện


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

Vòng lặp

while

cần một điều kiện lặp. Nếu nó vẫn đúng, vẫn tiếp tục lặp. Trong ví dụ trên, khi

num



11

điều kiện lặp sẽ là

False

Vòng lặp

for

: bạn có thể đưa biến

num

vào trong khối và khối

for

sẽ thực hiện lặp


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

Dictionary: Key-Value Data Structure

Với

Lists

được đánh index là các integer. Nhưng nếu không muốn sử dụng integer là index? Một cấu trúc dữ liệu mà ta có thể sử dụng là số, chuỗi hoặc các loại chỉ số khác
Cấu trúc dữ liệu với tên gọi

Dictionary

khá giống trong Swift đó nhé .

Dictionary

là một collection của cặp key-value


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


key

là chỉ số trỏ tới

value

. Làm thế nào để truy cập tới

value

của

Dictionary

. Thông qua sử dụng

key

nhé.


dictionary_acc = { "name" = "Diep", "age" = 23 } print("My name is %s " %(dictionary_acc["name"])) # My name is Diep print("I'm %i " %(dictionary_acc["age"])) # I'm 23

10 phút để hiểu rõ về Python. Ai là người tạo ra Python? Có nên học Python?
10 phút để hiểu rõ về Python. Ai là người tạo ra Python? Có nên học Python?

Học Python từ con số 0 (Phần 1) – The Basics

Bài đăng này đã không được cập nhật trong 2 năm

Trước tiên, Python là gì ? Theo người tạo ra ngôn ngữ này, Guido van Rossum, Python là một:

“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.”

Đối với tôi, lý do đầu tiên để học lập trình Python là nó thực sự là một ngôn ngữ tuyệt vời. Nó thực sự gần gũi khi code và thể hiện suy nghĩ của mình. Một lý do khác là chúng ta có thể sử dụng mã hóa bằng Python theo nhiều cách như data science, web development and machine learning

List: Collection | Array | Data Structure

Hãy tưởng tượng bạn muốn lưu trữ số nguyên 1 trong một biến. Nhưng giờ bạn muốn lưu trữ 2 và 3, 4, 5, … .

List là một collection có thể được sử dụng để lưu trữ một danh sách các giá trị (như các số nguyên mà bạn muốn). Vì vậy, hãy sử dụng nó:


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

Trông nó thực sự đơn giản. Chúng ta đã tạo ra một mảng và lưu trữ các giá trị với biến my_integers.

Nhưng bạn có thể hỏi: “Làm thế nào để tôi có thể lấy ra được một giá trị từ mảng này?”

List có một khái niệm là index. Phần tử đầu tiên nhận index 0, thứ hai nhận là 1,… .

Bạn có hình dung như sau:

Sử dụng theo cú pháp Python, nó sẽ như thế này:


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

Hãy tưởng rằng giờ bạn không muốn lưu trữ các số nguyên mà thay vào đó là lưu trữ các string, ví dụ như danh sách tên người chẳng hạn. Xem ví dụ bên dưới nhé:


relatives_names = [ "Toshiaki", "Juliana", "Yuji", "Bruno", "Kaio" ] print(relatives_names[4]) # Kaio

Nó hoạt động theo cùng cách như với số nguyên. So good
Nhưng giờ muốn thêm phần tử vào List thì sẽ như thế nào đây. Dưới đây là cách thực hiện:


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

TỰ HỌC LẬP TRÌNH CƠ BẢN TỪ A-Z CHO NGƯỜI MỚI BẮT ĐẦU 👩‍💻. Share study tips
TỰ HỌC LẬP TRÌNH CƠ BẢN TỪ A-Z CHO NGƯỜI MỚI BẮT ĐẦU 👩‍💻. Share study tips

Lập trình hướng đối tượng trong Python

Khai báo class


class Vehicle: pass

Object là một thể hiện của class.


car = Vehicle() print(car) # <__main__.Vehicle instance at 0x7fb1de6c2638>


car

là một object (hoặc instance) của class Vehicle
Ở ví dụ trên, lớp

Vehicle

có 4 thuộc tính: number of wheels, type of tank, seating capacity, và maximum velocity. Chúng ta đặt cho tất cả các thuộc tính này khi tạo một object vehicle. Ở đây chúng ta khai báo class để nhận data khi nó được khởi tạo:


class Vehicle: def _init_(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity

Sử dụng phương thức

init

, gọi tới một phương thức khởi tạo. Khi tạo ra object vehicle, các attributes được khởi tạo.
Tất cả thuộc tính được set. Nhưng truy cập vào giá trị của chúng bằng cách nào ?


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity def number_of_wheels(self): return self.number_of_wheels def set_number_of_wheels(self, number): self.number_of_wheels = number

Implement 2 phương thức

number_of_wheels



set_number_of_weels

. Chúng ta gọi tới

getter



setter

.
Trong Python, sử dụng

@property

(

decorators

) để khai báo

getters

and

setters


class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity @property def number_of_wheels(self): return self.number_of_wheels @number_of_wheels.setter def number_of_wheels(self, number): self.number_of_wheels = number

Và có thể sử dụng các method này như một attributes


tesla_model_s = Vehicle(4, 'electric', 5, 250) print(tesla_model_s.number_of_wheels) # 4 tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2 print(tesla_model_s.number_of_wheels) # 2

Variables

Bạn có thể nghĩ là các biến như các từ chứa một giá trị. Chỉ đơn giản vậy thôi.

Trong Python, nó thực sự dễ dàng để xác định một biến và thiết lập một giá trị cho nó. Hãy tưởng tượng bạn muốn lưu trữ số 1 và trong một biến được gọi là one. Hãy làm điều đó.


one = 1

Đơn giản vậy thôi. Bạn vừa gán giá trị 1 cho biến one

Và bạn có thể gán bất kỳ giá trị nào khác cho bất kỳ biến nào khác mà bạn muốn. Ví dụ như trường hợp đưới đây, bạn gán số nguyên 2 vào biến two, 10.000 vào biến some_number


two = 2 some_number = 10000

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


# booleans true_boolean = True false_boolean = False # string company_name = "Framgia" # float book_price = 16

Tại sao mình nghỉ việc Data Scientist? Lời khuyên cho các bạn muốn làm Data Scientist.
Tại sao mình nghỉ việc Data Scientist? Lời khuyên cho các bạn muốn làm Data Scientist.

Looping / Iterator

Trong Python, chúng ta có thể lặp trong các hình thức khác nhau. Tôi sẽ nói về: while và for Vòng lặp while: trong khi câu lệnh trả về true, đoạn code bên trong khối sẽ được thực thi. Ví dụ dưới, kết quả sẽ in ra số từ 1 đến 10.


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

Vòng lặp while cần loop condition. Nếu nó vẫn trả về true, nó sẽ tiếp tục lặp lại. Trong ví dụ trên, khi num là 11, điểu kiện lặp sẽ là false.

Đối với vòng lặp for, bạn áp dụng biến num cho khối, và câu lệnh for sẽ lặp lại biến đó cho bạn. Kết quả sẽ in ra số từ 1 đến 10.


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

Trông nó thật đơn giản phải không. Phạm vi bắt đầu từ 1 đến phần tử thứ 11.

Encapsulation

Public Instance Variables

Đối với một lớp Python, chúng ta có thể khởi tạo một public instance variable trong phương thức khởi tạo của chúng ta.

Trong phương thức khởi tạo:


class Person: def __init__(self, first_name): self.first_name = first_name

Ở đây chúng ta áp dụng giá trị first_name làm đối số cho public instance variable


tk = Person('TK') print(tk.first_name) # => TK

Trong class:


class Person: first_name = 'TK'

Ở đây chúng ta không cần phải áp dụng first_name như một đối số, và tất cả các đối tượng thể hiện sẽ có một class attribute được khởi tạo là TK


tk = Person() print(tk.first_name) # => TK

Chúng ta có thể đặt một giá trị khác cho biến first_name


tk = Person('TK') tk.first_name = 'Kaio' print(tk.first_name) # => Kaio

Vì đó là một biến public, nên chúng ta có thể làm điều đó.

Tham khảo

https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567

All rights reserved

Lập Trình Python Từ Zero – Hero

Bạn sẽ học được gì

Giới thiệu khóa học

Thế giới ngày nay có rất rất nhiều ngôn ngữ lập trình được sử dụng phổ biến, trong đó phải kể đến các ngôn ngữ C++, C#, Java, Python, PHP,… Đặc biệt, Python đang là ngôn ngữ lập trình mà những người mới học công nghệ thông tin tìm học nhiều nhất. Cho đến nay những lập trình viên Python vẫn luôn được các nhà tuyển dụng tại các doanh nghiệp lớn nhỏ chiêu mộ với những ưu ái cực tốt với mức thu nhập xếp vào loại cao nhất.

Những lý do bạn nên học Python bên cạnh các ngôn ngữ lập trình khác:

✔️ Lý do 1: Python là ngôn ngữ mới và dễ học hơn bất kì ngôn ngữ nào

✔️ Lý do 2: Python là ngôn ngữ hàng đầu tại các đất nước trên thế giới nhất là Châu Âu. Và bạn cũng đã biết tương lai Việt Nam sẽ được hội nhập với các nước trên thế giới vậy cho nên nguồn lực cho mã nguồn Python là cực kì nhiều.Vì đa phần các nước châu Âu họ đều sài Python thay cho C.

✔️ Lý do 3: Python là ngôn ngữ giúp bạn viết được trên đa nền tảng nên ví dụ như lập trình website, lập trình di động và cả lập trình game thì Python đều có thể làm được.

✔️ Lý do 4: Đảm bảo đây là nội dung đầy đủ và kỹ càng nhất về ngôn ngữ lập trình Python để từ đó bạn có thể áp dụng Python vào các công việc bạn muốn hướng tới hoặc tạo thêm nhiều cơ hội việc làm cho bạn.

Hãy tham gia khóa học lập trình web trực tuyến “Lập Trình Python Từ Zero – Hero” của giảng viên Vũ Quốc Tuấn để nhanh chóng trở thành chuyên gia lập trình ngay tại khóa học Python này

Nội dung khóa học

Tags: Ngôn ngữ lập trình Lập trình Python

Khóa học liên quan

Lập trình Android từ cơ bản đến thành thạo

529

999,000đ

1,600,000đ

RESTful API designing với Spring Boot

469

599,000đ

800,000đ

Khóa học lập trình ứng dụng di động App Inventor

32

799,000đ

900,000đ

Khóa học HTML & CSS từ cơ bản đến nâng cao 2023 (Sass)

999,000đ

ASP.NET và Xây dựng hoàn chỉnh ứng dụng website động

189

299,000đ

800,000đ

1417

499,000đ

700,000đ

Làm chủ Lập trình CAM NX 3 trục (Cơ bản – Chuyên sâu)

296

299,000đ

1,000,000đ

Học lập trình Typescript qua project thực tế

91

799,000đ

1,000,000đ

13

449,000đ

700,000đ

Xây dựng REST API Service với Node và Express

100

399,000đ

700,000đ

Thông tin giảng viên

  • 1913 Học viên
  • 2 Khóa học

Giảng viên Vũ Quốc Tuấn hiện là Founder trung tâm Quoctuan.info chuyên đào tạo lập trình di động Android , lập trình di động iOS và lập trình website PHP & MySQL chất lượng và uy tính nhất TP.HCM

Anh có hơn 8 kinh nghiệm trong mảng lập trình bao gồm : lập trình di động và lập trình website

Hiện anh cũng đang làm việc tại một số công ty chuyên outsource

Đồng thời, anh tham gia giảng dạy lập trình cả online và offline

Đánh giá của học viên

70%

11%

6%

0%

13%

Nhận xét của học viên

  • Btrần thái bằng

    khóa học rất tuyệt vời, giảng viên hướng dẫn rất chi tiết. Cảm ơn unica rất nhiều

  • HĐinh Mnh Hiếu

    vì mình cũng đọc qua giáo trình rồi nên mình thấy bộ video rất đầy đủ và chi tiết 🙂

  • TNguyễn Thị Thơm

    thầy dạy rất nhiệt tình và tâm huyết nhưng có 1 vài chỗ khó hiểu và không giải thích rõ ràng

  • TTrần Vũ Trường

    khá ổn cho newbie, nhưng em cần bài tập sau mỗi bài, hoặc chương, để không bị quên kiến thức,cần có một file bài tập

  • TTran Trung Thanh

    Cảm ơn, web đã tạo 1 Chương trình học bỗ ích cho mọi người. Chương trình phù hợp vs người mới học Python. Nhưng có 1 điểm trừ đó là : Phần tương tác với giao viên còn hạn chế. Cảm ơn !!!

  • BThanh Bình

    Tôi thấy khóa học hấp dẫn.

  • BTrương Minh Bửu

    Thầy có thể làm 1 video show database qua API k Thầy, Tặng 1 video đi.

  • NKIM NGUYEN

    Rất dễ hiểu. Ngắn gọn. Đầy đủ

  • TNguyễn Anh Tuấn

    khóa học khá cũ rồi, giờ ipython3 chuyển thành jupiter bài giảng khá dễ hiểu, phần bài tập xử lý tình huống dạy nhanh quá

  • PLê Thiện Phước

    Xin cảm ơn Unica đã cho mình thêm nhiều kiến thức.

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

KQ:4613732

sao kết quả lại thế nhỉ, có phải e dịch sai đề bài không! tổng các số nhỏ hơn 4000000 phải không các thím!

Bí Quyết Nói Tiếng Anh Tự Tin Từ Học Sinh Cá Biệt 12 Năm Học | Kinh Nghiệm Du học Ngành Lập Trình Úc
Bí Quyết Nói Tiếng Anh Tự Tin Từ Học Sinh Cá Biệt 12 Năm Học | Kinh Nghiệm Du học Ngành Lập Trình Úc

Conditional statements

Câu lệnh if sử dụng một biểu thức để đánh giá liệu một câu lệnh là True hay False. Nếu nó là True, nó thực thi những gì nằm trong câu lệnh if. Ví dụ:


if True: print("Hello Python If") if 2 > 1: print("2 is greater than 1")

Câu lệnh else sẽ thực hiện nếu biểu thức if là false


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

Bạn cũng có thể sử dụng câu lệnh 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")

Lặp qua cấu trúc dữ liệu

Lặp trong

List

rất đơn giản.


bookshelf = [ "The Effective Engineer", "The 4 hours work week", "Zero to One", "Lean Startup", "Hooked" ] for book in bookshelf: print(book)

Với cấu trúc dữ liệu

Dictionary

. Cũng có thể sử dụng

for

nhưng với

key

:


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

Có một cách khác đó là sử dụng

items


dictionary = { "some_key": "some_value" } for key, value in dictionary.items(): print("%s ---> %s" %(key, value)) # some_key ---> some_value

Nếu học Lập Trình lại từ đâu, mình sẽ học như thế nào?
Nếu học Lập Trình lại từ đâu, mình sẽ học như thế nào?

Tính đóng gói: Hiding Information

Public Instance Varibales

Class của Python có thể khởi tạo

public instance variable


class Person: def __init__(self, first_name): self.first_name = first_name

Sử dụng giá trị

first_name

là một đối số

public instance variable


tk = Person('TK') print(tk.first_name) # => TK

Non-public Instance Variable

We don’t use the term “private” here, since no attribute is really private in Python (without a generally unnecessary amount of work). — PEP 8

Giống như

public instance variable

, chúng ta có thể khai báo

none-public instance variable

vả trong phương thức khởi tạo hoặc trong class. Sự khác biệt cú pháp là: đối với

none-public instance variables

sử dụng gạch dưới trước

variable

.

‘Private’ instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API (whether it is a function, a method or a data member)” — Python Software Foundation

Ví dụ:


class Person: def __init__(self, first_name, email): self.first_name = first_name self._email = email

Bạn có thấy biến

none-public


tk = Person('TK', '[email protected]') print(tk._email) # [email protected]

We can access and update it. Non-public variables are just a convention and should be treated as a non-public part of the API.

Do đó chúng ta sử dụng một phương pháp cho phép làm điều đó trong khai báo lớp. Implement 2 method (

update_email

)


class Person: def __init__(self, first_name, email): self.first_name = first_name self._email = email def update_email(self, new_email): self._email = new_email def email(self): return self._email

Như trên chúng ta có thể cập nhật và truy cập

non-public variables

sử dụng các method đó


tk = Person('TK', '[email protected]') print(tk.email()) # => [email protected] tk._email = '[email protected]' print(tk.email()) # => [email protected] tk.update_email('[email protected]') print(tk.email()) # => [email protected]

  1. Khởi tạo 1 object mới với

    first_name

    TK and
  2. In ra email bằng cách truy cập

    non-public variable

    với một method
  3. Cố gắng để set một
  4. Cần đối xử với

    non-public varible

    như một phần

    non-public

    của API
  5. Cập nhật

    non-public varible

    với phương thức khởi tạo
  6. Ta có thể update nó trong class với helper method

Public method

Với

public method


class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def show_age(self): return self._age

Và cũng không ngoại lệ đối với Python hay các ngôn ngữ lập trình khác


tk = Person('TK', 25) print(tk.show_age()) # => 25

Non public method

Nhưng với

non-public method

ta không thể gọi như

public method

. Cùng sử dụng class

Person

nhưng với

non-public method

với dấu gạch dưới


class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def _show_age(self): return self._age

Ta sẽ gọi method đó như sau


tk = Person('TK', 25) print(tk._show_age()) # => 25

We can access and update it.


Non-public

methods are just a convention and should be treated as a non-public part of the API.

Dưới đây là ví dụ để ta hiểu rõ hơn về nó


class Person: def __init__(self, first_name, age): self.first_name = first_name self._age = age def show_age(self): return self._get_age() def _get_age(self): return self._age tk = Person('TK', 25) print(tk.show_age()) # => 25

Chúng ta có

show_age



public method



_get_age



non-public method

.

show_age

có thể sử dụng bởi class

Person



_get_age

chỉ được sử dụng bên trong class đã khai báo (bên trong

show_age

)
Với tính kế thừa cũng giống như các ngôn ngữ lập trình hướng đối tượng khác nên tôi sẽ không đề cập ở bài viết này nữa. Ở bài viết sau tôi sẽ đi sâu hơn về ngôn ngữ Python. Cảm ơn bạn đã đọc bài viết này !
To be continue…

All rights reserved

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

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

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”)

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



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 và kéo dài đến element thứ

11

(

10

là element số thứ tự

10

).

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



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”)


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

Dictionary

.

Dictionary

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

Dictionary

. key 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

Hinun97
Ở đâu khó có Hinun

Thành viên BQT

Hiện tại trên thế giới có khá nhiều loại ngôn ngữ lập trình như C , Java , PHP ..v..v.. Trong các loại ngôn ngữ lập trình nền tảng đó thì Python là một trong những ngôn ngữ lập trình mới. Nếu bạn đang tìm kiếm một ngôn ngữ của tương lai thì Python là 1 lựa chọn tốt. Các lý do sau đây sẽ khiến bạn nên sẽ chọn học PythonLý do 1: Python là ngôn ngữ mới và dễ học hơn bất kì ngôn ngữ nào.Lý do 2: Python là ngôn ngữ hàng đầu tại các đất nước trên thế giới nhất là Châu Âu. Và bạn cũng đã biết tương lai Việt Nam sẽ được hội nhập với các nước trên thế giới vậy cho nên nguồn lực cho mã nguồn Python là cực kì nhiều.Vì đa phần các nước châu Âu họ đều sài Python thay cho C.Lý do 3: Python là ngôn ngữ giúp bạn viết được trên đa nền tảng nên ví dụ như lập trình website , lập trình di động và cả lập trình game thì Python đều có thể làm được.Lý do 4: Đảm bảo đây là nội dung đầy đủ và kỹ càng nhất về ngôn ngữ lập trình Python để từ đó bạn có thể áp dụng Python vào các công việc bạn muốn hướng tới hoặc tạo thêm nhiều cơ hội việc làm cho bạn.Nếu có điều kiện thì các bạn hãy mua bài giảng để ủng hộ tác giả & được support kiến thức khi cần. Còn không có điều kiện thì…

Lý do 1: Python là ngôn ngữ mới và dễ học hơn bất kì ngôn ngữ nào.

Lý do 2: Python là ngôn ngữ hàng đầu tại các đất nước trên thế giới nhất là Châu Âu. Và bạn cũng đã biết tương lai Việt Nam sẽ được hội nhập với các nước trên thế giới vậy cho nên nguồn lực cho mã nguồn Python là cực kì nhiều.Vì đa phần các nước châu Âu họ đều sài Python thay cho C.

Lý do 3: Python là ngôn ngữ giúp bạn viết được trên đa nền tảng nên ví dụ như lập trình website , lập trình di động và cả lập trình game thì Python đều có thể làm được.

Lý do 4: Đảm bảo đây là nội dung đầy đủ và kỹ càng nhất về ngôn ngữ lập trình Python để từ đó bạn có thể áp dụng Python vào các công việc bạn muốn hướng tới hoặc tạo thêm nhiều cơ hội việc làm cho bạn.

Nếu có điều kiện thì các bạn hãy mua bài giảng để ủng hộ tác giả & được support kiến thức khi cần. Còn không có điều kiện thì…

Sửa lần cuối:

Khóa học Python từ Zero to Hero

Nội dung bài viết

Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python - Từ Zero Tới Hero
Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python – Từ Zero Tới Hero
Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python - Từ Zero Tới Hero
Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python – Từ Zero Tới Hero
Khóa Học Lập Trình Python Từ Zero Đến Hero Nhiều Học Viên Nhất Trên Unica -  Youtube
Khóa Học Lập Trình Python Từ Zero Đến Hero Nhiều Học Viên Nhất Trên Unica – Youtube
Lập Trình Python Từ Zero - Hero - Vũ Quốc Tuấn | Khóa Học Online Cơ Bản  Miễn Phí Tại Nhà - Youtube
Lập Trình Python Từ Zero – Hero – Vũ Quốc Tuấn | Khóa Học Online Cơ Bản Miễn Phí Tại Nhà – Youtube
Download Khóa Học Complete Python Developer In 2023: Zero To Mastery -  Anonyviet
Download Khóa Học Complete Python Developer In 2023: Zero To Mastery – Anonyviet
Học Python Từ Zero – Hero – Luyện Code
Học Python Từ Zero – Hero – Luyện Code
Để Học Tốt Python | Topdev
Để Học Tốt Python | Topdev
Học Lập Trình Từ “Zero Đến Hero” Thật Dễ!!!
Học Lập Trình Từ “Zero Đến Hero” Thật Dễ!!!
Khóa Học Lập Trình Python Tại Vũng Tàu Từ Cơ Bản Đến Nâng Cao
Khóa Học Lập Trình Python Tại Vũng Tàu Từ Cơ Bản Đến Nâng Cao
Tự Học Python Cơ Bản Trong 10 Phút | Niit
Tự Học Python Cơ Bản Trong 10 Phút | Niit
10 Lý Do Nên Học Python Trong Năm 2022
10 Lý Do Nên Học Python Trong Năm 2022
Code Learn
Code Learn
Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python - Từ Zero Tới Hero
Khóa Học Phân Tích Dữ Liệu Với Lập Trình Python – Từ Zero Tới Hero
Khóa Học Lập Trình Python Tại Vũng Tàu Từ Cơ Bản Đến Nâng Cao
Khóa Học Lập Trình Python Tại Vũng Tàu Từ Cơ Bản Đến Nâng Cao

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *