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

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

Làm thế nào để bạn loại bỏ dấu ngoặc đơn khỏi in trong Python?

Để loại bỏ dấu ngoặc đơn khỏi chuỗi bằng python, cách dễ nhất là sử dụng hàm python sub [] từ mô -đun RE. Nếu dấu ngoặc đơn của bạn ở đầu và cuối chuỗi của bạn, bạn cũng có thể sử dụng hàm Dải [].use the Python sub[] function from the re module. If your parentheses are on the beginning and end of your string, you can also use the strip[] function.

Làm cách nào để in một bộ mà không có dấu ngoặc trong Python?

Bạn có thể in một tập hợp mà không có dấu ngoặc bằng cách kết hợp phương thức chuỗi.join [] trên chuỗi phân tách ',' với biểu thức trình tạo để chuyển đổi từng phần tử tập thành một chuỗi bằng hàm tích hợp str [].combining the string. join[] method on the separator string ', ' with a generator expression to convert each set element to a string using the str[] built-in function.

Là dấu ngoặc đơn có cần thiết trong Python không?

Gọi các chức năng là dấu ngoặc đơn là cần thiết khi bạn muốn gọi các chức năng.Gọi tên của một hàm mà không theo dõi nó bởi dấu ngoặc đơn sẽ hướng về đối tượng hàm, nhưng sẽ không gọi chính chức năng này.Mã bên trong phần thân của hàm sẽ không được thực thi.Parentheses are necessary when you want to invoke functions. Calling on the name of a function without following it by parentheses will point towards the function object, but will not call the function itself. The code inside the body of the function will not get executed.

Làm cách nào để khắc phục lỗi cú pháp in trong Python?

Cú pháp Python,: Thiếu dấu ngoặc đơn trong cuộc gọi đến lỗi 'in' được nêu ra khi bạn cố gắng in một giá trị vào bảng điều khiển mà không đặt giá trị đó trong dấu ngoặc đơn.Để giải quyết lỗi này, hãy thêm dấu ngoặc đơn xung quanh bất kỳ câu lệnh nào bạn muốn in vào bảng điều khiển.Điều này là do, trong Python 3, in không phải là một tuyên bố.add parentheses around any statements you want to print to the console. This is because, in Python 3, print is not a statement.

Tại sao một số chức năng Python có dấu ngoặc đơn?

Các dấu ngoặc đơn nói với Python thực thi hàm được đặt tên thay vì chỉ tham khảo hàm.Python quay lại và tìm kiếm định nghĩa, và chỉ sau đó, thực thi mã bên trong định nghĩa hàm.Thuật ngữ cho hành động này là một cuộc gọi chức năng hoặc gọi chức năng.tell Python to execute the named function rather than just refer to the function. Python goes back and looks up the definition, and only then, executes the code inside the function definition. The term for this action is a function call or function invocation.

Bài Viết Liên Quan

Chủ Đề