python学习9-模块、包和程序

在终端窗口运行python程序:python python文件名.py

模块

导入模块

import 模块  (模块是不带.py拓展的其他python文件名);

用report.函数名,就可以在主程序中使用子程序的函数

#report1.py 子程序
def get_description():
    from random import choice
    poss = ['rain','snow','sleet','fog','sun','who konws']
    return choice(poss)
#weather.py 主程序
import report1
des = report1.get_description()
print(des)

使用别名导入模块

import 文件名 as 别名

#weather.py 主程序
import report1 as re
des = re.get_description()
print(des)

导入模块的一部分

from 文件名 import 函数名 as 别名

from report1 import get_description as get1
des = get1()
print(des)

模块搜索路径 

使用储存在标准sys模块 下的目录名和ZIP文件列表作为path变量,可以读取和修改该列表;

第一个匹配到的模块会被先使用。

import sys
for place in sys.path:
    print(place)
'''
E:\python\python_venv\env\Scripts\python.exe E:/python_study/venv/study05.py
E:\python_study\venv
E:\python_study
E:\python_study\dict1
D:\pycharm\PyCharm 2019.3.3\plugins\python\helpers\pycharm_display
d:\python3\python39.zip
d:\python3\DLLs
d:\python3\lib
d:\python3
E:\python\python_venv\env
E:\python\python_venv\env\lib\site-packages
D:\pycharm\PyCharm 2019.3.3\plugins\python\helpers\pycharm_matplotlib_backend
'''

多个模块组成的文件层次。

在要被当作包的目录下需要添加一个文件:__init__.py  ,该文件可以为空,该文件可把该目录当成一个包

#daily.py
def forecast():
    return 'like yesterday'
#weekly.py
def forecast():
    return  ['rain','snow','sleet','fog','sun','who konws']
#weather.py
from sources import daily,weekly
print('daily:',daily.forecast())
print('weekly:')
for number, outlook in enumerate(weekly.forecast(),1):
    print(number,outlook)
'''
daily: like yesterday
weekly:
1 rain
2 snow
3 sleet
4 fog
5 sun
6 who konws
'''

python标准库

setdefault() defaultdict() 处理缺失的键。

字典.setdefault(键,值)

setdefault() 处理的键不在字典中,新的默认值会被添加到字典中;

>>> dict1 = {'a':1,'b':2}
>>> dict1.setdefault('c',3)
3
>>> dict1
{'a': 1, 'b': 2, 'c': 3}
>>> dict1.setdefault('d')
>>> dict1
{'a': 1, 'b': 2, 'c': 3, 'd': None}

setdefault() 处理的键已经在字典中,还会返回原本的初始值,不会改变原来的值;

>>> dict1 = {'a':1,'b':2}
>>> dict1.setdefault('c',3)
3
>>> dict1
{'a': 1, 'b': 2, 'c': 3}
>>> dict1.setdefault('c',4)
3
>>> dict1
{'a': 1, 'b': 2, 'c': 3}

defaultdict() 参数是一个函数,返回赋给缺失的键

。。。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值