Hướng dẫn how do you print without brackets in python? - làm thế nào để bạn in mà không có dấu ngoặc trong python?

print "Hello stack over flowers"
5 từng là một tuyên bố trong Python 2, nhưng bây giờ nó đã trở thành một chức năng đòi hỏi dấu ngoặc đơn trong Python 3.

Dù sao thì có cách nào để đàn áp những dấu ngoặc đơn này trong Python 3 không? Có lẽ bằng cách xác định lại chức năng in?

Vì vậy, thay vì

print ["Hello stack over flowers"]

Tôi có thể gõ:

print "Hello stack over flowers"

Yu Hao

Huy hiệu vàng 117K4444 gold badges229 silver badges284 bronze badges

Hỏi ngày 20 tháng 8 năm 2015 lúc 15:53Aug 20, 2015 at 15:53

9

Mặc dù bạn cần một cặp dấu ngoặc đơn để in trong Python 3, bạn không còn cần một khoảng trống sau

print "Hello stack over flowers"
5, bởi vì đó là một chức năng. Vì vậy, đó chỉ là một ký tự phụ.

Nếu bạn vẫn thấy việc gõ một cặp dấu ngoặc đơn là "tốn thời gian không cần thiết", bạn có thể làm

print "Hello stack over flowers"
7 và lưu một vài ký tự theo cách đó. Bởi vì bạn có thể liên kết các tham chiếu mới với các chức năng nhưng không phải với các từ khóa, bạn chỉ có thể thực hiện phím tắt
print "Hello stack over flowers"
5 này trong Python 3.

Python 2:

>>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax

Python 3:

>>> p = print
>>> p['hello']
hello

Nó sẽ làm cho mã của bạn không thể đọc được, nhưng bạn sẽ lưu một vài ký tự mỗi khi bạn in thứ gì đó.

Đã trả lời ngày 20 tháng 8 năm 2015 lúc 17:17Aug 20, 2015 at 17:17

TigerhawkT3TigerhawkT3TigerhawkT3

47.5K6 Huy hiệu vàng57 Huy hiệu bạc89 Huy hiệu đồng6 gold badges57 silver badges89 bronze badges

7

Sử dụng

print "Hello stack over flowers"
5 mà không có dấu ngoặc đơn trong mã Python 3 không phải là một ý tưởng tốt. Cũng không tạo ra bí danh, v.v ... Nếu đó là một công cụ phá vỡ thỏa thuận, hãy sử dụng Python 2.

Tuy nhiên,

print "Hello stack over flowers"
5 không có dấu ngoặc đơn có thể hữu ích trong vỏ tương tác. Đây không thực sự là vấn đề giảm số lượng nhân vật, mà là tránh cần phải nhấn ca hai lần mỗi khi bạn muốn in một cái gì đó trong khi bạn đang gỡ lỗi. Ipython cho phép bạn gọi các chức năng mà không cần sử dụng dấu ngoặc đơn nếu bạn bắt đầu dòng với dấu gạch chéo:

Python 3.6.6 [default, Jun 28 2018, 05:43:53]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: var = 'Hello world'

In [2]: /print var
Hello world

Và nếu bạn bật

>>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax
1, bạn thậm chí sẽ không cần gõ dấu gạch chéo:

In [3]: %autocall
Automatic calling is: Smart

In [4]: print var
------> print[var]
Hello world

Đã trả lời ngày 15 tháng 5 năm 2019 lúc 18:06May 15, 2019 at 18:06

Michaumichaumichau

2.01121 huy hiệu bạc15 huy hiệu đồng21 silver badges15 bronze badges

1

Sử dụng Autohotkey để tạo macro. AHK miễn phí và chết đơn giản để cài đặt. www.autohotkey.com

Bạn có thể gán vĩ mô cho, giả sử, alt-p:

!p::send print[]{Left}

Điều đó sẽ làm cho alt-p đưa ra in [] và di chuyển con trỏ của bạn vào bên trong parens.

Hoặc, thậm chí tốt hơn, để giải quyết vấn đề trực tiếp của bạn, bạn xác định một AutorePlace và giới hạn phạm vi của nó khi tệp mở có phần mở rộng .Py:

#IfWinActive .py            ;;; scope limiter
:b*:print ::print[]{Left}   ;;; I forget what b* does. The rest should be clear 
#IfWinActive                ;;; remove the scope limitation

Đây là một giải pháp được đảm bảo, không đau, minh bạch.

Đã trả lời ngày 2 tháng 2 năm 2017 lúc 18:37Feb 2, 2017 at 18:37

Không. Đó sẽ luôn là lỗi cú pháp trong Python 3. Cân nhắc sử dụng

>>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax
2 để dịch mã của bạn sang Python 3

Đã trả lời ngày 20 tháng 8 năm 2015 lúc 15:56Aug 20, 2015 at 15:56

HoldenWebkeepenWebholdenweb

29,3K7 Huy hiệu vàng51 Huy hiệu bạc73 Huy hiệu đồng7 gold badges51 silver badges73 bronze badges

4

Kịch bản AHK là một ý tưởng tuyệt vời. Chỉ dành cho những người quan tâm, tôi cần phải thay đổi nó một chút để làm việc cho tôi:

