Cộng đồng chia sẻ tri thức Lib24.vn

Cú pháp cơ bản

Gửi bởi: Phạm Thọ Thái Dương 19 tháng 2 2020 lúc 14:48:16


Mục lục
* * * * *

Ngôn ngữ Python có nhiều điểm tương đồng với Perl, C và Java. Tuy nhiên, có một số khác biệt nhất định giữa các ngôn ngữ.

Chương trình Python đầu tiên

Hãy để chúng tôi thực hiện các chương trình trong các chế độ khác nhau của lập trình.

Lập trình chế độ tương tác

Gọi trình thông dịch mà không chuyển tệp script làm tham số sẽ đưa ra lời nhắc sau -

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Nhập văn bản sau vào dấu nhắc Python và nhấn Enter -

>>> print "Hello, Python!"

Nếu bạn đang chạy phiên bản mới của Python, thì bạn sẽ cần sử dụng câu lệnh in với dấu ngoặc đơn như trong bản in ("Xin chào, Python!"); . Tuy nhiên, trong phiên bản Python 2.4.3, điều này tạo ra kết quả như sau -

Hello, Python!

Lập trình chế độ tập lệnh

Gọi trình thông dịch với tham số tập lệnh bắt đầu thực thi tập lệnh và tiếp tục cho đến khi tập lệnh kết thúc. Khi tập lệnh kết thúc, trình thông dịch không còn hoạt động.

Hãy để chúng tôi viết một chương trình Python đơn giản trong một kịch bản. Các tệp Python có phần mở rộng .py . Nhập mã nguồn sau vào tệp test.txt -

print "Hello, Python!"

Chúng tôi giả sử rằng bạn có trình thông dịch Python được đặt trong biến PATH. Bây giờ, hãy thử chạy chương trình này như sau -

$ python test.py

Điều này tạo ra kết quả sau -

Hello, Python!

Chúng ta hãy thử một cách khác để thực thi một kịch bản Python. Dưới đây là tệp test.txt đã sửa đổi -

#!/usr/bin/python

print "Hello, Python!"

Chúng tôi giả sử rằng bạn có trình thông dịch Python có sẵn trong thư mục / usr / bin. Bây giờ, hãy thử chạy chương trình này như sau -

$ chmod +x test.py     # This is to make file executable
$./test.py

Điều này tạo ra kết quả sau -

Hello, Python!

Định danh Python

Mã định danh Python là tên được sử dụng để xác định một biến, hàm, lớp, mô-đun hoặc đối tượng khác. Một định danh bắt đầu bằng một chữ cái từ A đến Z hoặc a đến z hoặc dấu gạch dưới (_) theo sau là 0 hoặc nhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

Python không cho phép các ký tự dấu chấm câu như @, $ và% trong các định danh. Python là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Do đó, Nhân lực và Nhân lực là hai định danh khác nhau trong Python.

Dưới đây là quy ước đặt tên cho mã định danh Python -

  1. Tên lớp bắt đầu bằng một chữ cái viết hoa. Tất cả các định danh khác bắt đầu bằng một chữ cái viết thường.
  2. Bắt đầu một định danh với một dấu gạch dưới hàng đầu duy nhất cho biết rằng định danh là riêng tư.
  3. Bắt đầu một định danh với hai dấu gạch dưới hàng đầu cho thấy một định danh riêng tư mạnh mẽ.
  4. Nếu mã định danh cũng kết thúc bằng hai dấu gạch dưới, thì mã định danh là tên đặc biệt do ngôn ngữ xác định.

Từ dành riêng

Danh sách sau đây cho thấy các từ khóa Python. Đây là những từ dành riêng và bạn không thể sử dụng chúng dưới dạng hằng hoặc biến hoặc bất kỳ tên định danh nào khác. Tất cả các từ khóa Python chỉ chứa các chữ cái viết thường.

Dòng và thụt

Python không cung cấp dấu ngoặc để chỉ ra các khối mã cho các định nghĩa lớp và hàm hoặc điều khiển luồng. Các khối mã được biểu thị bằng cách thụt dòng, được thi hành một cách cứng nhắc.

Số lượng khoảng trắng trong thụt đầu dòng là khác nhau, nhưng tất cả các câu lệnh trong khối phải được thụt vào cùng một lượng. Ví dụ:

if True:
   print "True"
else:
   print "False"

Tuy nhiên, khối sau tạo ra lỗi -

if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"

