Hàm tích hợp print[] của Python được sử dụng để in nội dung đã cho bên trong dấu nhắc lệnh. Chức năng mặc định của Python print là nó thêm một ký tự xuống dòng ở cuối
Trong hướng dẫn Python này, bạn sẽ học
Hoạt động của hàm Normal print[]
Hàm print[] dùng để hiển thị nội dung trong command prompt hoặc console
Đây là một ví dụ cho thấy hoạt động của Python print không có chức năng dòng mới
print["Hello World"] print["Welcome to Guru99 Tutorials"]
đầu ra
Hello World Welcome to Guru99 Tutorials
Trong kết quả đã cho, bạn có thể thấy rằng các chuỗi mà chúng tôi đã cung cấp trong print[] được hiển thị trên các dòng riêng biệt. Chuỗi “Xin chào thế giới” được in đầu tiên và “Chào mừng đến với Hướng dẫn của Guru99” được in trên dòng tiếp theo
Làm cách nào để in mà không có dòng mới trong Python?
Từ Python 3+, có một tham số bổ sung được giới thiệu cho print[] được gọi là end=. Tham số này đảm nhiệm việc xóa dòng mới được thêm theo mặc định trong print[]
Trong ví dụ in Python 3 không có dòng mới bên dưới, chúng tôi muốn các chuỗi in trên cùng một dòng trong Python. Để làm việc đó, chỉ cần thêm end=”” bên trong print[] như trong ví dụ bên dưới
print["Hello World ", end=""] print["Welcome to Guru99 Tutorials"]
đầu ra
Hello World Welcome to Guru99 Tutorials
Chúng tôi đang nhận được đầu ra mà chúng tôi muốn, nhưng không có khoảng cách giữa các chuỗi. Chuỗi Hello World và Welcome to Guru99 Tutorials được in liền nhau mà không có bất kỳ khoảng trống nào
Để thêm dấu cách hoặc ký tự đặc biệt hoặc thậm chí chuỗi sẽ được in, bạn có thể thêm đối số end=””, như trong ví dụ dưới đây
print["Hello World ", end=" "] print["Welcome to Guru99 Tutorials"]
Vì vậy, tôi ở đây, chúng tôi đã thêm một khoảng trắng vào đối số kết thúc, ví dụ [end="”]. Bây giờ, nếu bạn thấy đầu ra, bạn sẽ thấy một khoảng trống giữa Hello World và Welcome to Guru99 Tutorials
đầu ra
Hello World Welcome to Guru99 Tutorials
Bạn không chỉ có thể cung cấp khoảng trống cho đối số kết thúc mà còn có thể chỉ định một chuỗi bạn muốn in giữa các chuỗi đã cho. Vì vậy, đây là một ví dụ về nó
print["Hello World ", end="It's a nice day! "] print["Welcome to Guru99 Tutorials"]
đầu ra
Hello, World It's a nice day! Welcome to Guru99 Tutorials
In không có dòng mới trong Python 2. x
Để in các chuỗi mà không cần dòng mới, trong python2. x bạn sẽ phải thêm dấu phẩy [,] vào cuối câu lệnh in như hình bên dưới
________số 8_______đầu ra
Hello World Welcome to Guru99 Tutorials
Sử dụng mô-đun hệ thống Python
Tuy nhiên, một phương pháp khác mà bạn có thể sử dụng để in mà không cần dòng mới trong Python là mô-đun tích hợp có tên là sys
Đây là một ví dụ hoạt động cho thấy cách sử dụng mô-đun sys để in mà không cần chuỗi Python dòng mới
Để làm việc với mô-đun sys, trước tiên, hãy nhập mô-đun sys bằng từ khóa nhập. Tiếp theo, hãy sử dụng thiết bị xuất chuẩn. write[] có sẵn bên trong mô-đun sys, để in các chuỗi của bạn
Hello World Welcome to Guru99 Tutorials0
đầu ra
Hello World Welcome to Guru99 Tutorials
Sử dụng print[] để in danh sách không có dòng mới
Xem xét một danh sách các mục chẳng hạn. mylist = [“PHP”, JAVA”, “C++”, “C”, “PYTHON”] và bạn muốn in các giá trị bên trong danh sách bằng vòng lặp for. Vì vậy, ở đây bạn có thể sử dụng print[] để hiển thị các giá trị bên trong danh sách như trong ví dụ bên dưới
Hello World Welcome to Guru99 Tutorials2
đầu ra
Hello World Welcome to Guru99 Tutorials3
Đầu ra hiển thị các mục danh sách, từng mục được in lần lượt trên một dòng mới. Nếu bạn muốn tất cả các mục trong danh sách trong cùng một dòng thì sao?
Hello World Welcome to Guru99 Tutorials4
đầu ra
Hello World Welcome to Guru99 Tutorials5
In mẫu sao [*] không có dòng mới và dấu cách
Ví dụ về in Python không có dòng mới sẽ sử dụng hàm print[] để in sao[*] trên cùng một dòng bằng vòng lặp for
Trong bài viết này, bạn sẽ chỉ thấy các kỹ thuật quan trọng nhất, chẳng hạn như loại bỏ các khoảng trắng ở đầu và cuối [cũng như các khoảng trắng bên trong chuỗi]. Bạn cũng sẽ tìm hiểu cách xóa tab, dòng mới, ký tự xuống dòng [CRLF] và các ký tự khác. Và chúng tôi sẽ không sử dụng gì khác ngoài các phương thức gốc và biểu thức chính quy—không yêu cầu thư viện bên ngoài
Đến cuối bài viết này, bạn sẽ thành thạo
Cách cắt các ký tự từ một chuỗi
Cắt xén một chuỗi có nghĩa là xóa một số ký tự nhất định khỏi đầu, cuối hoặc cả hai bên của chuỗi. Xóa các ký tự không mong muốn giúp so sánh các chuỗi dễ dàng hơn và có thể ngăn các sự cố khó gỡ lỗi
Bạn có thể xóa bất kỳ loại ký tự o nào, nhưng thông thường điều chúng tôi quan tâm là xóa khoảng trống, dòng mới, dấu xuống dòng [CRLF], tab và các ký hiệu đặc biệt khác
Trong phần này, chúng ta sẽ xem cách xóa khoảng trắng ở đầu hoặc ở cuối, khoảng trắng, ký tự xuống dòng, ký tự xuống dòng [CRLF] và tab
Tước khoảng trắng hàng đầu từ đầu chuỗi
Lớp
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
6 có một phương pháp rất thuận tiện để cắt bớt các khoảng trắng ở đầu có tên , một cách viết tắt của "dải trái", vì nó cắt một chuỗi từ phía bên trái. Bạn có thể nghĩ về nó như một phần cắt bên trái>>> ' hello '.lstrip[]
'hello '
Khi gọi
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
7 mà không có đối số, nó sẽ xóa tất cả các khoảng trắng từ trái sang phải. Nhưng nếu tất cả những gì bạn muốn là loại bỏ ký tự đầu tiên, thì có hai cách để thực hiện việc này. Cái đầu tiên giả định rằng sẽ luôn có ít nhất một khoảng trắng ở đầu chuỗi. Nếu thế thì bác cứ thái đi>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
Nếu không có gì đảm bảo về điều đó, trước tiên chúng tôi cần kiểm tra xem chuỗi có bắt đầu bằng dấu cách không
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
Tước khoảng trắng ở cuối chuỗi
Cách để xóa dấu cách ở cuối chuỗi là sử dụng
Phương pháp này mong đợi một danh sách các ký tự và cắt chuỗi từ bên phải. Nó xóa tất cả các ký tự khớp với một trong những ký tự bạn đã vượt qua và dừng ngay khi nó không thể khớp nữa. Theo mặc định,
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
0 sẽ xóa khoảng trống nếu bạn không chuyển bất kỳ thứ gì vào đó. Bạn có thể nghĩ về nó như một trang trí bên phải>>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
Đôi khi bạn có thể chỉ muốn cắt ký tự cuối cùng của chuỗi. Và chúng ta có thể sử dụng logic tương tự từ ví dụ trước. Kiểm tra xem ký tự cuối cùng có phải là khoảng trắng không và sử dụng lát cắt để xóa ký tự đó
>>> def strip_last[s: str, ch: str = ' '] -> str:
if s and s[-1] == ch:
return s[:-1]
return s
>>> strip_last['hello']
'hello'
>>> strip_last['hello ']
'hello'
>>> strip_last['']
''
Xóa khoảng trắng khỏi đầu và cuối chuỗi
Nếu tất cả những gì bạn muốn là xóa khoảng trắng khỏi đầu và cuối chuỗi, sẽ phục vụ bạn tốt hơn
Phương pháp này cắt cả hai bên của chuỗi. Và cũng giống như
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
7 và >>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
9, nếu bạn có thể chuyển bất kỳ tổ hợp ký tự nào làm đối số, nó sẽ xóa chúng khỏi cả hai đầu⚠️ CẢNH BÁO ⚠️. Một quan niệm sai lầm phổ biến là nghĩ rằng có hàm trim[] trong Python
# by default, strip removes whitespaces
>>> ' hello '.strip[]
'hello'
# but you can also strip other character
>>> '***hello***'.strip['*']
'hello'
Cách cắt dòng mới
Chúng ta đã thấy cách
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
1 có thể xóa các khoảng trống ở cả hai phía của chuỗi. Tôi cũng đã đề cập rằng phương thức này nhận một đối số ký tự mà bạn có thể sử dụng để chuyển tổ hợp ký tự mà bạn muốn cắtĐể cắt các ngắt dòng, bạn có thể vượt qua
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
5 và nó sẽ loại bỏ tất cả các dòng mới từ cả hai phía của chuỗi>>> s = """
..
..
.. hello
..
..
.. """
>>> s
'\n\n\n hello\n\n\n'
>>> s.strip['\n']
' hello'
Làm thế nào để cắt giảm trở lại vận chuyển [CRLF]
Trả về vận chuyển [CR] và Nguồn cấp dữ liệu theo dòng [LF] không gì khác hơn là một ký tự xuống dòng. Chúng được đại diện bởi sự nối của
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
6 và >>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
5 tạo thành >>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
8. Đây là cách Microsoft Windows, Symbian OS và các hệ điều hành không phải Unix khác đại diện cho một dòng mới [nguồn]Xóa chúng khỏi một chuỗi cũng giống như xóa một dòng mới. Bạn cung cấp
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
1 với >>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
8 và phương pháp thực hiện công việc của nó>>> s = " hello world\r\n\r\n"
>>> print[s]
hello world
>>> s.strip['\r\n']
' hello world'
Cách cắt các tab
Nếu bạn đang làm theo hướng dẫn này ngay từ đầu, bạn có thể đã biết cách thực hiện việc này. Việc cắt các tab từ một chuỗi trong Python cũng giống như các ký tự khác, bạn sử dụng
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
1 và chuyển chuỗi '\t' cho nó>>> s = "\t\t\t hello world \t"
>>> s
'\t\t\t hello world \t'
>>> print[s]
hello world
>>> s.strip['\t']
' hello world '
Và đó là nó
Cách cắt tổ hợp các ký tự từ một chuỗi
Như tôi đã đề cập trước đây,
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
1 lấy đối số là một chuỗi, không chỉ một ký tự đơn lẻ. Chuỗi ký tự này là sự kết hợp của tất cả các ký tự bạn muốn xóa khỏi đầu và cuối chuỗi của mình>>> s = " \ns hello world \n s"
>>> s
' \ns hello world \n s'
>>> print[s]
s hello world
s
>>> s.strip['\n s']
'hello world'
Cách xóa nhiều khoảng trắng bên trong một chuỗi
Đôi khi bạn muốn làm nhiều việc hơn là cắt xén, giả sử bạn muốn xóa các ký tự bên trong chuỗi. Có hai cách để làm điều này. một là chỉ loại bỏ các bản sao;
Chỉ loại bỏ các bản sao
Để chỉ xóa các ký tự trùng lặp, bạn có thể sử dụng mô-đun regex
>>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
3>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
0Phương pháp này loại bỏ tất cả các khoảng trắng liên tiếp. Điều gì sẽ xảy ra nếu bạn không chỉ muốn làm điều đó mà còn cắt chuỗi bằng cách xóa các khoảng trống ở đầu và cuối?
Một cách là tách chuỗi và sau đó nối lại như vậy
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
1Xóa tất cả khoảng trắng
Bây giờ, nếu bạn muốn loại bỏ tất cả khoảng trắng trong chuỗi của mình, hãy sử dụng regex hoặc gọi phương thức
Sử dụng >>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
3 [mô-đun regex]
>>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
2Sử dụng >>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
6
>>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
3Làm thế nào để tước một danh sách các chuỗi
Cắt một danh sách các chuỗi gần giống như cắt một chuỗi riêng lẻ. Sự khác biệt duy nhất là bạn phải lặp lại danh sách và gọi phương thức
>>> def strip_first[s: str, ch: str = ' '] -> str:
if s and s[0] == ch:
return s[1:]
return s
>>> strip_first['hello']
'hello'
>>> strip_first[' hello']
' hello'
1 trên mỗi phương thức. Bạn làm như vậy bằng cách sử dụng khả năng hiểu danh sách, chẳng hạn, để trả về một danh sách mới với tất cả các chuỗi được cắt bớt>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
4Cách tách một mảng chuỗi [Numpy]
Việc sử dụng Numpy cho các nhiệm vụ khoa học dữ liệu là rất phổ biến do hiệu suất và tính dễ sử dụng của nó
Nếu bạn có một chuỗi các chuỗi và muốn cắt từng chuỗi, Numpy đi kèm với triển khai vector hóa hiệu quả của
Trên thực tế, nó cũng có
>>> ' hello '.rstrip[]
' hello'
>>> '***hello***'.rstrip['*']
'***hello'
9, >>> def strip_last[s: str, ch: str = ' '] -> str:
if s and s[-1] == ch:
return s[:-1]
return s
>>> strip_last['hello']
'hello'
>>> strip_last['hello ']
'hello'
>>> strip_last['']
''
0, >>> def strip_last[s: str, ch: str = ' '] -> str:
if s and s[-1] == ch:
return s[:-1]
return s
>>> strip_last['hello']
'hello'
>>> strip_last['hello ']
'hello'
>>> strip_last['']
''
1 và nhiều thao tác chuỗi khácCác phiên bản vector hóa hoạt động hơi khác một chút, chúng không phải là một phương thức mà là một chức năng trong mô-đun
>>> def strip_last[s: str, ch: str = ' '] -> str:
if s and s[-1] == ch:
return s[:-1]
return s
>>> strip_last['hello']
'hello'
>>> strip_last['hello ']
'hello'
>>> strip_last['']
''
2. Vì vậy, bạn phải chuyển mảng và danh sách ký tự bạn muốn cắt>>> s = ' hello'
>>> s = s[1:]
>>> s
' hello'
5Phần kết luận
Trong bài đăng này, bạn đã học được một số cách cắt chuỗi trong Python, bao gồm mảng chuỗi. Python cho phép chúng ta loại bỏ các ký tự đầu và cuối một cách dễ dàng. Và nếu thay vì xóa các ký tự thừa ở mỗi bên, bạn muốn xóa các ký tự bên trong, bạn có thể tin tưởng vào mô-đun regex. Tôi hy vọng bạn thấy bài viết này hữu ích và hẹn gặp lại bạn lần sau
Người giới thiệu
ngăn xếp chồng lên nhau. com/câu hỏi/761804/how-do-i
ngăn xếp chồng lên nhau. com/câu hỏi/8270092/xóa-
ngăn xếp chồng lên nhau. com/câu hỏi/1546226/là-có
Các bài viết khác bạn có thể thích
Cách chọn giữa isdigit[], isdecimal[] và isnumeric[] trong Python
Cách so sánh hai chuỗi trong Python [theo 8 cách dễ dàng]
cột trụ. Cách khắc phục "c0209. định dạng một chuỗi thông thường có thể là chuỗi f [xem xét sử dụng chuỗi f]"