12/08/2018, 13:29

Mẹo hay với những lập trình viên mới học Python

Bạn có trong quá trình học Python? Nó là một ngôn ngữ tuyệt vời để tìm hiểu, nhưng như với bất kỳ ngôn ngữ, nó cũng có những thách thức riêng. Với tất cả các cách khác nhau làm việc trong Python, chúng tôi quyết định biên soạn một danh sách hữu ích về các vấn đề mà người mới bắt đầu học Python ...

Bạn có trong quá trình học Python? Nó là một ngôn ngữ tuyệt vời để tìm hiểu, nhưng như với bất kỳ ngôn ngữ, nó cũng có những thách thức riêng.

Với tất cả các cách khác nhau làm việc trong Python, chúng tôi quyết định biên soạn một danh sách hữu ích về các vấn đề mà người mới bắt đầu học Python thường gặp phải.

questions-reponses-profits.jpg

Đọc từ Terminal

Nếu bạn đang chạy một chương trình trên thiết bị đầu cuối và bạn cần người dùng nhập vào và lấy ra giá trị người dùng vừa nhập.

Trong Python, chức năng raw_input tạo điều kiện này. Hãy xem xét một chương trình nhỏ để xem kết quả:

name = raw_input('Type your name and press enter: ')
print 'Hi ' + name

Kết quả

Type your name and press enter: Shaumik
Hi Shaumik

Một điều quan trọng cần lưu ý ở đây là các biến là một chuỗi, và bạn cần phải lọc và chuyển đổi nó để sử dụng nó trong một hình thức khác nhau (như một đầu vào cho số lần lặp hoặc chiều dài của một ma trận):

name = raw_input('Type your name and press enter: ')
print 'Hi ' + name
num = raw_input('How many times do you want to print your name: ')
for i in range(int(num)):
    print name

Enumerating trong Python

Python thường sử dụng các cách làm việc khác nhau từ các ngôn ngữ lập trình phổ biến khác như C ++ và Java. Khi bạn duyệt một mảng trong các ngôn ngữ khác, bạn tăng một số nguyên từ 0 và truy cập vào các phần tử tương ứng của mảng. Python cũng làm tương tự:

for (int i = 0; i < array_length; ++i)
    cout << array[i];

Tuy nhiên, trong Python, bạn có thể chỉ đơn giản là đi qua từng phần tử của mảng mà không cần sử dụng các chỉ số:

for item in array:
    print item

Làm cách nào nếu như bạn cũng cần sử dụng cả các chỉ mục của phần tử trong mảng. Hàm enumerate sẽ giúp bạn làm việc đó.

>>> x = [10, 11, 12, 13, 14]
>>> for item in enumerate(x):
...     print item
...
(0, 10)
(1, 11)
(2, 12)
(3, 13)
(4, 14)

Hãy tưởng tượng một tình huống mà bạn cần phải in từng giá trị trong một mảng theo các chỉ mục tương ứng. Một cách để làm như vậy là như sau:

>>> for index, item in enumerate(x):
...     if index % 2 == 0:
...         print item
...
10
12
14

Thực hiện một lệnh bên ngoài thông qua Python

Tại một vài thời điểm, bạn có thể sẽ cần thực hiện một vài lệnh command từ terminal. Bạn có thể thực hiện việc đó thông qua việc gọi hàm call trong module subprocess

>>> from subprocess import call
>>> call('cal')
     March 2016
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

0

Hoặc bạn có thể thực hiện lệnh gọi git status để kiểm tra trạng thái.

>>> from subprocess import call
>>> call(['git', 'status'])
fatal: Not a git repository (or any of the parent directories): .git
128

Làm việc với Exceptions

Python là một ngôn ngữ thông dịch. Các mã được thực thi từng dòng một, bởi vậy, nếu một dòng gặp lỗi, các dòng sau sẽ không được thực hiện. Tuy nhiên bạn có thể bắt các ngoại lệ để việc thực thi code không bị dừng lại bằng việc sử dụng khối lệnh try - except

>>> x = 1/0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero

Khi bắt ngoại lệ.

>>> try:
...     x = 1/0
... except:
...     print "Some error occurred"
...
Some error occurred

Bạn cũng có thể thêm các ngoại lệ khác.

>>> try:
...     x = 1/0
... except ZeroDivisionError:
...     print "You tried to divide by zero"
... except:
...     print "Some unknown error occurred"
...
You tried to divide by zero
0