文档章节

python模块module

huijue
 huijue
发布于 08/17 17:44
字数 513
阅读 4
收藏 0

1、导入的模块除了定义函数之外还可以执行代码,但是有时候我们只需要调用模块中的函数或者方法,并不用执行代码

__name__ 是python中一个隐含的变量它代表了模块的名字

if __name__ == '__main__':
     print('call foo()')
     foo()
     print('call bar ()')
     bar()

#__name__是python中一个隐含的变量它代表了模块的名字
#只有被python解释器直接执行的模块的名字才是__main__

-----------------------------------------------
-----------------------------------------------
实验1
def foo():
    pass


def bar():
    pass

print(__name__)
>>>__main__

 

2、变量的作用域

def foo():
    b = 'hello' #对于foo函数内部的bar函数来说,变量b属于嵌套作用域,在bar函数中我们是可以访问到它的

    def bar():  # Python中可以在函数内部再定义函数
        c = True # bar函数中的变量c属于局部作用域,在bar函数之外是无法访问的
        print(a)
        print(b)
        print(c)

    bar()
    # print(c)  # NameError: name 'c' is not defined


if __name__ == '__main__':
    a = 100     #全局变量
    # print(b)  # NameError: name 'b' is not defined
    foo()

python在查找一个变量时会按照“局部作用域”、“嵌套作用域”、“全局作用域”和“内置作用域”的顺序进行搜索

2、1 修改全局变量

def foo():
    global a  
   #global关键字来指示foo函数中的变量a来自于全局作用域,
   #如果全局作用域中没有a,那么下面一行的代码就会定义变量a并将其置于全局作用域
    a = 200
    print(a)  # 200


if __name__ == '__main__':
    a = 100
    foo()
    print(a)  # 200

同理,如果我们希望函数内部的函数能够修改嵌套作用域中的变量,

可以使用nonlocal关键字来指示变量来自于嵌套作用域

本文转载自:https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/07.%E5%AD%97%E7%AC%A6%E4%B8%B2%...

上一篇: python数据结构
下一篇: python函数
huijue
粉丝 1
博文 11
码字总数 3664
作品 0
南京
私信 提问
Ansible中shell,command,raw模块的区别

command shell raw 模块之间的区别 command,shell,raw模块都是ansible远程执行node服务器的一种指令模式但是3个模块的适用还是有一定的区别 command 模块 The command module takes the c...

HelloEric
2015/08/10
5.8K
0
ImportError: No module named 'requests'

补充说明: 当前环境是在windows环境下 python版本是:python 3.4. 刚开始学习python,一边看书一边论坛里阅读感兴趣的代码, http://www.oschina.net/code/snippet140626643470 的代码运行报...

庸夫俗子
2014/11/06
49.3K
0
[ python import module ] 导入模块

import moudlename ----> import modulename.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) import 优先级高于 from module import xx 规则: 如果多个包,尽量......

_______-
2018/10/15
55
0
其实python从某个意义上讲,是一种相当烂的语言。

近段时间要在某个项目上实施一些功能,我想用python来实现,必竟很久以前学过这种语言,可是突然发现,在实际把这种语言应用到项目时会产生很多问题。 其实python从某个意义上讲,是一种相当...

kut
2011/09/14
459
1
看书 Python 源码分析笔记 (十一) 模块加载机制

第14章 Python 模块的动态加载机制 现实程序通常由多个模块构成, 模块之间存在引用和交互. 本章剖析如何加载模块, 引用另一模块中的功能. import 命令 import sys 被编译后的字节指令示例: 这...

刘军兴
2015/12/28
109
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部