模块:
模块是一个包含所有你定义的函数和变量的文件。
- 容器:数据的封装
- 函数:语句的封装
- 类:方法和属性的封装
- 模块:程序文件
命名空间:
内置命名空间:可以在任何程序中直接运行
全局命名空间:只在模块当中。不同的模块之间相互独立
本地命名空间:函数或类中的命名空间
程序查找命名空间时按照从里到外的顺序,内置——全局——本地
导入模块:
1 import + 模块名
2 from 模块名 import 函数名
3 import 模块名 as 新名字 (新名字可以为空 这样 在使用函数时可以直接使用。)
name 内置变量 表示当前模块的名字
搜索路径被存储在sys模块中的path变量中。
包:
1 创建一个文件夹 用于存放相关的模块 文件夹的名字为包的名字。
- 在文件夹中创建一个__init__.py的模块文件,内容可以为空。 只有含有这个文件才会被认为是一个包。
- 将相应的模块放入文件夹中。
练习题:
1.用模块名字+.__all__方法输出查出。
2.
from collections import Counter
def most_element(language):
a = Counter(language)
b = a.most_common(1)
return(b[0][0])
datetime类:
- datetime.now()获取当前的日期时间 输出顺序为 年 月 日 时 分 秒 微秒
- datetime.timestamp()获取以1970年1月1日为起点记录的秒数。
- datetime.fromtimestamp()使用unixtimestamp创建一个datetime
- datetimestrftime()格式化datetime对象
- date.today() 获取当前日期信息
练习题:
1.
import re
from datetime import datetime,timezone,timedelta
def to_timestamp(dt_str,tz_str):
time1=datetime.strptime(dt_str,"%Y-%m-%d %H:%M:%S")
time2=int(re.search(r'(UTC)([+|-]\d+):(\d{2})',tz_str).group(2))
print(time1.replace(tzinfo=timezone(timedelta(hours=time2))).timestamp())
t1=to_timestamp("2020-6-1 08:10:30","UTC+7:00")
t2=to_timestamp("2020-5-31 16:10:30","UTC-09:00")
import datetime
a = int(input())
def all_sundays(year):
dt1=datetime.date(a,1,1)
dt2=datetime.date(a,12,31)
for i in range((dt2-dt1).days+1):
day=dt1+datetime.timedelta(days=i)
b=day.isoweekday()
if b==7:
print(day)
else:
continue
all_sundays(a)
心得:好难 * _ *