Untuk keluar dari baris perintah Python, saya harus mengetikkan exit (). Jika saya mengetik keluar, katanya
Use exit() or Ctrl-Z plus Return to exit
Biasanya ketika Anda mengetik exit
, Anda ingin keluar dari program. Mengapa penerjemah memberi saya kesalahan di atas ketika tahu saya mencoba keluar dari baris perintah? Kenapa tidak keluar begitu saja? Aku tahu itu tidak masalah dan itu pertanyaan konyol tapi aku penasaran.
()
di akhir ... jika tidak, itu mungkin (mungkin) menjadi variabel ... atau semacam objek ...Jawaban:
Dalam penerjemah python saya
exit
sebenarnya adalah string dan bukan fungsi -'Use Ctrl-D (i.e. EOF) to exit.'
. Anda dapat memeriksa juru bahasa Anda dengan memasukkantype(exit)
Dalam python aktif yang terjadi adalah bahwa jalan keluar adalah fungsi. Jika Anda tidak memanggil fungsi itu akan mencetak representasi string objek. Ini adalah perilaku default untuk objek yang dikembalikan. Hanya saja para perancang berpikir orang mungkin mencoba mengetik keluar untuk keluar dari juru bahasa, sehingga mereka membuat representasi string dari fungsi keluar pesan yang bermanfaat. Anda dapat memeriksa perilaku ini dengan mengetik
str(exit)
atau bahkanprint exit
.sumber
Ini bekerja untuk saya, cara terbaik untuk keluar dari python prompt.
sumber
exit()
bekerja, dan mereka ingin tahu mengapaexit
tanpa orangtua tidak bekerja. Jadi jawaban ini hanya mengulang sebagian dari pertanyaan dan tidak benar-benar menjawabnya.Ketika Anda mengetik
exit
di baris perintah, itu menemukan variabel dengan nama itu dan panggilan__repr__
(atau__str__
) di atasnya. Biasanya, Anda akan mendapatkan hasil seperti:Tetapi mereka memutuskan untuk mendefinisikan kembali fungsi itu agar
exit
objek menampilkan pesan yang bermanfaat. Apakah itu perilaku bodoh atau tidak, adalah pertanyaan subjektif, tapi satu kemungkinan alasan mengapa itu tidak "keluar begitu saja" adalah:Misalkan Anda sedang melihat beberapa kode dalam debugger, misalnya, dan salah satu objek referensi
exit
fungsi. Ketika debugger mencoba memanggil__repr__
objek itu untuk menampilkan fungsi itu untuk Anda, program tiba-tiba berhenti! Itu akan sangat tak terduga, dan langkah-langkah untuk melawan yang mungkin mempersulit hal-hal lebih lanjut (misalnya, bahkan jika Anda membatasi perilaku itu ke baris perintah, bagaimana jika Anda mencoba mencetak beberapa objek yang memilikiexit
atribut?)sumber
import sys
, setelah itu Anda akan memanggil sys.exit () untuk keluar dari juru bahasa.Pesan ini adalah
__str__
atribut dariexit
lihat contoh-contoh ini:
1
2
3
sumber
Saya sarankan Anda keluar dari juru bahasa Python Ctrl-D. Ini adalah kode ASCII lama untuk end-of-file atau end-of-transmission.
sumber
Ctrl-Break
bekerja secara konsisten di Windows.Ctrl-D
atauCtrl-Z
bekerja di Windows untuk Python 2.7, 3.4, 3.6. Tetapi dalam Python 3.7 ini berhenti bekerja, dan urutan ASCII terpendek yang keluar adalahCtrl-Z
Enter
.Dengan Anaconda 4.5+ dan Python 3.6+ pada penggunaan Windows
atau
Dalam beberapa kasus, Anda mungkin harus menggunakan
Jika komputer Anda tidak memiliki
Break
kunci, lihat di sini .sumber
Karena penerjemah bukan shell di mana Anda memberikan perintah, itu - well - penerjemah. Hal-hal yang Anda berikan adalah kode Python.
Sintaksis Python sedemikian rupa sehingga
exit
, dengan sendirinya, tidak mungkin menjadi apa pun selain nama untuk objek. Cukup merujuk ke suatu objek tidak dapat benar-benar melakukan apa pun (kecuali apa yang biasanya dilakukan loop baca-eval-print; yaitu menampilkan representasi string objek).sumber
Anda bisa memperbaikinya.
Tautkan
PYTHONSTARTUP
ke file python dengan yang berikut iniBagaimana cara kerjanya?
Baris perintah python adalah read-evaluation-print-loop, saat Anda mengetik teks akan membaca teks itu, mengevaluasi itu, dan akhirnya mencetak hasilnya.
Ketika Anda mengetik,
exit()
ia mengevaluasi ke objek tipe yang dapatsite.Quitter
dipanggil dan memanggil__call__
fungsinya yang keluar dari sistem. Ketika Anda mengetiknyaexit
mengevaluasi ke objek yang bisa dipanggil yang sama, tanpa memanggilnya objek dicetak yang pada gilirannya panggilan__repr__
pada objek.Kita bisa mengambil keuntungan dari ini dengan menghubungkan
__repr__
ke__call__
dan dengan demikian mendapatkan perilaku yang diharapkan dari keluar sistem bahkan ketika kita mengetikexit
tanpa tanda kurung.sumber
exit
mencetak string "membantu", tetapi mereka tidak bisa hanya mengikatnya untuk melakukan hal yang wajar dan keluar dari juru bahasa. Terpaksa mengetik kurung setiap kali membuat frustrasi. Jawaban ini sempurna dan harus diterima sebagai gantinya.Untuk keluar dari terminal Python , cukup lakukan:
Harap perhatikan bahwa ini adalah fungsi yang disebut sebagai sebagian besar pengguna mencampurnya dengan keluar tanpa menelepon, tetapi terminal Pyhton baru menampilkan pesan ...
atau sebagai pintasan, tekan:
di keyboard Anda ...
sumber
Jika Anda terjebak di baris perintah python dan tidak ada solusi di atas yang berfungsi untuk Anda, coba
exit(2)
sumber
"exit" adalah nama variabel yang valid yang dapat digunakan dalam program Python Anda. Anda tidak ingin keluar dari juru bahasa saat Anda hanya mencoba melihat nilai variabel itu.
sumber
exit
, Anda menimpa simbol ini, danexit()
tidak akan berfungsi lagi. Meskipun simbol ini adalah nama variabel yang valid, menggunakannya dengan cara seperti itu tampaknya bukan praktik yang sangat baik.