News
Loading...

BÀI 1.COMENT, STRING VÀ NUMBER


Trong ví dụ sau đây, input (dữ liệu, câu lệnh) và output ( thông tin được xuất ra ) được phân biệt bởi dấu " >>>'' và "..." . Dòng có ">>>" hoặc "..." là dòng mà bạn ghi những câu lệnh; dòng mà không bắt đầu với ">>>" hoặc "..." là dòng thông tin , kết quả được xuất ra từ trình biên dịch. Lưu ý rằng nếu một dấu ">>>dưới một dòng ">>>" khác  có nghĩa là bạn phải gõ một dòng trống, được sử dụng để kết thúc một lệnh đa dòng  ( quá trình code sẽ hiểu rõ hơn ).


Phần chú thích - Comment trong Python bắt đầu với dấu #, và kéo dài đến cuối dòng . Một chú thích có thể xuất hiện ở đầu dòng hoặc sau khoảng trắng hoặc mã, nhưng  không phải trong một chuỗi chữ. Một # trong một chuỗi ký tự chỉ là một #. Phần chú  thích được trình biên dịch bỏ qua trong quá trình biên dịch chương trình.

Ví dụ :


>>> đây là dòng chú thích đầu tiên
>>> spam = 1  đây là dòng chú thích thứ hai
          # ... Và đây là chú thích thứ ba!
>>> text = "# Đây không phải là chú thích do nằm trong chuỗi ."


Sử dụng Python như một máy tính tiện dụng
Hãy thử một số lệnh Python đơn giản. Khởi động trình biên dịch Python và chờ đợi  dấu " >>>" . (Nó không  mất nhiều thời gian.)

SỐ ( NUMBER )
Trình biên dịch hoạt động như một máy tính đơn giản: bạn có thể gõ một biểu thức vào và nó sẽ cho ra các giá trị. Cú pháp biểu thức rất đơn giản: các toán tử +, -, * và / làm việc giống như trong hầu hết các ngôn ngữ khác (ví dụ, Pascal hoặc C); dấu ngoặc đơn () có thể được sử dụng cho các nhóm. 
 Ví dụ:

>>> 2 + 2 
>>> 50 - 5*6 
20 
>>> (50 - 5.0*6) / 4 
5.0 
>>> 8 / 5.0 
1.6 

Các số nguyên (ví dụ 2, 4, 20) có kiểu int, những số thực (ví dụ 5.0, 1.6) có kiểu float. Chúng tôi sẽ nêu thêm về các loại số ở phần sau trong hướng dẫn. 
Dấu là dấu chia phụ thuộc kiểu của số bị chia và số chia. Nếu cả hai số hạng là kiểu  int, kết quả sẽ là phần nguyên. Nếu một trong hai toán hạng là một float, kết quả sẽ là số thực bao gồm phần nguyên và phần dư. Dấu // là dấu chia chỉ lấy phần nguyên.  Dấu % là dấu chia chỉ lấy phần dư. 

>>> 17 / 3 # int / int -> int
 5 
>>> 17 / 3.0 # int / float -> float 
5.666666666666667 
>>> 17 // 3.0 chia lấy nguyên
5.0 
>>> 17 % 3 chia lấy dư 
2

 Với Python, có thể sử dụng toán tử ** để tính lũy thừa:

>>> 5 ** 2 
25 
>>> 2 ** 7 
128 

Dấu bằng = được sử dụng để gán giá trị cho một biến:
>>> width = 20
>>> height = 5 * 9 

Nếu một biến không được gán giá trị, lỗi sẽ xảy ra khi bạn cố gắng dùng nó.
Trong Python, biểu thức cuối cùng được gán vào biến _. Điều này có nghĩa rằng khi  bạn đang sử dụng Python như một máy tính bàn, nó giúp phần nào dễ dàng hơn để  tiếp tục tính toán, ví dụ:
>>> tax = 12.5 / 100 
>>> price = 100.50 
>>> price * tax 
12.5625
>>> price + _ 
113.0625
>>> round(_, 2) # lệnh round dùng để làm tròn phần thập phân 
113.06 


