python模块

模块的概念:

一个包含python代码的文件就是一个模块。

使用模块的作用:

1.现在程序开发文件较大,都放在一个文件中维护不方便,拆分为多个文件更方便更改与管理。

2.模块可以增加代码的重用率

创建模块:

模块本身就是一个文件,所有的py文件都可以在文件中直接书写,不过最好是在模板中书写一下内容:

变量    模块中的属性值

函数    单独的功能

类         相似的功能

注意:(1.)模块名称遵循标识符(2.)模块只有第一次被导入的时候执行,多次导入不会被执行

模块导入原理:

1.模块导入将会被执行一遍

2.导入模块的名称就是我们定义的脚本名称

3.过程总结:在指定范围内搜索指定名称的python脚本并获取其中的方法

模块的导入方式:

1.import 模块名

2.import 模块名  as 别名

3.import  模块1,模块2,....

4.from...import...(

当使用模块中的部分功能的时候,就可以使用局部导入方式。

from 模块 import 某个函数或者类。

作用:直接导入模块中的某个函数或者某个类或变量

)

5.from...import...as  别名(当导入的模块和当前模块中的名称相同的时候可以起别名进行区分。)

6.from...import  功能1,功能2

7.from...import* 导入所有

import 模块名

import time()
print(time.timezone)#模块名  变量名
    

import 模块名  as 别名

如果变量名太长我们可以用这种 as

import name_ab as a

a.say_hello()
ret=a.num(10,23)
print(ret)

__all__ = [变量1,变量2 ...] 设置导入模块的功能。

模块搜索路径:

当你导入一个模块,Python解析器对模块位置的搜索顺序是:

1、当前目录

2、如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。

由sys模块的sys.path方法来规定

因为sys.path返回的数据类型是列表

1、列表可以修改、我们导入的范围也可以通过修改sys.path这个列表获得暂时的修改。例如通过 sys.path.append()添加目录,导入额外目录的模块。

2、列表是有序的,当搜索的过程当中,在第一个路径下搜索到了,就停止搜索。而且sys.path第一个路 径是脚本的当前路径,所以禁止大家讲自己的脚本命名成模块的名称。

因此需要注意的是:自己模块命名的时候不能和系统的模块名称相同。

模块搜索顺序:

遵循就近原则

把模块当做脚本运行:

我们可以通过模块的全局变量__name__来查看模块名:
当做脚本运行:
__name__ 的值 等于'__main__'

当做模块导入:
__name__的值等于模块名

作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
if __name__ == '__main__':

  pass

random模块:

randint():随机产生整数

# 产生0-3之间随机的一位数(randint)
import random

num = random.randint(0, 3)  # 包含0,3
print(num)

unifrom():随机产生小数

import random

num = random.randint(0, 3)  # 包含0,3
print(num)

random():0-1之间随机产生小数不包括0,1

import random
ret=random.random()
print(ret)

randrange():可以指定步长

import random
ret=random.randrange(1,10,2)#在1-10之间产生随机的奇数
print(ret)

choice():随机返回序列中的一个数据

# choice  在序列中随机取值
import random

lst = [1, 2, 3]
num = random.choice(lst)
print(num)

shuffle():打乱序列顺序

shuffle()打乱序列顺序
import random

lst = ['a', 'b', 'c']
num = random.shuffle(lst)
print(lst)

sys模板:

import sys
sys.version
返回解释器版本

import sys
sys.path  返回模块搜索路径

time模板:

time.sleep():睡眠功能,让程序在几秒后执行

# time.sleep()
import time

print('程序开始了...')
time.sleep(4)
print('程序结束了...')

time.time():指的是从1970年1月1日到现在的秒值返回的是float类型(时间戳)

# time.time()
import time

ret = time.time()
print(ret)  # 1546946830.269016

time.localtime():获取时间元组(将此前时间戳转化为时间元组)

# time.localtime()
import time

ret = time.localtime()
print(ret)
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=8, tm_hour=19, tm_min=30, tm_sec=0, tm_wday=1, tm_yday=8, tm_isdst=0)

time.strftime():时间字符串格式化

# time.strftime()
import time

ret = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(ret)  # 2019-01-08 19:38:26

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值