SetTitleMatchMode,2         ;;; allows for a partial search 
#IfWinActive, .py           ;;; scope limiter to only python files
:b*:print ::print[]{Left}   ;;; I forget what b* does
#IfWinActive                ;;; remove the scope limitation

Đã trả lời ngày 29 tháng 8 năm 2017 lúc 1:28Aug 29, 2017 at 1:28

Cuối cùng tôi đã tìm ra Regex để thay đổi tất cả những thứ này trong các kịch bản ví dụ Python2 cũ. Nếu không hãy sử dụng 2to3.py.

Hãy thử nó trên regexr.com, không hoạt động trong NP ++ [?]:

find:     [?>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax
3 như trong iStreams C ++.

Đã trả lời ngày 21 tháng 10 năm 2021 lúc 15:23Oct 21, 2021 at 15:23

Nadapeznadapeznadapez

2.3931 Huy hiệu vàng18 Huy hiệu bạc25 Huy hiệu đồng1 gold badge18 silver badges25 bronze badges

Bạn không thể, bởi vì cách duy nhất bạn có thể làm điều đó mà không có dấu ngoặc đơn là nó là một từ khóa, như trong Python 2. Bạn không thể định nghĩa thủ công một từ khóa, vì vậy không.

Đã trả lời ngày 20 tháng 8 năm 2015 lúc 15:57Aug 20, 2015 at 15:57

Trong Python 3, in là một hàm, trong khi nó từng là một tuyên bố trong các phiên bản trước. Như @holdenweb đề xuất, sử dụng 2TO3 để dịch mã của bạn.

Đã trả lời ngày 20 tháng 8 năm 2015 lúc 15:59Aug 20, 2015 at 15:59

Tôi đã cấu hình VIM để tự động thêm các parens xung quanh các cuộc gọi DEF gỡ lỗi của tôi khi tôi viết tệp. Tôi sử dụng một người theo dõi đơn giản tự động chạy các bản cập nhật của mình khi dấu thời gian thay đổi. Và tôi đã xác định Ctrl+P để xóa tất cả. Lời cảnh báo duy nhất là tôi phải có chúng một mình trên một dòng, điều mà tôi luôn luôn làm. Tôi đã nghĩ về việc cố gắng lưu và khôi phục ánh sáng tìm kiếm trước đây của tôi. Và tôi đã tìm một giải pháp trên ngăn xếp. Nhưng bây giờ nó trông hơi quá sâu. Bây giờ cuối cùng tôi cũng có thể quay lại để gỡ lỗi theo phong cách Ruby với

>>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax
4 nhanh chóng.CTRL+p to delete them all. The only caveat is that I have to have them alone on a line, which I pretty much always do. I thought about trying to save and restore my previous search-highlight. And I did find a solution on Stack. But it looked a little too deep for now. Now I can finally get back to debugging Ruby-style with a quick
>>> p = print
  File "", line 1
    p = print
            ^
SyntaxError: invalid syntax
4.

print "Hello stack over flowers"
3

Tôi sử dụng những defs Python này để thực hiện in gỡ lỗi của tôi.

print "Hello stack over flowers"
4

Đã trả lời ngày 29 tháng 3 lúc 19:42Mar 29 at 19:42

Bạn có thể in mà không cần dấu ngoặc đơn trong Python không?

Trong Python 3, không còn có thể in mà không có dấu ngoặc đơn. Lý do tại sao là vì in từng là một tuyên bố trong Python 2. Trong Python 3 in [] là một hàm. Như bạn đã biết, một cuộc gọi chức năng luôn yêu cầu dấu ngoặc đơn.. The reason why is because print used to be a statement in Python 2. In Python 3 print[] is a function. As you know, a function call always requires parenthesis.

Làm thế nào để bạn loại bỏ dấu ngoặc từ văn bản trong Python?

Trong Python, chúng ta có thể loại bỏ dấu ngoặc với sự trợ giúp của các biểu thức thông thường.# Mẫu là biểu thức RE đặc biệt để tìm dấu ngoặc.with the help of regular expressions. # pattern is the special RE expression for finding the brackets.

Làm thế nào để bạn in một từ điển mà không có dấu ngoặc và trích dẫn trong Python?

Để in một từ điển mà không có dấu ngoặc:..
Định dạng các mục của từ điển thành chuỗi ..
Sử dụng str.tham gia [] phương thức để tham gia các chuỗi vào một chuỗi ..
Sử dụng hàm in [] để in chuỗi ..

Làm thế nào để bạn in một danh sách chuỗi mà không có dấu ngoặc và dấu phẩy trong Python?

Bạn có thể in một danh sách mà không có dấu ngoặc và không có dấu phẩy.Sử dụng phương thức String.join [] trên bất kỳ chuỗi phân tách nào, chẳng hạn như '' hoặc '\ t' .Pass một biểu thức trình tạo để chuyển đổi từng phần tử danh sách thành một chuỗi bằng cách sử dụng hàm tích hợp str [].Use the string. join[] method on any separator string such as ' ' or '\t' . Pass a generator expression to convert each list element to a string using the str[] built-in function.

Bài Viết Liên Quan

Chủ Đề