Làm thế nào để bạn in một chuỗi sử dụng giá trị ascii trong python?

Hai chuỗi bằng nhau nếu chúng có nội dung hoàn toàn giống nhau, nghĩa là chúng có cùng độ dài và mỗi ký tự có vị trí tương ứng một-một. Thay vào đó, nhiều ngôn ngữ khác so sánh các chuỗi theo danh tính; . Python sử dụng để kiểm tra danh tính của chuỗi và hai đối tượng bất kỳ nói chung

ví dụ

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False

Có hai phép toán gần như số có thể được thực hiện trên các chuỗi - phép cộng và phép nhân. Phép cộng chuỗi chỉ là một tên gọi khác của phép nối, đơn giản là gắn các chuỗi lại với nhau. Phép nhân chuỗi là phép cộng lặp đi lặp lại hoặc phép nối. Vì thế

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'

Có một toán tử đơn giản 'in' trả về True nếu toán hạng đầu tiên được chứa trong toán hạng thứ hai. Điều này cũng hoạt động trên các chuỗi con

>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True

Lưu ý rằng 'print[x in y]' cũng sẽ trả về cùng một giá trị

Giống như mảng trong các ngôn ngữ khác, các ký tự riêng lẻ trong chuỗi có thể được truy cập bằng một số nguyên biểu thị vị trí của nó trong chuỗi. Ký tự đầu tiên trong chuỗi s sẽ là s[0] và ký tự thứ n sẽ là s[n-1]

Không giống như mảng trong các ngôn ngữ khác, Python cũng lập chỉ mục ngược mảng, sử dụng số âm. Ký tự cuối cùng có chỉ số -1, ký tự thứ hai đến cuối cùng có chỉ số -2, v.v.

Chúng ta cũng có thể sử dụng "slices" để truy cập một chuỗi con của s. s[a. b] sẽ cho chúng ta một chuỗi bắt đầu bằng s[a] và kết thúc bằng s[b-1]

Không cái nào trong số này có thể gán được

>>> print[s]
>>> s[0] = 'J'
Traceback [most recent call last]:
File "", line 1, in ?
TypeError: object does not support item assignment
>>> s[1:3] = "up"
Traceback [most recent call last]:
File "", line 1, in ?
TypeError: object does not support slice assignment
>>> print[s]

Kết quả đầu ra [giả sử các lỗi đã được loại bỏ]

Xanadu
Xanadu

Một tính năng khác của slice là nếu phần đầu hoặc phần cuối bị bỏ trống, nó sẽ mặc định là chỉ mục đầu tiên hoặc cuối cùng, tùy thuộc vào ngữ cảnh

>>> s[2:]
'nadu'
>>> s[:3]
'Xan'
>>> s[:]
'Xanadu'

Bạn cũng có thể sử dụng số âm trong lát

Để hiểu các lát cắt, cách dễ nhất là không đếm các phần tử. Nó giống như đếm không phải trên ngón tay của bạn, mà là ở khoảng cách giữa chúng. Danh sách được lập chỉ mục như thế này

Element:     1     2     3     4
Index:    0     1     2     3     4
         -4    -3    -2    -1

Vì vậy, khi chúng tôi yêu cầu [1. 3], điều đó có nghĩa là chúng tôi bắt đầu ở chỉ mục 1 và kết thúc ở chỉ mục 2 và lấy mọi thứ ở giữa chúng. Nếu bạn đã quen lập chỉ mục trong C hoặc Java, điều này có thể hơi khó hiểu cho đến khi bạn quen với nó

Hằng chuỗi có thể được tìm thấy trong mô-đun chuỗi tiêu chuẩn. Một ví dụ là chuỗi. chữ số, tương đương với '0123456789'

liên kết

Có một số phương thức hoặc hàm chuỗi tích hợp

  • viết hoa
  • trung tâm
  • đếm
  • giải mã
  • mã hóa
  • kết thúc bằng
  • tab mở rộng
  • tìm thấy
  • mục lục
  • isalnum
  • isalpha
  • là chữ số
  • thấp hơn
  • không gian
  • tên đảo
  • bữa ăn tối
  • tham gia
  • tôi vừa phải
  • thấp hơn
  • dải băng
  • thay thế
  • tìm thấy
  • chỉ mục
  • vừa phải
  • dải băng
  • tách ra
  • đường phân chia
  • bắt đầu với
  • dải
  • tráo đổi
  • chức vụ
  • Phiên dịch
  • phía trên
  • zfill

