模块

                                                                               模块

  • 文件是物理上组织代码的方式
  • 模块是逻辑上组织代码的方式
  • 一个以.py结尾的文件就是一个模块文件。将.py扩展名移除,剩余的文件名就是模块名

#vim star.py

hi = 'hello world'
def pster(n=30):
print('*' * n)
#vim mytest.py
import star
print(star.hi) #打印star模块的hi变量
stat.pster() #调用star模块中的pster函数

导入模块的方法
#常用方法


>>> import getpass                       #单行导入一个模块

>>> from random import choice,randint          #仅导入模块的部分功能
>>> choice('abcd')
'b'

>>> randint(1,100)
18

#不常用的方法

>>> import time,os                                     #单行导入多个模块

>>> import getpass as gp                          #导入模块时,为其起别名gp

>>>gp.getpass()      
Password:
''

  • import是导入模块,导入模块时,模块中的代码会执行,这个过程叫load加载
  • 不管import多少次模块,只会以第一次为准,也就是第一次导入时执行的模块

>>> import this
The Zen of Python, by Tim Peters         #打印python之禅

>>> import this                                       #不在打印

                                             _name_属性

  • 我们希望有些代码是在指定条件下运行的
  • 当模块文件直接运行,执行特定代码
  • 当模块被其他文件导入时,不执行哪些特定代码
  • 每个模块都有一个名为_name_的属性,可以理解为它是一个变量。
    它的值在不同的情况下不一样,但是只有两个可能。
  • 如果模块文件直接运行,它的值是_main_
  • 如果模块文件被其他文件导入,它的值是模块名
  • 因此只判断_name_的值,就可以知道模块文件在以何种方式在运行

 

案列:生成随机密码

创建randpass.py脚本,要求如下

1、编写一个能生称8位随机密码的程序

2.使用random的choice函数随机取出字符

3.改进程序,用户可以自己决定生成多少位的密码

posted @ 2020-09-29 18:09  翟超  阅读(167)  评论(0)    收藏  举报