[Basic Python] Chuỗi trong Python #1


Trước tiên mình sẽ nói về file của python và các chạy nó.
File python có đuôi .py, nếu bạn mới học mình có 1 lời khuyên là dùng sublime text để học, nó nhẹ và dễ dàng chạy mà không cần qua terminal. 
Trong python để in ra bạn dùng lệnh print ()


Rồi giờ chúng ta đi tới phần chính đó là nói về string trong Python, String là một phần rất quan trọng và nhiều điều để nói trong Python. 

Vậy String là gì? String trong python ra sao?


String là một tập hợp các ký tự. 

Trong python để tạo một strings ta có thể dùng nháy đơn (' '), nháy kép (" ") hoặc 3 nháy đơn và 3 nháy kép (''' ''') or (""" """)

Vậy vì sao lại có quá nhiều cách viết như vậy? Ta sẽ lấy ví dụ để làm rõ điều này:
  • Với chuỗi bình thường, ví dụ: I am Duc Loc. Ta in bằng nháy đơn (' ') hay kép (" ") đều có kết quả như nhau:

  • Vậy điểm khác nhau là ở đâu? Nếu trong chuỗi bạn có sử dụng nháy kép (" ") hoặc nháy đơn (' '), chuỗi bạn sẽ lỗi nếu bạn sử dụng cùng loại nháy để bao quanh strings đó. Ở ảnh dưới đây, tôi sửa chuỗi thành I’m Duc Loc. Strings sử dụng nháy đơn (' ') sẽ bị lỗi nhưng chuỗi sử dụng nháy kép (" ") sẽ chạy bình thường và trả lại kết quả đúng. Sau ảnh bên dưới để thấy rõ hơn: 


  • Rồi giờ ta bàn tới việc 3 nháy kép (""" """) hoặc 3 nháy đơn (''' ''') sẽ khác gì nào. Khi bạn muốn xuất bản 1 đoạn văn bản, trong đoạn văn bản đó bạn muốn xuống dòng, nhưng k muốn dùng nhiều biến string để tạo được 1 đoạn văn như vậy,  3 nháy đơn (''' ''') hoặc 3 nháy kép (""" """) sẽ giúp bạn giữ định dạng ngắt dòng của đoạn văn bản đó. Xem ảnh dưới để thấy rõ hơn.



Làm thế nào truy cập vào các ký tự của 1 biến string?


Ví dụ ta có 1 biến strA = “I'm working on Scuti company” như hình dưới. Bạn có thấy điều gì khác biệt trong cách viết biến strA của python và các ngôn ngữ khác không? 

Bạn nhận ra rồi phải không, không hề có $ trước biến, trong python bạn k cần tới dấu $ và dấu ;

Để truy cập vào 1 ký tự trong chuỗi, cũng giống như trong mảng ta sử dụng [index] để truy cập. [Index] sẽ suất phát từ [0]. Dấu cách trong chuỗi cũng được tính là ký tự, có index riêng. 
Ví dụ ta muốn truy cập vào chữ w. Ta sẽ thấy trước ký tự đó ở vị trí thứ 5 trong chuỗi, dẫn tới index của ký tự đó là [4] (index đếm từ [0]). để truy cập vào ký tự đó bạn sử dụng cấu trúc variable[indexNumber], các bạn có thể xem chi tiết ở hình dưới 

Vậy nếu các bạn chỉ định 1 index cao hơn index thực chuỗi tồn tại thì điều gì sẽ xảy ra?

Thông báo lỗi IndexError: string index out of range sẽ xuất hiện, nó báo rằng cái [index] bạn đang chọn đã vượt quá [index] thực của chuỗi

Vậy ta có thể cho thêm các số thấp phân (decimal) vào hay không? 

Thông báo lỗi TypeError: string indices must be integers, not float hiện ra, nó báo rằng bạn không được sử dụng số thập phân (decimal). 

OK, một trường hợp tiếp Theo, vậy nếu bạn muốn lấy 1 chuôĩ từ chính chuỗi gốc thì bạn làm ntn? Đây chính là điểm mạnh mà không nhiều ngôn ngữ hỗ trợ nhưng python lại có. 
Đơn giản bạn chỉ cần chọn tuân theo cú pháp sau variable[Start:End], ta sẽ có được 1 chuỗi bao gồm [index] từ vị trí [Start] tới ký tự có [index] = End-1. Xem ảnh dưới để rõ hơn:

Một cách để lấy khác là vị trí End bạn truyền số âm (VD: -5), điều này xác định rằng điểm end sẽ là ở vị trí cuối đếm ngược lại 5 ký tự. Xem hình bạn sẽ thấy nó cắt cho mình:

Với số âm (Ví Dụ -5) bạn sẽ đếm ngược từ cuối chuỗi lên (từ phải qua trái), cuối chuỗi có index bắt đầu từ [-1] chứ không phải bằng [0] như đầu chuỗi, ví dụ bạn muốn lấy chữ cái cuối, nhưng không biết nó là index bao nhiêu, đơn giản bạn chỉ cần viết như sau variable[-1] là sẽ có được chữ cuối. 
Lưu ý bạn cũng có thể sử dụng 2 số âm cùng lúc, nhưng số Âm ở End luôn lớn hơn số Âm ở Start, nếu Start là lớn hơn sẽ không có chuỗi kết quả nào trả về. ví dụ như hình: 

[Index] của 1 chuỗi trong python sẽ đánh như sau: 


Thay đổi hoặc xoá 1 string thì làm thế nào? 


Chúng ta không thể thay hay xoá một phần ký tự trong một chuỗi. 
Chúng ta có thể thay đổi toàn bộ chuỗi hoặc xoá toàn bộ chuỗi. 
  • Ví dụ cho việc sửa 1 chuỗi: 


  • Ví dụ cho việc xoá một chuỗi 
Nếu muốn xoá 1 biến bạn có thể làm việc đó bằng cú pháp del variableName, bạn có thể thấy biến strA bên dưới khi print nó báo rằng chưa được khai báo bởi trên đó mình đã xoá mất. 


If you liked this article

Let's subscribe the updates of Scuti!
Share on Google Plus

About Nguyễn Đức Lộc

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.
    Blogger Comment
    Facebook Comment

1 Comments: