日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

import和from...import

發布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 import和from...import 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、import 模塊名
  • 二、from 模塊名 import 具體的功能
  • 三、import和from...import...的異同

一般使用import和from...import...導入模塊。

以下述spam.py內的文件代碼為例。

# spam.py print('from the spam.py')money = 1000def read1():print('spam模塊:', money)def read2():print('spam模塊')read1()def change():global moneymoney = 0

一、import 模塊名

# run.py import spam # from the spam.py import spam

import首次導入模塊發生了3件事:

  • 以模塊為準創造一個模塊的名稱空間
  • 執行模塊對應的文件,將執行過程中產生的名字都丟到模塊的名稱空間
  • 在當前執行文件中拿到一個模塊名
  • 模塊的重復導入會直接飲用之前創造好的結果,不會重復執行模塊的文件,即重復導入會發生:spam=spam=模塊名稱空間的內存地址

    # run.py import spam as smmoney = 111111sm.money sm.read1() # 'spam模塊:1000' sm.read2 sm.change()print(money) # 1000

    導入多個模塊

    import spam, time, os# 推薦使用下述方式 import spam import time import os

    二、from 模塊名 import 具體的功能

    # run.pyfrom spam import moneymoney = 10print(money) # 10

    from...import...首次導入模塊發生了3件事:

  • 以模塊為準創造一個模塊的名稱空間
  • 執行模塊對應的文件,將執行過程中產生的名字都丟到模塊的名稱空間
  • 在當前執行文件的名稱空間中拿到一個名字,該名字直接指向模塊中的某一個名字,意味著可以不用加任何前綴而直接使用
    • 優點:不用加前綴,代碼更加精簡
    • 缺點:容易與當前執行文件中名稱空間中的名字沖突

    導入文件內所有的功能:

    # spam.py__all__ = ['money', 'read1'] # 只允許導入'money'和'read1' # run.py from spam import * # 導入spam.py內的所有功能,但會受限制于__all__

    三、import和from...import...的異同

    相同點:

  • 兩者都會執行模塊對應的文件,兩者都會產生模塊的名稱空間
  • 兩者調用功能時,需要跑到定義時尋找作用域關系,與調用位置無關
  • 不同點

  • import需要加前綴;from...import...不需要加前綴
  • 轉載于:https://www.cnblogs.com/nickchen121/p/10802052.html

    總結

    以上是生活随笔為你收集整理的import和from...import的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。