1 import和from都可以用来引入模块,在什么情况下没法使用from?
import将整个模块对象赋值给一个变量名。
from将一个或多个变量名赋值给另外一个模块中同名的对象。
使用from导入变量,如果且那些变量碰巧和作用域中现有变量同名,那么变量名就会被悄悄覆盖掉。这种情况下只能使用import,因为我们是通过模块名才获取的变量名,不会和现有的作用域冲突。
这两个链接可以给你一个很好的说明:
https://www.jianshu.com/p/c82429550dca
https://baijiahao.baidu.com/s?id=1595360515695157210&wfr=spider&for=pc
2 使用from比使用import有哪些优点?又有哪些缺点?
优点:from…import…只导入模块中的一部分内容,并在当前程序的命名空间中创建导入对象的引用,所以使用from…import…导入模块,可以直接调用模块的函数时,不需要再以模块名作为前缀。
缺点:from容易污染命名空间,并且判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。
3 下面的代码片段的输出结果是什么?
01 s=lambda x,y:x+y
02 print (s(‘aa’,’bb’))
lambada函数输出运算结果,所以代码片输出的是aabb
4 写一个根据日期计算是星期几的模块,在程序中引入并使用这个模块。
不太会写这个题,查找了一下资料,最后弄出来了一个,程序开头是模块,导入的是python自带的time和datetime模块,weekday()返回的是数字0-6,代表的是周一-周六。
strtime()是把输入的时间转化成一个元组,datetime()是返回时间类型,然后就可以赋值给模块了。
#写一个根据日期计算是星期几的模块,在程序中引入并使用这个模块。
import time,datetime
def get_week(date):
week_day = {
0: '星期一',
1: '星期二',
2: '星期三',
3: '星期四',
4: '星期五',
5: '星期六',
6: '星期天',
}
day = date.weekday()
return week_day[day]
inputtime=time.strptime(input("date(年-月-日):"),"%Y-%m-%d")
y,m,d = inputtime [0:3]
print(get_week(datetime.datetime(y,m,d)) )