首页
/
每日頭條
/
生活
/
編程中if語句用法是什麼
編程中if語句用法是什麼
更新时间:2024-10-08 18:46:58

剛接觸python,看到好多案例都有這句代碼if __name__ == "__main__":,試着去掉後,結果依然能出來,好像沒啥用似的。經查閱調試,總算搞清了緣由,順帶着還搞懂了兩種模塊導入的用法區别。

if __name__ == "__main__":代碼作用:

當.py文件被當做模塊被其他文件引用時,文件裡的if __name__ == "__main__":代碼能使其内部的代碼避免被執行。舉例來說:上篇介紹乘法口訣對齊的代碼,文件名為:kj.py,具體代碼為:

def cfkj(num1, num2): for i in range(num1, num2 1): print() print('%*d: ' % (len(str(num2)), i), end="") for j in range(num1, i 1): print('%-d*%-d=%-*d' % (j, i, len(str(num2*num2)), i*j), end=' '*(len(str(num2)) 2-len(str(i)))) if __name__ == "__main__": strer = input('輸入起止數字,中間用"-"隔開:') beginer = int(strer[:strer.find("-")]) ender = int(strer[strer.find("-") 1:]) cfkj(beginer, ender) print()

上面的代碼中,最後5條代碼即為if __name__ == "__main__":内部的代碼,如果隻是使用這個文件生成乘法口訣,其中的if __name__ == "__main__":代碼确實沒什麼用,删掉也不受影響。

但是,當我在另外的文件裡,也想得到乘法口訣時(比如得到1到6之間的乘法口訣)。我們不必重新寫一遍上面的代碼,而是直接用import将上面kj.py文件導入,就可以了。代碼為:

import kj kj.cfkj(1,6)

第一句import kj,是導入kj.py文件的意思,其中後綴.py省略不寫。

第二句kj.cfkj.(1,6),是使用kj.py文件裡的cfkj(1,6)模塊,執行得到乘法口訣。程序運行全部完成。

編程中if語句用法是什麼(原來if)1

但是,如果我們kj.py文件裡删掉了if __name__ == "__main__":代碼,同樣的代碼運行效果為:

編程中if語句用法是什麼(原來if)2

說明,由于缺少了if __name__ == "__main__":代碼,則程序首先執行kj文件裡cfkj模塊下面的代碼,然後再執行kj.cfkj(1,6),于是得到了上面的兩遍結果。所以,在代碼被其他文件引用時,if __name__ == "__main__":語句能避免不必要的代碼運行,是很有用的。

import導入和from** import **導入

python提供了強大的導入功能,通過import可輕松将标準庫、他人寫的文件或自己寫的文件導入到當前文件,省去重複寫碼的麻煩。比如上面的例子,通過import,2句代碼就實現了乘法口訣。

但是,我們也經常看到,導入其他模塊庫時,除了用import,還有from openpyxl import Workbook這種樣式。他們之間有有什麼區别呢?我們還是用上面的例子來看。

我們把上面的生成1-6乘法表的代碼改為下面的代碼,效果是一樣的。

from kj import cfkj cfkj(1, 6)

意思就是,從kj.py文件裡導入cfkj模塊,文件内其他的模塊不進行導入。可以理解為:用from ** import **進行導入是當我們明确知道需用到模塊名時,采用的針對性導入,避免将文件全部導入,提高效率。

當用from ** import **導入時,使用模塊時模塊前面不用再加上文件名。比如上面如果還寫成:

from kj import cfkj kj.cfkj(1, 6)

則會報錯,删掉kj.就可以了。這樣一看,導入模塊時,最好采用from ** import **方式,至少還可以避免後面用到模塊時總要加上文件名。

學習打卡第2篇,歡迎大俠指點!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
茶樹的種植方法
茶樹的種植方法
1、移栽方法:茶苗移栽前先開好溝,選擇無風的陰天定植,扡插苗在取苗前一天要澆濕圃地以減少茶苗失水和取...
2024-10-08
三亞首家零收費開放式景區 大東海
三亞首家零收費開放式景區 大東海
我們都知道,三亞是知名的旅遊勝地,每年都會吸引無數的中外遊客前往觀光遊玩。是許多新婚蜜月、畢業旅行者無二佳選。三亞市地處海南島最南端,接下來我們一起和城市文化來看看三亞知名景點的相關介紹。大東海位于三...
2024-10-08
麻繩怎麼綁最結實
麻繩怎麼綁最結實
1、在兩個繩子的接頭出兩個頭上分别各自打一個結,然後把這兩個頭打結。這樣就不容易松了。2、将繩子的中...
2024-10-08
最新中國十大堵城排行榜,你居住城市上榜了嗎
最新中國十大堵城排行榜,你居住城市上榜了嗎
據《2016年度中國主要城市交通分析報告》顯示,濟南、哈爾濱、北京位列全國城市交通擁堵前三名,接下來是重慶、貴陽、深圳、昆明、杭州、大連和廣州。想必大家出行遇到堵車心情都會大打折扣,而我們能為交通減少...
2024-10-08
煎焖鑲香菇的做法
煎焖鑲香菇的做法
第一、首先把香菇清洗幹淨,然後把蒂挖出來第二、蒂梗帶有泥的用刀削幹淨,然後清洗幹淨,切成碎丁。第三、瘦肉剁成肉末,加适量的鹽、姜蓉、生抽、料酒腌制幾分鐘。第四、然後肉末和香菇蒂碎混合一起,加1勺生粉攪拌均勻。第五、然後把攪拌均勻的肉末鑲到香菇蓋孔裡。第六、開火下油,把香菇擺到鍋裡,肉末那面向上,蓋上...
2024-10-08
Copyright 2023-2024 - www.tftnews.com All Rights Reserved