码迷,mamicode.com
首页 > 编程语言 > 详细

python变量作用域和模块

时间:2017-10-22 17:34:10      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:phone   class   存在   line   执行   字符   字符串   命名   span   

全局变量:全局变量可以在整个程序范围内访问。

局部变量:局部变量只能在其被声明的函数内部访问。

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变量作用域和模块

标签:phone   class   存在   line   执行   字符   字符串   命名   span   

原文地址:http://www.cnblogs.com/linqiuhua/p/7709822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!