jika nama == "utama": Ia boleh dianggap sebagai pintu masuk program python, sama seperti kaedah main() dalam java, tetapi ia tidak betul sepenuhnya.
Malah, program Python dijalankan baris demi baris dari atas ke bawah Dalam fail .py, kecuali untuk fungsi yang ditakrifkan selepas def, kod tersebut akan dianggap sebagai kandungan dalam kaedah "utama". dan dilaksanakan dari atas ke bawah. Jika anda hanya mahu menulis "hello world" yang hebat dan tidak mahu menulis fungsi, anda hanya boleh mencetak(‘hello world’ Ini ialah "program" dan tidak memerlukan apa yang dipanggil "utama " kemasukan kaedah. Sudah tentu, jika anda menguji fungsi fungsi, anda perlu menulis jika nama == "utama" dalam fail .py dan kemudian panggil fungsi tersebut.
Contohnya, fail hello.py berikut:
print("first") def sayHello(): str = "hello" print(str); print(__name__+'from hello.sayhello()') if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello() print(__name__+'from hello.main')
Hasil larian:
first This is main of module "hello.py" hello __main__ from hello.sayhello() __main__ from hello.main
Adakah anda faham apa yang saya maksudkan? Mula-mula laksanakan baris pertama cetakan dan kemudian laksanakan perkara dalam "entry"
Bercakap mengenainya, apakah maksud ayat jika nama == "utama"?
name__ sebenarnya adalah atribut terbina dalam yang menunjukkan kaedah memanggil fail py semasa. Apabila contoh di atas dijalankan, tidak kira di mana atribut __name__ berada dalam keseluruhan program, nilainya ialah __main Apabila fail hello.py ini diimport sebagai modul ke dalam fail .py lain (iaitu import), seperti world .py. , dan anda menjalankan world.py, pada masa ini atribut __name__ dalam hello.py akan menjadi hello Pintu masuk yang dipanggil tidak akan dilaksanakan kerana penghakiman jika gagal
jadi pernyataan jika Ia dinilai. bahawa kaedah main() berjaya dimaya.
Seperti yang dinyatakan, python dilaksanakan baris demi baris, jadi apabila ia membaca import hello, ia juga akan melaksanakan hello.py Sebagai contoh, jalankan fail world.py berikut:
import hello#上一个例子的hello.py if __name__ == "__main__": print ('This is main of module "world.py"') hello.sayHello() print(__name__)
Pelaksanaan. keputusan:
first This is main of module "world.py" hello hellofrom hello.sayhello() main
Anda boleh melihat bahawa baris pertama cetakan(‘pertama’) dalam hello.py dilaksanakan secara langsung dan __name__ dalam hello.py juga mengeluarkan helo, dan nama dalam world.py Outputnya ialah __main__
Atas ialah kandungan terperinci Cara menggunakan kaedah utama dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!