1、Python的模块
要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入到程序中的代码。
def make_pizza(size, *toppings):
"""概述要制作的比萨"""
print("\nMaking a " + str(size) +
"-inch pizza with the following toppings:")
for topping in toppings:
print("- " + topping)
import pizza
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
Python读取这个文件时,代码行import pizza让Python打开文件pizza.py,并将其中的所有函数都复制到这个程序中。你看不到复制的代码,因为这个程序运行时,Python在幕后复制这些代码。你只需知道,在making_pizzas.py中,可以使用pizza.py中定义的所有函数。
你还可以导入模块中的特定函数,这种导入方法的语法如下:
from module_name import function_0, function_1, function_2
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名——函数的另一个名称,类似于外号。要给函数指定这种特殊外号,需要在导入它时这样做。
from module_name import function_name as fn
你还可以给模块指定别名。通过给模块指定简短的别名(如给模块pizza指定别名p),让你能够更轻松地调用模块中的函数。
import module_name as mn
```**加粗样式**
**使用星号(*)运算符可让Python导入模块中的所有函数:**
```python
from module_name import *
2、datetime模块
1、datetime.datetime类:
import datetime
print(datetime.datetime.now())
返回系统当前时间(2020-08-05 17:58:55.464459)
import datetime
print(datetime.datetime.now().date())
返回当前时间的日期(2020-08-05)
import datetime
print(datetime.datetime.now().time())
返回当前时间的时分秒(18:01:00.077027)
import datetime
print(datetime.datetime.strptime('2020-08-05 17:58:55','%Y-%m-%d %H:%M:%S'))
返回datetime.datetime类型的时间(2020-08-05 17:58:55)
2、datetime.timedelta
datetime.timedelta用来计算两个datetime.datetime或者datetime.date类型之间的时间差。
class timedelta(SupportsAbs[timedelta]):
def __init__(self, days, seconds, microseconds, milliseconds, minutes, hours, weeks,):
pass
def days(self):
pass
def total_seconds(self):
pass
练习
1、了解Collection模块,编写程序以查询给定列表中最常见的元素。
输入:language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,‘PHP’, ‘Python’]
输出:Python
def most_element(language):
""" Return a list of lines after inserting a word in a specific line. """
i = 0
x = set(language)
for n in x:
if language.count(n) > i:
i = language.count(n)
shining=n
return shining
2、编写Python程序以选择指定年份的所有星期日。
"""
Input file
2020
Output file
2020-01-05
2020-01-12
2020-01-19
2020-01-26
2020-02-02
-----
2020-12-06
2020-12-13
2020-12-20
2020-12-27
"""
import datetime
def all_sundays(year):
dt1 = datetime.datetime(year=year, month=1, day=1)
dt2 = datetime.datetime(year=year, month=12, day=31)
dt = (dt2 - dt1).days
d = datetime.timedelta(days=1)
for i in range(dt+1):
a = dt1.isoweekday()
if a == 7:
s = dt1.strftime("%Y-%m-%d")
print(s)
dt1 = dt1 + d
all_sundays(2020)