Chỉ các mục nhấn mạnh sẽ được bảo hiểm

isalnum[], isalpha[], isdigit[], islower[], isupper[], isspace[], và istitle[] phù hợp với danh mục này

Độ dài của đối tượng chuỗi được so sánh ít nhất phải bằng 1, nếu không phương thức is* sẽ trả về Sai. Nói cách khác, một đối tượng chuỗi của len[string] == 0, được coi là "trống" hoặc Sai

  • isalnum trả về True nếu chuỗi hoàn toàn bao gồm các ký tự chữ cái và/hoặc số [i. e. không có dấu câu]
  • isalpha và isdigit chỉ hoạt động tương tự đối với các ký tự chữ cái hoặc ký tự số
  • isspace trả về True nếu chuỗi bao gồm toàn bộ khoảng trắng
  • islower, isupper, và istitle trả về True nếu chuỗi lần lượt ở dạng chữ thường, chữ hoa hoặc chữ tiêu đề. Các ký tự không có ký tự được "cho phép", chẳng hạn như các chữ số, nhưng phải có ít nhất một ký tự có ký tự trong đối tượng chuỗi để trả về True. Tiêu đề có nghĩa là ký tự viết hoa đầu tiên của mỗi từ là chữ hoa và bất kỳ ký tự viết hoa nào ngay sau đó là chữ thường. Thật kỳ lạ, 'Y2K'. istitle[] trả về True. Đó là bởi vì các ký tự viết hoa chỉ có thể theo sau các ký tự không có chữ cái. Tương tự như vậy, các ký tự chữ thường chỉ có thể theo sau các ký tự chữ hoa hoặc chữ thường. Gợi ý. không có khoảng trắng

Thí dụ

>>> '2YK'.istitle[]
False
>>> 'Y2K'.istitle[]
True
>>> '2Y K'.istitle[]
True

Tiêu đề, Viết hoa, Viết thường, Đổi chữ, Viết hoa[sửa | sửa mã nguồn]. sửa nguồn]

Trả về chuỗi được chuyển đổi thành chữ hoa, chữ hoa, chữ thường, đảo chữ hoa chữ thường hoặc viết hoa tương ứng

Phương thức title viết hoa chữ cái đầu tiên của mỗi từ trong chuỗi [và viết thường phần còn lại]. Các từ được xác định là chuỗi con của các ký tự chữ cái được phân tách bằng các ký tự không phải chữ cái, chẳng hạn như chữ số hoặc khoảng trắng. Điều này có thể dẫn đến một số hành vi không mong muốn. Ví dụ chuỗi "x1x" sẽ được chuyển thành "X1X" thay vì "X1x"

Phương thức hoán đổi làm cho tất cả các chữ cái viết hoa thành chữ thường và ngược lại

Phương thức viết hoa giống như tiêu đề ngoại trừ việc nó coi toàn bộ chuỗi là một từ. [tôi. e. nó làm cho ký tự đầu tiên viết hoa và phần còn lại viết thường]

Thí dụ

________số 8_______

từ khóa. thành chữ thường, thành chữ hoa, lcase, ucase, downcase, upcase

Trả về số chuỗi con đã chỉ định trong chuỗi. tôi. e

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
0

Gợi ý. . Count[] phân biệt chữ hoa chữ thường, vì vậy ví dụ này sẽ chỉ đếm số chữ cái viết thường 'o's. Ví dụ: nếu bạn đã chạy

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
1

Trả về một bản sao của chuỗi đã xóa khoảng trắng ở đầu [lstrip] và ở cuối [rstrip]. dải loại bỏ cả hai

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
2

Lưu ý các tab và dòng mới ở đầu và cuối

Các phương thức dải cũng có thể được sử dụng để loại bỏ các loại ký tự khác

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
3

đầu ra

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
4