Biến này phải được coi là chỉ đọc bởi người sử dụng. Đừng gán giá trị cho nó - bạn sẽ  tạo ra một biến độc lập có cùng tên và sẽ gây rắc rối cho quá trình làm việc.

Ngoài int và float, Python hỗ trợ các loại số khác, chẳng hạn như một số thập phân và phân số. Python cũng đã được xây dựng trong hỗ trợ cho số phức, và sử dụng j hay J  hậu tố để chỉ phần ảo (ví dụ: 3 + 5J).
  

CHUỖI KÝ TỰ ( STRING )
Bên cạnh con số, Python cũng có thể thao tác trên chuỗi, có thể được thể hiện bằng  nhiều cách. Chuỗi ký tự có thể được kèm theo trong dấu nháy đơn ( '...') hoặc dấu  ngoặc kép ( "...") , cả hai cách đều như nhau. Dấu \ có thể được sử dụng để phân biệt đâu là dấu nháy đơn trong những từ tiếng anh và đâu là dấu nháy thuộc về   chuỗi ký tự:
>>> 'spam eggs' chuỗi bình thường với cặp nháy đơn
 'spam eggs'
>>> 'doesn\'t' sử dụng \ để phân biệt các dấu nháy đơn
"doesn't" # kết quả tự động chuyển về trong cặp nháy đôi
>>> "doesn't" cũng có thể sử dụng cặp nháy đôi để phân biệt 
"doesn't" 
>>> '"Yes," he said.' 
'"Yes," he said.' 
>>> "\"Yes,\" he said.'
 '"Yes," he said.' 
>>> '"Isn\'t," she said.' 
'"Isn\'t," she said.' 


Lưu ý rằng chuỗi ký tự được trình biên dịch xác định bởi cặp dấu nháy ngoài cùng  nhất :
>>> '"Isn\'t," she said.' 
'"Isn\'t," she said.' 


Câu lệnh print làm cho mọi chuỗi xuất ra màn hình dễ đọc hơn và đúng với dạng câu 
từ trong văn bản bằng cách loại đi cặp dấu nháy ngoài cùng, tôi khuyên bạn nên dùng 
print:
>>> '"Isn\'t," she said.' 
'"Isn\'t," she said.' 
>>> print '"Isn\'t," she said.'
 "Isn't," she said. # không còn cặp nháy đơn nữa


Sử dụng \n để chuỗi xuống dòng mới, chỉ có tác dụng khi kết hợp với print:
>>> s = 'First line.\nSecond line.' # \n nghĩa là xuống dòng
>>> s vì không có lệnh print nên \n được cho là ký tự bình thường
'First line.\nSecond line.' 
>>> print s với print, \n có hiệu lực 
First line. 
Second line.


Nếu bạn không muốn ký tự mở đầu bằng \ được hiểu là ký tự đặc biệt, bạn có thể thêm một r trước dấu nháy:
>>> print 'C:\some\name' ở đây \n hiểu là xuống dòng
C:\some 
ame 
>>> print r'C:\some\name' khi đặt r trước chuỗi
C:\some\name 


Chuỗi ký tự có thể cách nhiều dòng. Một cách là sử dụng ba dấu ngoặc kép: "" "..." "" hoặc '' '...' ''. Có thể ngăn chặn điều này bằng cách thêm một \ ở cuối mỗi dòng . Xem ví dụ để hiểu thêm :

>>>print ''' Hello # chuỗi trong bộ ba dấu nháy có thể tách nhiều dòng
I’m
A
Dev
'''
Hello
I’m
A
Dev
>>> print '''Hello\ # thêm \ vào mỗi dòng và kết quả thay đổi
i'm\
a\
dev\
'''
Helloi'madev

Các chuỗi có thể được nối (dán lại với nhau) bằng dấu +, và lặp đi lặp lại với dấu *:
>>> # lặp lại 3 lần ‘un’ và nối với ‘ium’
>>> 3 * 'un' + 'ium' 
'unununium' 

Hai hay nhiều xâu bên cạnh nhau sẽ được tự động nối vào nhau.
>>> 'Py' 'thon'
 'Python' 

