python学习 模块 一起敲敲键盘

模块.py

"""
import 模块名称 as 别名#as 别名可有可无
from 模块名称 import 变量/函数/类/* as 别名 #*表通配符,导入模块中的所有,若导入模块中具有同名的变量和函数,后导入的会将之前导入的覆盖

包是模块的目录,避免模块名称相冲突的问题
import 包名.模块名 as 别名
from 包名 import 模块名 as 别名
from 包.模块名 import *
调用包,包自带的__init__会自动执行且只执行一次,往后调用不再执行

主程序运行 通过这种方式,可以在其他程序中重用模块,而不必担心代码会自动执行。
if __name__ == '__main__':
    pass#if __name__ ='__main__':后的语句只会在该模块作为主程序运行时才会执行

常用内置模块
os 与操作系统和文件相关操作有关的模块
re 执行正则表达式的模块
random 产生随机数的模块
    seed(x) 初始化给定的随机数种子,默认为当前系统时间
    random() 产生一个[0.0,1.0]之间的随机小数
    randint(a,b) 生成一个[a,b]之间的整数
    randrange(m,n,k) 生成一个[m,n)之间步长为k的随机整数
    uniform(a,b) 生成一个[a,b]之间的随机小数
    choice(seq) 从序列seq中随机选择一个元素
    shuffle(seq) 将序列seq中元素随机排列,返回打乱后的序列
json 用于对高维数据进行编码和解码的模块
time 与时间相关的模块
    time() 获取当前时间戳
    localtime(sec) 获取指定时间戳对应本地时间的struct_time对象
    ctime() 获取当前时间戳对应的易读字符串
    strftime() 格式化时间,结果为字符串
    strptime() 提取字符串的时间,结果为struct_time对象
    sleep(sec) 休眠sec秒
        %Y 年份 0001~9999
        %m 月份 01~12
        %B 月名 January~December
        %d 日期 01~30
        %A 星期 Monday~Sunday
        %H 小时(24h制) 00~23
        %I 小时(12h制) 01~12
        %M 分钟 00~59
        %S 秒 00~59
datetime 与日期时间相关的模块,方便显示日期并对日期进行运算
    datetime 表日期时间的类
    timedelta 表时间间隔的类
    date 表日期的类
    time 表时间的类
    tzinfo 时区相关的类

第三方模块
pip  install 模块名 #安装
pip install 模块名 #国外源http://pypi.douban.com/simple--trusted-host pypi.douban.com
pip uninstall 模块名 #卸载
python -m pip install--upgrade pip #升级
"""
import 模块自定义_fbnq
list_fbnq=[]
for i in range(1,10):
    list_fbnq.append(模块自定义_fbnq.fbnq(i))#模块名打点调用
print(list_fbnq)

import 模块自定义_fbnq as ribit
list_fbnq=[]
for i in range(1,10):
    list_fbnq.append(ribit.fbnq(i))#别名打点调用
print(list_fbnq)

from 模块自定义_fbnq import fbnq#只调用模块中的fbnq
list_fbnq=[]
for i in range(1,10):
    list_fbnq.append(fbnq(i))
print(list_fbnq)

import 包.fbnq
list_fbnq=[]
for i in range(1,10):
    list_fbnq.append(包.fbnq.fbnq(i))
print(list_fbnq)

from 包 import fbnq
list_fbnq=[]
for i in range(1,10):
    list_fbnq.append(fbnq.fbnq(i))
print(list_fbnq)

from 包.fbnq import *
print(way)
import 包.主程序运行

import random
print(random.random())#没有随机种子,每次输出结果都不同
print(random.randint(0,9))
for i in range(10):
    print(random.randrange(0,10,2))
