小甲鱼python视频教程第5讲_[Python]小甲鱼Python视频第051课(__name__属性、搜索路径和包)课后题及参考解答...

# -*- coding: utf-8 -*-

"""

Created on Tue Mar 26 23:45:37 2019

@author: fengs

"""

"""

测试题(笔试,不能上机哦~)

"""

"""

0. __name__ 属性的含义是什么?

当前运行的模块名

1. 什么时候 __name__ 属性的值是 "__main__"?

作为独立程序: __main__

作为模块被引入:__name__的属性就是模块名

2. 如果获得当前 Python 的搜索路径?

import sys

print(sys.path)

3. 如果你不想将相关的模块文件放在当前文件夹内,那最好的选择是?

方法1: sys.path.append(相关的模块文件所在路径)

方法2: 把相关的模块文件放在已有的搜索路径中--->site-packages

4. 如果你见到 import urllib.request 语句,那么这个 urllib 是什么?

包名

a.新建一个文件夹,文件夹名称就是包名

b.在文件夹中创建一个 __init__.py 文件,可以为空

c.把相关的模块文件放在文件夹中

import 包名.模块名

5. Python 如何区分一个文件夹是普通文件夹还是包?

文件夹中是否有 __init__.py文件

"""

print(__name__) # -----> __main__

class Test:

def __init__(self):

print(__name__)

test = Test()

"""

动动手0.

0. 执行下边 a.py 或 b.py 任何一个文件,都会报错,请改正程序。

注:这道题原理跟上一节课的课后作业(测试题 4、5)类似,如果上节课你搞懂了,这道题应该可以想出解决方案,不要轻易看答案,除非你已经抓破头皮…….

# a.py

import b

def x():

print('x')

b.y()

# b.py

import a

def y():

print('y')

a.x()

执行 b.py 引发下边异常:

>>>

Traceback (most recent call last):

File "/Users/FishC/Desktop/b.py", line 1, in

import a

File "/Users/FishC/Desktop/a.py", line 1, in

import b

File "/Users/FishC/Desktop/b.py", line 6, in

a.x()

AttributeError: 'module' object has no attribute 'x'

"""

# a.py

import b

def x():

print('x')

if __name__ == '__main__':

b.y()

# b.py

import a

def y():

print('y')

if __name__ == '__main__':

a.x()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值