Lưu ý rằng chuỗi. chữ thường và chuỗi. có thể in được yêu cầu một câu lệnh nhập chuỗi

trái, phải hoặc giữa căn chỉnh một chuỗi thành một kích thước trường nhất định [phần còn lại được đệm bằng khoảng trắng]

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
5

Kết hợp chuỗi đã cho với chuỗi dưới dạng dấu phân cách

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
6

bản đồ có thể hữu ích ở đây. [nó chuyển đổi số trong seq thành chuỗi]

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
7

bây giờ các đối tượng tùy ý có thể ở dạng seq thay vì chỉ các chuỗi

Các phương thức tìm kiếm và lập chỉ mục trả về chỉ mục của lần xuất hiện đầu tiên được tìm thấy của chuỗi con đã cho. Nếu không tìm thấy, find trả về -1 nhưng chỉ mục tăng ValueError. rfind và rindex cũng giống như find và index ngoại trừ việc chúng tìm kiếm trong chuỗi từ phải sang trái [i. e. họ tìm thấy lần xuất hiện cuối cùng]

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
8

Vì các chuỗi Python chấp nhận các chỉ số âm, nên chỉ mục có thể được sử dụng tốt hơn trong các tình huống như trường hợp được hiển thị vì sử dụng find thay vào đó sẽ mang lại một giá trị ngoài ý muốn

Thay thế hoạt động giống như nó âm thanh. Nó trả về một bản sao của chuỗi với tất cả các lần xuất hiện của tham số đầu tiên được thay thế bằng tham số thứ hai

>>> a = 'hello'; b = 'hello' # Assign 'hello' to a and b.
>>> a == b                   # check for equality
True
>>> a == 'hello'             #
True
>>> a == "hello"             # [choice of delimiter is unimportant]
True
>>> a == 'hello '            # [extra space]
False
>>> a == 'Hello'             # [wrong case]
False
9

Hoặc, sử dụng phép gán biến

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
0

đầu ra

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
1

Lưu ý, biến ban đầu [

>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True
4] vẫn không thay đổi sau khi gọi tới
>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True
5

Thay thế các tab bằng số khoảng trắng thích hợp [số khoảng trắng mặc định trên mỗi tab = 8; điều này có thể được thay đổi bằng cách chuyển kích thước tab làm đối số]

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
2

đầu ra

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
3

Lưu ý cách [mặc dù cả hai trông giống nhau] chuỗi thứ hai [t] có độ dài khác nhau vì mỗi tab được biểu thị bằng dấu cách chứ không phải ký tự tab

Để sử dụng kích thước tab là 4 thay vì 8

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
4

đầu ra

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
5

Xin lưu ý rằng mỗi tab không phải lúc nào cũng được tính là tám khoảng trắng. Thay vào đó, một tab "đẩy" số đếm sang bội số tiếp theo của tám. Ví dụ

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
6

đầu ra

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
7

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
8

đầu ra

>>> c = 'a'
>>> c + 'b'
'ab'
>>> c * 5
'aaaaa'
9

Phương thức split trả về một danh sách các từ trong chuỗi. Nó có thể sử dụng một đối số phân cách thay vì khoảng trắng

>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True
0

Lưu ý rằng trong cả hai trường hợp, dấu tách đều không được bao gồm trong các chuỗi tách, nhưng các chuỗi trống được cho phép

Phương thức splitlines ngắt một chuỗi nhiều dòng thành nhiều chuỗi một dòng. Nó tương tự với split['\n'] [nhưng cũng chấp nhận '\r' và '\r\n' làm dấu phân cách] ngoại trừ nếu chuỗi kết thúc bằng ký tự xuống dòng, thì splitlines sẽ bỏ qua ký tự cuối cùng đó [xem ví dụ]

>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True
1

Phương thức split cũng chấp nhận các chuỗi ký tự nhiều ký tự

>>> x = 'hello'
>>> y = 'ell'
>>> x in y
False
>>> y in x
True
2

Trong Trăn 3. x, tất cả các chuỗi [loại str] chứa Unicode theo mặc định

Trong Python 2. x, có một loại unicode chuyên dụng ngoài loại str. u = u"Xin chào";

Chủ Đề