Do đó, trong Python, tất cả các dòng liên tục được thụt vào với cùng một số khoảng trắng sẽ tạo thành một khối. Ví dụ sau có các khối câu lệnh khác nhau -

Lưu ý - Đừng cố gắng hiểu logic tại thời điểm này. Chỉ cần chắc chắn rằng bạn hiểu các khối khác nhau ngay cả khi chúng không có niềng răng.

#!/usr/bin/python

import sys

try:
   # open file stream
   file = open(file_name, "w")
except IOError:
   print "There was an error writing to", file_name
   sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
   file_text = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
   print "Next time please enter something"
   sys.exit()
try:
   file = open(file_name, "r")
except IOError:
   print "There was an error reading file"
   sys.exit()
file_text = file.read()
file.close()
print file_text

Báo cáo nhiều dòng

Các câu lệnh trong Python thường kết thúc bằng một dòng mới. Tuy nhiên, Python cho phép sử dụng ký tự tiếp tục dòng (\) để biểu thị rằng dòng sẽ tiếp tục. Ví dụ:

total = item_one + \
        item_two + \
        item_three

Các câu lệnh có trong dấu ngoặc [], {} hoặc () không cần sử dụng ký tự tiếp tục dòng. Ví dụ:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Báo giá bằng Python

Python chấp nhận các trích dẫn đơn ('), double (") và triple (' '' hoặc" "") để biểu thị các chuỗi ký tự, miễn là cùng một loại trích dẫn bắt đầu và kết thúc chuỗi.

Các trích dẫn ba được sử dụng để trải dài chuỗi trên nhiều dòng. Ví dụ: tất cả những điều sau đây là hợp pháp -

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Nhận xét bằng Python

Dấu băm (#) không nằm trong chuỗi ký tự bắt đầu nhận xét. Tất cả các ký tự sau # và cho đến cuối dòng vật lý là một phần của nhận xét và trình thông dịch Python bỏ qua chúng.

Bản thử trực tiếp

#!/usr/bin/python

# First comment
print "Hello, Python!" # second comment

Điều này tạo ra kết quả sau -

Hello, Python!

Bạn có thể nhập một nhận xét trên cùng một dòng sau một tuyên bố hoặc biểu thức -

name = "Madisetti" # This is again comment

Bạn có thể bình luận nhiều dòng như sau -

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

Theo sau chuỗi ba trích dẫn cũng bị bỏ qua bởi trình thông dịch Python và có thể được sử dụng như một nhận xét đa dòng:

'''
This is a multiline
comment.
'''

Sử dụng dòng trống

Một dòng chỉ chứa khoảng trắng, có thể có một nhận xét, được gọi là một dòng trống và Python hoàn toàn bỏ qua nó.

Trong phiên phiên dịch tương tác, bạn phải nhập một dòng vật lý trống để chấm dứt câu lệnh đa dòng.

Chờ người dùng

Dòng sau của chương trình hiển thị lời nhắc, câu lệnh cho biết Bấm phím Enter để thoát ra khỏi chế độ và chờ người dùng thực hiện hành động -

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

Ở đây, "\ n \ n" được sử dụng để tạo hai dòng mới trước khi hiển thị dòng thực. Khi người dùng nhấn phím, chương trình kết thúc. Đây là một mẹo hay để giữ cửa sổ giao diện điều khiển mở cho đến khi người dùng hoàn thành một ứng dụng.

Nhiều báo cáo trên một dòng

Dấu chấm phẩy (;) cho phép nhiều câu lệnh trên một dòng được đưa ra mà không câu lệnh nào bắt đầu một khối mã mới. Đây là một snip mẫu sử dụng dấu chấm phẩy -

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Nhiều nhóm tuyên bố như Suites

Một nhóm các câu lệnh riêng lẻ, tạo ra một khối mã duy nhất được gọi là bộ trong Python. Các câu lệnh ghép hoặc phức tạp, chẳng hạn như if, while, def và class yêu cầu một dòng tiêu đề và một bộ.

Các dòng tiêu đề bắt đầu câu lệnh (với từ khóa) và chấm dứt bằng dấu hai chấm (:) và được theo sau bởi một hoặc nhiều dòng tạo nên bộ. Ví dụ:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Đối số dòng lệnh

Nhiều chương trình có thể được chạy để cung cấp cho bạn một số thông tin cơ bản về cách chúng nên được chạy. Python cho phép bạn làm điều này với -h -

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

Được cập nhật: 21 tháng 3 lúc 3:01:21 | Lượt xem: 557