Không cần thêm bất kỳ lời khuyên nào nữa, chúng ta hãy bắt đầu!
Bài viết liên quan:
Làm thế nào để viết Xin chào, Thế giới! bằng Python
Ở đâu đó trong máy tính của bạn, hãy tạo một tệp mới có tên program.py
và đặt mã sau vào đó:
print('Hello, World!')
Để chạy mã này, hãy mở thiết bị đầu cuối của bạn bên trong thư mục nơi bạn đã đặt program.py
tệp và thực hiện lệnh sau:
python program.py
python3 program.py
Đầu ra của mã sẽ là bất kỳ thứ gì bạn đã chuyển làm tham số của print()
hàm, trong trường hợp của đoạn mã này là:
Hello, World!
Như bạn có thể đã đoán, print()
là một hàm Python tích hợp sẵn để in bất cứ thứ gì bạn cung cấp trên bảng điều khiển. Hàm có thể in chuỗi, số, biểu thức - nhiều hơn hoặc ít hơn bất kỳ thứ gì mà bạn có thể ném vào nó.
print('Hello, World!')
print(100)
print(5 + 5)
Câu lệnh đầu tiên in ra chuỗi Hello, World!
giống như trước đó. Cái thứ hai in ra một số và cái thứ ba in ra kết quả của 5 + 5
biểu thức:
Hello, World!
100
10
Một điều mà bạn có thể nhận thấy là ba câu lệnh in đã được xuất thành ba dòng riêng biệt. Trong khi ở các ngôn ngữ khác như C / C ++ / C # / Java, bạn phải nối một ký tự dòng mới một cách rõ ràng.
Hóa ra, print()
hoạt động như ký tự dòng mới theo mặc định và bạn có thể ghi đè hành vi mặc định này như sau:
print('Hello, World!', end=' | ')
print(100, end=' | ')
print(5 + 5)
Bây giờ đầu ra của chương trình sẽ là:
Hello, World! | 100 | 10
Có nghĩa là bất kỳ chuỗi nào bạn chuyển làm giá trị của end
tham số sẽ được sử dụng làm ký tự kết thúc của dòng được in.
Ở đây, tôi đã sử dụng |
làm ký tự kết thúc của hai câu lệnh đầu tiên. Tuy nhiên, tôi đã sử dụng ký tự dòng mới mặc định làm ký tự kết thúc của câu lệnh cuối cùng.
Các biến trong Python
Để khai báo một biến trong Python, bạn bắt đầu bằng cách viết ra tên của biến, sau đó là dấu bằng, theo sau là giá trị của biến:
name = 'Farhan'
print('My name is ' + name)
Đầu ra của mã này sẽ là:
My name is Farhan
Như bạn thấy, không có từ khóa đặc biệt nào để khai báo một biến. Python đủ thông minh để lấy loại biến từ giá trị bạn đang gán.
Trong ví dụ trên, name
biến chứa Farhan
chuỗi. Vì từ Farhan
nằm trong dấu ngoặc kép nên Python sẽ coi biến này như một chuỗi.
Trong Python, bạn có thể nối hai chuỗi bằng cách sử dụng dấu cộng. Đó là những gì chúng tôi đã làm trong print()
tuyên bố ở trên. Nhưng nếu bạn thay đổi mã như sau:
name = 'Farhan'
age = 27
print('My name is ' + name)
print('I am ' + age + 'years old')
Và cố gắng chạy chương trình này, bạn sẽ gặp phải sự cố sau:
My name is Farhan
Traceback (most recent call last):
File "C:\Users\shovi\repos\python-playground\hello-world.py", line 5, in <module>
print('I am ' + age + 'years old')
TypeError: can only concatenate str (not "int") to str
Như bạn thấy, các chuỗi chỉ có thể được nối với các chuỗi và age
biến là một số nguyên. Có một cách tốt hơn để nhúng các biến trong các câu lệnh chuỗi.
name = 'Farhan'
age = 27
print(f'My name is {name}')
print(f'I am {age} years old')
Tôi hy vọng bạn đã nhận thấy f
phần đầu của chuỗi bên trong các print()
câu lệnh. Điều này f
biến các chuỗi thành chuỗi f. Các chuỗi này được đánh giá trong thời gian chạy, vì vậy bên trong chuỗi f, bạn có thể đặt bất kỳ câu lệnh Python hợp lệ nào trong dấu ngoặc nhọn. Điều này làm cho việc nhúng các biến hoặc thậm chí logic đơn giản trong các chuỗi trở nên rất dễ dàng.
Bạn có thể khai báo lại các biến của mình ở bất kỳ đâu trong chương trình. Bạn thậm chí có thể thay đổi loại của họ nếu bạn muốn.
a = 'this is a string'
a = 10
print(a)
Đây là một chương trình hoàn toàn hợp lệ và giá trị của a
sẽ được in 10
vì bạn đã ghi đè giá trị ban đầu trên dòng thứ hai.
Các kiểu dữ liệu trong Python
Trong Python, có bốn kiểu chữ chính mà bạn cần biết:
GÕ PHÍM |
VÍ DỤ |
Số nguyên |
1 |
Dấu chấm động |
2.0 |
Boolean |
ĐÚNG VẬY |
Sợi dây |
'freeCodeCamp' |
Số nguyên và dấu phẩy động là tự giải thích. Một boolean có thể là hoặc true
hoặc false
và các chuỗi trong Python có thể được đặt trong dấu nháy đơn hoặc dấu nháy kép. Tôi thích sử dụng dấu ngoặc kép hơn. Bạn có thể sử dụng câu bạn thích nhưng cố gắng không kết hợp cả hai loại dấu ngoặc kép với nhau.
>>> Tham gia Khóa học python tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.
Nhận xét trong Python bắt đầu bằng ký hiệu băm:
Nhận xét được viết bằng cách sử dụng một hàm băm chỉ có thể là một dòng. Nếu bạn muốn viết bình luận nhiều dòng bằng Python, bạn sẽ phải sử dụng dấu ngoặc kép như sau:
'''this is a comment
that goes on
and on
and on...'''
Nhận xét mã của bạn khi cần thiết là một cách tốt để ghi lại nó. Nhưng hãy đảm bảo rằng bạn không thêm nhận xét mà mã có thể dễ dàng hiểu được bằng cách chỉ nhìn vào nó.
Chuỗi trong Python
Chuỗi trong Python là tập hợp các ký tự Unicode có thứ tự. Không thể sửa đổi các chuỗi trong thời gian chạy. Bạn đã thấy cách khai báo một chuỗi. Trong phần này, bạn sẽ tìm hiểu về các phép toán chuỗi phổ biến.
Trong một chuỗi, mỗi ký tự sẽ có một chỉ mục. Và giống như mảng, chỉ mục chuỗi không dựa trên cơ sở nào.
name = 'Farhan'
Các ký tự này có thể được truy cập bằng cách sử dụng các chỉ mục này như sau:
name = 'Farhan'
print(name[0])
print(name[1])
print(name[2])
print(name[3])
print(name[4])
print(name[5])
Kết quả của chương trình này sẽ như sau:
Farhan
Một điều thú vị khác mà bạn có thể làm khi sử dụng các chỉ mục này là cắt. Giả sử rằng bạn muốn lấy ra một phần từ một chuỗi.
name = 'Farhan'
print(name[0:3])
Đầu ra của chương trình này sẽ là:
Far
Trong ví dụ này, name[0:3]
có nghĩa là in bắt đầu từ chỉ mục 0
đến chỉ mục 3
. Bây giờ bạn có thể nghĩ rằng đó h
là ở chỉ mục 3
và bạn sẽ đúng về điều đó. Nhưng vấn đề về việc cắt lát là, nó không bao gồm ký tự ở chỉ mục kết thúc.
Bạn có thể sử dụng len()
hàm để tính độ dài của một chuỗi như sau:
name = 'Farhan'
print(len(name))
Đầu ra từ chương trình này sẽ là 6
vì có sáu ký tự trong chuỗi.
Python có rất nhiều phương thức chuỗi, nhưng việc chứng minh mỗi phương thức trong số chúng là không thể ở đây vì vậy tôi sẽ trình bày một số phương thức phổ biến nhất.
Phương pháp đầu tiên là capitalize()
. Phương thức này trả về một bản sao của chuỗi đã cho với ký tự đầu tiên được viết hoa và phần còn lại viết thường.
print('python is awesome'.capitalize())
Đầu ra của mã này sẽ là Python is awesome
. Nếu bạn muốn chuyển toàn bộ câu thành chữ hoa, có upper()
phương pháp:
print('python is awesome'.upper())
Đầu ra của mã này sẽ là PYTHON IS AWESOME
. Bạn có thể làm ngược lại bằng lower()
phương pháp:
print('PYTHON IS AWESOME'.lower())
Đầu ra của mã này sẽ là python is awesome
. Có các phương thức isupper()
và islower()
để kiểm tra xem một chuỗi là chữ hoa hay chữ thường.
print('PYTHON IS AWESOME'.islower())
print('PYTHON IS AWESOME'.isupper())
Đầu ra của mã này sẽ như sau:
False
True
Nếu bạn muốn thay thế tất cả các lần xuất hiện của một chuỗi con trong một chuỗi, bạn có thể làm như vậy bằng cách sử dụng replace()
phương pháp:
print('python is awesome'.replace('python', 'freeCodeCamp'))
Mã này sẽ thay thế tất cả các lần xuất hiện của python
với freeCodeCamp
trong chuỗi đã cho.
Cuối cùng, có các phương pháp split()
và join()
. Cái đầu tiên chia một chuỗi thành một danh sách:
print('python is awesome'.split(' '))
Phương thức sử dụng một dấu phân tách để chia chuỗi trên. Ở đây, tôi đã sử dụng khoảng trắng làm dấu phân cách. Đầu ra của mã này sẽ là ['python', 'is', 'awesome']
. Đây là một danh sách. Chúng tôi chưa bao gồm danh sách nhưng chúng tôi sẽ sớm. Bây giờ, hãy hiểu rằng chúng giống như các mảng.
Bạn có thể tạo một chuỗi mới bằng cách sử dụng các phần tử của một chuỗi có thể lặp lại, đó là một danh sách, sử dụng join()
phương pháp:
print(' '.join(['python', 'is', 'awesome']))
Tôi đã gọi join()
phương thức trên một khoảng trắng vì vậy kết quả của đoạn mã này sẽ là một chuỗi được nối bằng cách sử dụng dấu cách ở giữa như sau:
python is awesome
Số trong Python
Các số trong Python có thể thuộc loại số nguyên, dấu phẩy động và phức tạp. Trong bài viết này, tôi sẽ chỉ thảo luận về các phép toán liên quan đến số thực - tức là số nguyên và dấu phẩy động.
Bạn có thể thực hiện các phép tính cộng, trừ, nhân và chia bằng cách sử dụng số nguyên và số dấu phẩy động giống như trong bất kỳ ngôn ngữ lập trình nào khác:
a = 10
b = 5
print(a+b)
print(a-b)
print(a*b)
print(a/b)
Đầu ra từ đoạn mã này sẽ như sau:
15
5
50
2.0
Một điều cần lưu ý là ngay cả khi bạn thực hiện phép chia giữa hai số nguyên, kết quả sẽ luôn là dấu phẩy động. Nếu bạn muốn kết quả là một số nguyên, bạn có thể làm như sau:
a = 10
b = 5
print(a//b)
Lần này kết quả sẽ là một số nguyên. Hãy cẩn thận rằng nếu có bất kỳ số nào sau dấu thập phân, chúng sẽ bị cắt nhỏ.
Cách xử lý đầu vào của người dùng bằng Python
Để lấy đầu vào từ người dùng, có input()
chức năng này.
name = input('What is your name? ')
print(f'Your name is {name}')
Kết quả từ chương trình này sẽ như sau:
What is your name? Farhan
Your name is Farhan
Hàm input()
lưu đầu vào của người dùng dưới dạng một chuỗi ngay cả khi người dùng nhập một số. Vì vậy, nếu bạn đang lấy một số làm đầu vào từ người dùng, hãy đảm bảo chuyển đổi nó sang kiểu dữ liệu thích hợp.
If-elif-else bằng Python
Giống như bất kỳ ngôn ngữ lập trình nào khác, Python có các if-elif-else
câu lệnh thông thường.
a = float(input('First: '))
b = float(input('Second: '))
op = input('Operation (sum/sub/mul/div): ')
if op == 'sum':
print(f'a + b = {a+b}')
elif op == 'sub':
print(f'a - b = {a-b}')
elif op == 'mul':
print(f'a * b = {a*b}')
elif op == 'div':
print(f'a / b = {a/b}')
else:
print('Invalid Operation!')
Đây là một chương trình máy tính rất đơn giản. Tùy thuộc vào thao tác bạn chọn, máy tính sẽ thực hiện một trong các thao tác đã đề cập.
Trong Python, các khối mã chẳng hạn như if
khối hoặc elif
khối hoặc else
khối bắt đầu bằng từ khóa và dấu hai chấm.
Thụt lề là rất quan trọng trong Python và nếu bạn thụt lề mã trong một khối mã không phù hợp, mã sẽ không chạy được.
Match-case bằng Python
Trong Python, a match-case
tương đương với một switch-case
câu lệnh trong các ngôn ngữ lập trình khác. Chương trình máy tính nói trên có thể được viết lại bằng cách sử dụng match-case
như sau:
a = float(input('First: '))
b = float(input('Second: '))
op = input('Operation (sum/sub/mul/div): ')
match op:
case 'sum':
print(f'a + b = {a+b}')
case 'sub':
print(f'a - b = {a-b}')
case 'mul':
print(f'a * b = {a*b}')
case 'div':
print(f'a / b = {a/b}')
case _:
print('Invalid Operation!')
Một lần nữa, tùy thuộc vào giá trị của op
, một trong các trường hợp sẽ được thực hiện. Nếu đầu vào từ người dùng không khớp với bất kỳ trường hợp nào, thì _
hành động ký tự đại diện sẽ diễn ra.
Hãy nhớ rằng match-case
chỉ có sẵn trên Python 3.10 và các phiên bản mới hơn. Vì vậy, nếu bạn đang sử dụng phiên bản cũ hơn, bạn có thể không có câu lệnh này.
Danh sách và Tuples bằng Python
Danh sách trong Python là một chuỗi các giá trị. Bạn có thể sửa đổi danh sách trong thời gian chạy. Bạn có thể tạo một danh sách như sau:
vowels = ['a', 'e', 'i', 'o', 'u']
print(vowels)
Đầu ra của chương trình này sẽ là ['a', 'e', 'i', 'o', 'u']
. Giống như các chuỗi, mỗi phần tử trong danh sách Python có một chỉ mục và các chỉ mục này bắt đầu từ 0.
vowels = ['a', 'e', 'i', 'o', 'u']
print(vowels[0])
print(vowels[1])
print(vowels[2])
print(vowels[3])
print(vowels[4])
Giống như chuỗi, bạn cũng có thể thực hiện cắt trên danh sách và cú pháp để cắt danh sách cũng giống như một chuỗi.Danh sách trong Python có một loạt các phương pháp hữu ích. Để thêm các mục mới vào danh sách, có append()
, extend()
và insert()
các phương pháp.
Phương append()
thức thêm một mục mới vào danh sách và extend()
phương thức thêm nhiều mục:
vowels = ['a', 'e']
vowels.append('i')
vowels.extend(['o', 'u'])
print(vowels)
Mặt insert()
khác, phương pháp này chèn một mục tại một chỉ mục nhất định trong danh sách:
vowels = ['a', 'i', 'o', 'u']
vowels.insert(1, 'e')
print(vowels)
Phương pop()
thức bật phần tử cuối cùng ra khỏi danh sách:
vowels = ['a', 'e', 'i', 'o', 'u']
popped_item = vowels.pop()
print(popped_item)
print(vowels)
Đầu ra từ đoạn mã này sẽ là:
u
['a', 'e', 'i', 'o']
Phương remove()
thức có thể xóa một phần tử đã cho khỏi danh sách:
vowels = ['a', 'e', 'i', 'o', 'u']
vowels.remove('e')
print(vowels)
Thao tác này sẽ xóa e
danh sách các nguyên âm.
Cuối cùng là clear()
phương pháp loại bỏ tất cả các phần tử khỏi danh sách.
Ngoài ra còn có sort()
phương pháp:
vowels = ['u', 'e', 'a', 'o', 'i']
vowels.sort()
print(vowels)
Phương sort()
pháp sắp xếp danh sách theo thứ tự tăng dần. Phương pháp này sắp xếp danh sách tại chỗ. Điều này có nghĩa là nó không trả về một danh sách mới mà thay vào đó nó sẽ sắp xếp danh sách ban đầu.
Nếu bạn muốn đảo ngược danh sách thay vào đó, có reverse()
phương pháp:
vowels = ['u', 'e', 'a', 'o', 'i']
vowels.reverse()
print(vowels)
Nó cũng là một phương pháp tại chỗ giống như sắp xếp. Nó chỉ là đảo ngược (không có ý định chơi chữ) của phương pháp sắp xếp.
Ngoài ra còn có một kiểu chuỗi bất biến được gọi là tuple trong Python. Tuple khá giống với danh sách nhưng bạn không thể sửa đổi một tuple.
vowels = ('a', 'e', 'i', 'o', 'u')
print(vowels)
Đầu ra của mã này sẽ là ('a', 'e', 'i', 'o', 'u')
. Không có nhiều phương pháp cho các bộ giá trị. Nếu bạn muốn tìm hiểu thêm về bộ giá trị
Vòng lặp bằng Python
Bạn có thể sử dụng các vòng lặp trong Python để lặp qua một loại trình tự như danh sách.
vowels = ['a', 'e', 'i', 'o', 'u']
for letter in vowels:
print(letter.upper())
Cũng có while
vòng lặp nhưng vì for
vòng lặp là thứ bạn sẽ sử dụng chủ yếu nên tôi sẽ không dành thời gian giải thích về while
các vòng lặp.
Từ điển bằng Python
Giả sử tôi đã đưa cho bạn dòng "con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng" và yêu cầu bạn đếm số lần xuất hiện cho mỗi chữ cái. Bạn có thể làm điều này một cách dễ dàng bằng cách sử dụng một bản đồ băm.
Bản đồ băm là một tập hợp các cặp khóa-giá trị.
{
key_1: value_1,
key_2: value_2,
key_3: value_3,
key_4: value_4,
key_5: value_5,
}
Để thực hiện nhiệm vụ mà tôi đã giao cho bạn trước đó, bạn có thể viết đoạn mã sau:
sentence = 'the quick brown fox jumped over the lazy dog'
record = {}
for letter in sentence:
if letter in record:
record[letter] += 1
else:
record[letter] = 1
print(record)
Đầu ra cho mã này sẽ như sau:
{'t': 2, 'h': 2, 'e': 4, ' ': 8, 'q': 1, 'u': 2, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'r': 2, 'o': 4, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 'd': 2, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'g': 1}
Đây là một cuốn từ điển. Mỗi chữ cái là một khóa và số lần xuất hiện của chúng là giá trị. Trên đoạn mã, bạn khai báo một từ điển ở dòng thứ hai. Estefania Cassingena Navone đã viết một bài báo có tên là Từ điển Python 101
Các hàm trong Python
Khái niệm cuối cùng mà tôi sẽ thảo luận là các hàm. Các hàm trong lập trình là các đoạn mã thực hiện một nhiệm vụ nhất định.
Trong Python, bạn có thể khai báo một hàm bằng cách sử dụng def
từ khóa theo sau là chữ ký hàm:
def sum(a, b):
return a + b
def sub(a, b):
return a - b
def mul(a, b):
return a * b
def div(a, b):
return a / b
a = float(input('First: '))
b = float(input('Second: '))
op = input('Operation (sum/sub/mul/div): ')
if op == 'sum':
print(f'a + b = {sum(a, b)}')
elif op == 'sub':
print(f'a - b = {sub(a, b)}')
elif op == 'mul':
print(f'a * b = {mul(a, b)}')
elif op == 'div':
print(f'a / b = {div(a, b)}')
else:
print('Invalid Operation!')
Đây là chương trình máy tính tương tự như trước đây, nhưng bây giờ các phép toán được viết trong các hàm riêng biệt. Có rất nhiều khái niệm khác mà bạn cần tìm hiểu nếu bạn muốn trở thành một lập trình viên Python giỏi
Trên đây là một số chia sẽ riêng của trung tâm tin học NIIT - ICT Hà Nội chia sẽ đến các bạn mong là nó sẽ hưu ích cho các bạn.