1. 程式人生 > >python變量作用域和模塊

python變量作用域和模塊

run pack python對象 好用 span global 使用 font one

全局變量:全局變量可以在整個程序範圍內訪問。

局部變量:局部變量只能在其被聲明的函數內部訪問。

globvar = 0
def set_globvar_to_one():
    global globvar    # 使用 global 聲明全局變量
    globvar = 1
def print_globvar():
    print(globvar)     # 沒有使用 global
set_globvar_to_one()
print  globvar        # 輸出 1
print_globvar()       # 輸出 1,函數內的 globvar 已經是全局變量

1、global---將變量定義為全局變量。可以通過定義為全局變量,實現在函數內部改變變量值。

2、一個global語句可以同時定義多個變量,如 global x, y, z。

模塊:python模塊是一個python文件,以 .py 結尾,包含python對象的定義和python語句。

模塊讓你能夠有邏輯地組織你的 Python 代碼段。

把相關的代碼分配到一個模塊裏能讓你的代碼更好用,更易懂。

模塊能定義函數,類和變量,模塊裏也能包含可執行的代碼。

導入模塊方式一: import 模塊名

調用模塊裏面的函數: 模塊名.函數名

import support # 導入模塊

support.print_func("Runoob") # 現在可以調用模塊裏包含的函數了

導入模塊方式二:from 模塊名 import 函數名1,函數名2..........

from fib import fibonacci 要導入模塊 fib 的 fibonacci 函數

這個聲明不會把整個 fib 模塊導入到當前的命名空間中,它只會將 fib 裏的 fibonacci 單個引入到執行這個聲明的模塊的全局符號表。


把一個模塊的所有內容全都導入到當前的命名空間也是可行的,只需使用如下聲明:

from modname import *


reload(模塊名字)

module_name要直接放模塊的名字,而不是一個字符串形式。比如想重載 hello 模塊,如下:

reload(hello)

python中的包:
包就是文件夾,但該文件夾下必須存在 __init__.py 文件, 該文件的內容可以為空。__int__.py用於標識當前文件夾是一個包。

# 導入 Phone 包
from package_runoob.runoob1 import runoob1
from package_runoob.runoob2 import runoob2
runoob1()
runoob2()

python變量作用域和模塊