今天学了下模块,那什么是模块呢?其实我们写的以py结尾的一个文件就是一个模块,模块也就是程序

还记得我们之前学过容器、函数、类吧

  • 容器    ->    数据的封装
  • 函数    ->    语句的封装
  • 类        ->    方法和属性的封装
  • 模块     ->   模块就是程序

像import random,就是导入random模块,但是如果你要生成随机数,你就需要用random.randint,为啥不能直接用randint呢,这就有个命名空间的问题了,所以你得先告诉别人你要引用哪里的方法,如下图所示:

导入模块有几种方式:

  • import  模块名
  • from  模块名 import 函数名
  • import 模块名  as   新名字

__name__ == "__main__"的作用:

__name__属性指的是在调用该模块的时候调用的函数名称,方便在模块的被调用的时候,模块内部被调用的函数不会被运行。当模块作为主程序运行的时候,__name__属性的值是“__main__”,当该模块被调用导入到另一个模块的时候,"__name__"属性值为模块名称。如果我们是直接执行某个.py文件的时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。

举个例子:

class Test:

    def __init__(self):pass

    def f(self):
print 'Hello, World!' if __name__ == '__main__': Test().f()

直接在cmd中输入:C:>python Test.py

Hello, World!

说明:"__name__ == '__main__'"是成立的

接着如果再在cmd中输入:

C:>python

>>>import Test

>>>Test.__name__                #Test模块的__name__

'Test'

>>>__name__                       #当前程序的__name__

'__main__'

无论怎样,Test.py中的"__name__ == '__main__'"都不会成立的!

如果我们要创建一个的话,记得在文件夹下创建一个__init__.py文件(python规定的,告诉python将此文件夹当成一个包,可以为空文件)。

零基础学习python_模块(50-52课)的更多相关文章

  1. 零基础学习python_字符串(14-15课)

    今天回顾下我之前学习python的第一个对象——字符串,这个对象真蛋疼,因为方法是最多的,也是最常见的类型,没有之一... 内容有点多,我就搜了下网上的资料,转载下这个看起来还不错的网址吧:http: ...

  2. 零基础学习python_文件(28-30课)

    本人小白一枚,随着现在对测试要求越来越高,动不动就要去会一门编程语言,没办法只能学习学习Python,今天看到几个月前还是菜鸟的人突然就已经能使用Python写简单系统了,没办法,虽然之前也简单学习过 ...

  3. 零基础学习python_爬虫(53课)

    1.Url的格式简单介绍,如下图: 2.我们要对网站进行访问,需要用到python中的一个模块或者说一个包吧,urllib(这个在python2中是urllib+urllib2,python3将这两个 ...

  4. 零基础学习python_字典(25-26课)

    今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面 ...

  5. 零基础学习python_生成器(49课)

    一个生成器函数的定义很像一个普通的函数,除了当它要生成一个值的时候,使用yield关键字而不是return.如果一个def的主体包含yield,这个函数会自动变成一个生成器(即使它包含一个return ...

  6. 零基础学习python_异常处理(32-33课)

    我们写完python执行的时候是不是经常会遇到报错,而且报错都是大片红字,这样给别人的感受就是你写的程序怎么老是出问题啊,这样我们还咋么混下去呢?于是乎,就有了异常处理的东东. python的try语 ...

  7. 零基础学习python_类和对象(36-40课)

    今天我们开始学习面向对象的知识咯,之前我对面向对象也学的懵懵的,因为感觉知道好像又不是特别清楚,接下来我们一起来学习类和对象吧.零基础的课程我都是看小甲鱼的视频学的,没基础的可以去这个网址下载视频学习 ...

  8. 零基础学习python_魔法方法(41-48课)(迭代器)

    接下来这个为啥要叫魔法方法呢,额,这个嘛我是跟小甲鱼的视频取的名字一样的,因为会讲比较多杂的东西,有... 魔法方法详细阅读地址:http://bbs.fishc.com/thread-48793-1 ...

  9. 零基础学习python_列表和元组(10-13课)

    一时兴起今天又回过头来补一下列表和元组,先来说说列表哈,列表其实是python最经常用到的数据类型了,不仅经常用还很强大呢,这个跟C语言里面的数组是类似的,列表当然也可以增删改查,不过我可没打算用之前 ...

随机推荐

  1. py-day1-3 python基本数据类型

    数据的基本类型: 数字:

  2. Tornado 文件操作笔记

    import tornado.web import tornado.ioloop import tornado.options import tornado.httpserver from torna ...

  3. SQL Server 数值四舍五入,小数点后保留2位

    1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位. 2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后 ...

  4. 微信支付app的各种坑

    android: 签名要一致,要导出singed包 要记得重启手机 如果别人的都可以支付,我的不可以,就要退出微信账号,重新登陆微信账号一下(不仅仅是退出微信应用). 上面还不行的话,就要重新换个微信 ...

  5. 【转】python文件和目录操作方法大全(含实例)

    python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...

  6. mysql5.7 主从同步

    一:进行bin-log日志配置 1设置bin-log日志 [mysqld] log-bin=//路径  #<===红色的加粗的省去 server-id = 1    #主库 2.检查配置登录数据 ...

  7. 《亲测》nginx webscoket ssl conf配置示例

    非crt证书,用的pem,其中 http://localhost:5003 是你要转发到的站点网址 配置的就是 server { listen 80; server_name smarthome.yi ...

  8. SpringCloud之网关 Zuul(四)

    一 Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Z ...

  9. Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)

    转载:好儿郎~志在四方 详细描述: QDockWidget类提供了一个窗体部件,其可以停靠在QMainWindow,或其本身作为一个在桌面上的顶级窗口(也就是父窗体). QDockWidget类提供了 ...

  10. 学习笔记之Supervised Learning with scikit-learn | DataCamp

    Supervised Learning with scikit-learn | DataCamp https://www.datacamp.com/courses/supervised-learnin ...