Quy tắc trên chỉ làm việc với chuỗi ký tự, không phải với các biến hoặc biểu thức. Nếu muốn nối biểu thức với biểu thức hoặc biểu thức với chuỗi thì dùng dấu +:
>>> prefix ='Py
>>> prefix + 'thon' 
'Python' 

Bạn cũng có thể nối các chuỗi dài bằng cách đặt chúng vào cặp dấu ngoặc đơn:

>>> n=('Hello wolrssssssssssssssssssssssssss' 'assssssssssssssssss')
>>> n
'Hello wolrssssssssssssssssssssssssssassssssssssssssssss'

Có thể tham chiếu đến từng phần tử trong chuỗi, mỗi ký tự là một phần tử, phần tử đầu tiên ứng với vị trí 0 ( điều này làm tôi thật “ bối dối” vì chuỗi bên Pascal bắt đầu từ vị trí 1).

>>> word = 'Python' 
>>> word[0] phần tử vị trí 0 
'P' 
>>> word[5] phần tử vị trí 5
'n' 

Có thể tham chiếu ngược từ bên phải của chuỗi với phần tử đầu tiên từ bên phải là -1.
>>> word[-1] phần tử đầu tiên từ bên phải chuỗi
'n' 
>>> word[-2] # phần tử thứ hai từ bên phải chuỗi
'o' 
>>> word[-6] 
'P' 

Lưu ý lần nữa : phần tử đầu tiên từ trái qua là 0, từ phải qua là -1.
Bạn cũng có thể tham chiếu chuỗi con của chuỗi, bắt đầu từ vị trí này và kết thúc tại vị trí khác.
>>> word[0:2] 
'Py' 
>>> word[2:5] 
'tho' 
Có thể bạn sẽ thắc mắc tại sao word[0:2] mà kết quả cho ra chỉ là ‘Py’?
Đây là cách mà Python hoạt động với chuỗi :
+---+---+---+---+---+---+
| P |Y |T |H |O|N | 
+---+---+---+---+---+---+
0       1       2       3       4       5       6
-6     -5      -4    -3      -2      -1 

Tức là khi sử dụng lệnh word[0:2] thì Python chỉ lấy từ vị trí 0 đến 2 : P Y , chứ không
phải là P Y T . Quy tắc này chỉ áp dụng khi tham chiếu chuỗi con,  trong quá trình code  bạn sẽ phải gặp nhiều nên hãy ghi nhớ qui tắc này.

 Một ví dụ độc đáo để thấy sự phong phú của chuỗi trong Python.
>>> word[:2] + word[2:] 
'Python' 
>>> word[:4] + word[4:] 
'Python' 

Chiều dài của một chuỗi con trong chuỗi lớn bắt đầu từ vị trí này và kết thúc ở vị trí  khác chính là độ chênh lệch hay hiệu của chúng. Ví dụ chiều dài của word[1:4] là 3.
Nếu bạn tham chiếu đến phần tử mà vị trí của nó lớn hơn độ dài chuỗi thì sẽ xảy ra lỗi :
>>> word[42] # chuỗi word chỉ có 6 phần tử
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
IndexError: string index out of range 

Tuy nhiên, tham chiếu chuỗi con nhưng có chứa phần tử ở vị trí lớn hơn độ dài của  chuỗi thì vẫn được :
>>> word[4:42] 
'on' 
>>> word[42:] 
'' 

 Bạn không được phép thay đổi bất kì phần tử nào trong chuỗi sau khi đã gán giá trị  cho nó. Việc thay đổi bất cứ phần tử nào cũng sẽ phát sinh lỗi. Nếu bạn muốn có một  chuỗi khác so với chuỗi hiện tại , bạn có thể dùng các phép như nối chuỗi, lặp chuỗi  để áp dụng cho phần tử chuỗi. Ví dụ:
>>> 'J' + word[1:] 
'Jython' 
>>> word[:2] + 'py' 
'Pypy' 

Chức năng (function) hay còn gọi là hàm len() cho biết số phần tử trong chuỗi hay còn gọi là độ dài chuỗi.
>>> s = 'supercalifragilisticexpialidocious' 
>>> len(s) 
34 



Share on Google Plus

About prideearth

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 nhận xét :

Đăng nhận xét