網站首頁 編程語言 正文
前言:
這個先來創建一個模塊,名稱為christmastree,在該模塊中,首先定義一個全局變量,然后創建一個名稱為fun_christmastree()的函數,最后再通過print()函數輸出一寫內容。
代碼如下:
printree = "我是小菜雞" # 定義全局變量”小菜雞“
def fun_christmastree(): # 定義函數
"""功能: 一個夢
:return 無返回值
"""
printree = "新星計劃,頒獎...我獲獎了@^。^@" # 定義局部變量
print(printree) # 輸出局部變量
# ********************函數體外*********************** #
print("\n夜深了……\n")
print("===============開始做夢……===============")
fun_christmastree() # 調用函數
print("===============開始做夢……===============")
printree = "原來是一場夢," + printree + "-_-"
print(printree) # 輸出全局變量
在與christmastree模塊同級的目錄下,創建一個名稱為main.py的文件,在該文件中,導入christmastree模塊,再通過print()語句輸出模塊中的全局變量printree的值,
代碼如下:
import christmastree
print("全局變量的值為:", christmastree.printree)
運行上面代碼,將顯示如圖所示的內容:
從上圖所示的運行結果可以看出,導入模塊后,不僅輸出了全局變量的值,而且模塊中原有的測試代碼也被執行了。這個結果顯然不是我們想要的。那么如何只輸出全局變量的值呢?實際上,可以在模塊中,將原本直接執行的測試代碼放在一個if語句中。
因此,可以將模塊christmastree的代碼修改為以下內容:
printree = "我是小菜雞" # 定義全局變量”小菜雞“
def fun_christmastree(): # 定義函數
"""功能: 一個夢
:return 無返回值
"""
printree = "新星計劃,頒獎...我獲獎了@^。^@" # 定義局部變量
print(printree) # 輸出局部變量
# ********************判斷是否以主程序的形式運行*********************** #
if __name__ == "__main__":
print("\n夜深了……\n")
print("===============開始做夢……===============")
fun_christmastree() # 調用函數
print("===============夢醒了……===============")
printree = "原來是一場夢," + printree + "-_-"
print(printree) # 輸出全局變量
再次執行導入模塊main.py 文件,將顯示以下如圖所示的結果,從執行結果中可以看出測試代碼并沒有被執行。
此時,如果執行christmastree.py文件,將顯示如下圖所示的結果:
說明: 在每個模塊的定義中都包括一個記錄模塊名稱的變量__name__,程序可以檢查該變量,以確定它們在那個模塊中執行。如果一個模塊不是被導入到其他程序中執行,那么它可能在解釋器的頂級模塊中執行。頂級模塊的__name__變量的值為__main__。
原文鏈接:https://yunhua.blog.csdn.net/article/details/124618919
相關推薦
- 2022-09-05 基于React?Context實現一個簡單的狀態管理的示例代碼_React
- 2022-12-26 層次分析法在matlab上的實現方式_python
- 2022-03-18 C++類和對象之封裝詳解_C 語言
- 2022-03-15 更新Android Studio 4.0 啟動模擬器提示 unable to locate adb
- 2022-08-01 GoLand一鍵上傳項目到遠程服務器的方法步驟_Golang
- 2022-02-13 css 文本超出部分顯示省略號
- 2021-12-20 Win10配置Hadoop環境變量
- 2022-08-01 使用docker環境變量動態配置nginx的問題小結_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支