Hướng dẫn python playground

Nếu bạn là người đang cố gắng bắt đầu với Python thì bạn không thẻ bỏ qua bài viết này. Bài viết này không cố gắng trở thành một cái đầu khác các ngôn ngữ sã có của các nền tảng lập trình. Thay vào đó, ở đây tôi sẽ giới thiệu cho bạn những kiến ​​thức cơ bản về Python và tôi sẽ chỉ bạn đi đúng hướng.

Nội dung chính

  • Làm thế nào để viết Xin chào, Thế giới! bằng Python
  • Các biến trong Python
  • Các kiểu dữ liệu trong Python
  • Chuỗi trong Python
  • Số trong Python
  • If-elif-else bằng Python
  • Match-case bằng Python
  • Danh sách và Tuples bằng Python
  • Vòng lặp bằng Python
  • Từ điển bằng Python
  • Các hàm trong Python

Trong bài viết này, Trung tâm tin học NIIT Hà Nội sẽ giới thiệu về các nguyên tắc cơ bản của ngôn ngữ lập trình Python với sự trợ giúp của rất nhiều ví dụ về mã. Tôi sẽ giải thích về python chi tiết và bao gồm các liên kết để nghiên cứu thêm.

Trong khi tôi sẽ giải thích các ví dụ mã kỹ lưỡng, tôi giả định rằng bạn đã quen thuộc với các khái niệm lập trình phổ biến như biểu thức, câu lệnh, biến, hàm, v.v. Vì vậy, tôi sẽ không dành thời gian giải thích các khái niệm lập trình này một cách chi tiết - thay vào đó tôi sẽ tập trung vào cách triển khai / sử dụng chúng của Python.

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:

  • Hướng dẫn sử dụng và thao tác với Tuple trong Python
  • Hướng dẫn tạo và sử dụng Dictionary trong Python

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.pyvà đặ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.pytệp và thực hiện lệnh sau:

# on Windows and macOS
python program.py

# on Linux
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 + 5biể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 endtham 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, namebiến chứa Farhanchuỗi. Vì từ Farhannằ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à agebiế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 fphần đầu của chuỗi bên trong các print()câu lệnh. Điều này fbiế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 asẽ được in 10vì 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 truehoặc falsevà 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:

# this is a comment

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'

# F -> 0
# a -> 1
# r -> 2
# h -> 3
# a -> 4
# n -> 5

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 3Bây giờ bạn có thể nghĩ rằng đó hlà ở chỉ mục 3và 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à 6vì 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 awesomeNế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 AWESOMEBạ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 awesomeCó 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 pythonvớ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-elsecâ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ư ifkhối hoặc elifkhối hoặc elsekhố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-casetương đương với một switch-casecâ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-casenhư 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-casechỉ 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 edanh 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ó whilevòng lặp nhưng vì forvò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ề whilecá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 deftừ 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.

Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!