print(random.uniform(0,10))
print(random.choice(list_fbnq))
random.shuffle(list_fbnq)
print(list_fbnq)
random.seed(0)#参数可以任意设置,只要前后所用参数一样,就可以取到一样的随机数
print(random.random())#设置随机种子,每次输出结果都相同
random.seed(0)
print(random.random())
print(random.randint(0,9))
for i in range(10):
    print(random.randrange(0,10,2))
print(random.uniform(0,10))
print(random.choice(list_fbnq))
random.shuffle(list_fbnq)
print(list_fbnq)

import time
print(time.time(),type(time.time()))
print(time.localtime())
print(time.localtime(1))#1秒 从1970年,一月一日,8时0分0秒开始计时
print(time.localtime(0).tm_year,time.localtime(0).tm_mon,time.localtime(0).tm_mday,time.localtime(0).tm_hour,time.localtime(0).tm_min,time.localtime(0).tm_sec,time.localtime(0).tm_wday,time.localtime(0).tm_yday,time.localtime(0).tm_isdst)
print(time.ctime())
now_time=time.strftime('%Y-%m-%d\t%H:%M:%S\t%B.%A',time.localtime())
print(now_time)
now_time=time.strftime('%Y-%m-%d\t%H:%M:%S\t%B.%A',time.localtime(time.time()))
print(now_time)
print(time.strptime(now_time,'%Y-%m-%d\t%H:%M:%S\t%B.%A'))
time.sleep(3)
print("have sleeped 3 secends")

import datetime
print(datetime.datetime.now(),type(datetime.datetime.now()))
now_list=time.strftime('%Y %m %d %H %M',time.localtime()).split(' ')#字符串转datetime类 法1
now_datetime0=datetime.datetime(int(now_list[0]), int(now_list[1]), int(now_list[2]), int(now_list[3]), int(now_list[4]))
print(now_datetime0, type(now_datetime0))
print(now_datetime0.year, now_datetime0.month, now_datetime0.day, now_datetime0.hour, now_datetime0.minute, now_datetime0.second)
localtime0_list=time.strftime('%Y %m %d %H %M',time.localtime(0)).split(' ')
localtime0_datetime=datetime.datetime(int(localtime0_list[0]), int(localtime0_list[1]), int(localtime0_list[2]), int(localtime0_list[3]), int(localtime0_list[4]))
now_string=now_datetime0.strftime('%Y-%m-%d\t%H:%M')#datetime对象转字符串
print(now_string,type(now_string))
now_datetime1=datetime.datetime.strptime(now_string, '%Y-%m-%d\t%H:%M')#字符串转datetime类 法2
print(now_datetime1, type(now_datetime1))
print(localtime0_datetime < now_datetime0)#datetime对象早晚比较
timedelta= now_datetime0 - localtime0_datetime#datetime对象的差 <class 'datetime.timedelta'>
print(timedelta, type(timedelta))
print(localtime0_datetime + timedelta)#datetime对象+<class 'datetime.timedelta'>
ten_day=datetime.timedelta(10,0,0,0,0,0,0)#创建10天的timedelta对象 天 秒 微秒 毫秒 分钟 小时 周
print(ten_day,type(ten_day))
ten_day_ten_secend=datetime.timedelta(10,10)#创建10天10秒的timedelta对象
print(ten_day_ten_secend)

 模块自定义_fbnq.py

def fbnq(n):#斐波那契数列
    if n==1 or n==2:
        return 1
    else:
        return fbnq(n-1)+fbnq(n-2)

        __init__.py

print("hello world")#调用包,自动调用__init__,有且只调用一次;__init__.py内代码可写可不写

        fbnq.py

way='F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)'
def fbnq(n):#斐波那契数列
    if n==1 or n==2:
        return 1
    else:
        return fbnq(n-1)+fbnq(n-2)

        主程序运行.py

print("主程序运行")
if __name__ == '__main__':
    print("主程序运行")



注意python文件路径

运行结果

模块.py

 模块自定义_fbnq.py

无打印输出

        __init__.py

         fbnq.py

无打印输出

        主程序运行.py

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值