python 导入包 作用域_Python 包、模块、函数、变量作用域

Python 项目的组织结构

- 包

-- 模块

--- 类

---- 函数、变量

Python是利用包和模块来组织一个项目的。

包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包,要想让个文件夹成为一个包,就必须在这个文件夹下增加个特定的文件 __init__.py

__init__.py里面可以什么也不写,只是纯粹来标注这个文件夹是个包。 也可以在这个文件里编写代码。

对于模块的名字:包名.模块名

对于__init__.py模块的名字:直接是包名

导入有两种方式:

1、导入模块:import 模块名

若在模块A中想用到B模块的变量b,那么在A中import B 之后,需要使用模块名来点出来变量名:B.b

在模块A中:

import B

print(B.b)

2、from 模块名 import 变量名,函数

在模块A中:

from B import b

可直接使用 print(b),而不用使用前缀

import导入的是模块,from import导入的是具体的变量或者函数,因此使用from import 就不用使用前缀了。

但是!也可以使用 from 包名  import 模块名   然后在A模块中使用 B.b 。。。。

比如:B模块在C包中,C包和A模块是平级的

在A模块中使用:

from C import B

print(B.b)

若是B中有大量的变量需要导入,那么可以用  *  号来指代。

但是如此,便将B中的所有都导入A中了。

其实可以在B中进行指定,哪些变量可以通过 * 号来进行导入到其他文件

在B文件的顶部,使用 __ALL__=['变量名a',‘变量名b’] ,这样在A文件中使用 from B import * 的时候,只会将B中的 a b 两个变量导入A

其实吧,也可是使用 from B import a,b,c  但是呢,Python的规范是一行字符个数不超过80,若是需要导入变量过多就要换行

Python代码换行问题:

方式一:在需要换行的结尾加上反斜杠  \   然后换行

方式二:在被导入变量的外部加上括号来换行

__inti__.py的作用:

基本作用 :import 导入包的时候,python会自动运行__init__.py文件

应用场景:做一些初始化工作

不论是导入包还是导入包中某个模块的变量,都会自动于运行init文件

init 文件中也可使用 __all__ = ['模块名'],来指定当此包之外的某模块使用 from 包名 import * 的时候,会import 进 __all__指定的模块

函数的参数:

1.必须参数:这是指代的是函数定义时候的参数顺序和个数。

def

get_result

(

x

,

y

):

result

=

x

+

y

return

result

result

=

get_result(

1

,

2

)

#这1 , 2 分别给 x , y 就是必须参数

print

(result)

2.关键字参数:这在于函数的调用,而不是函数的定义。

def

get_result

(

x

,

y

):

result

=

x

+

y

return

result

result

=

get_result(

1

,

2

) #需考虑赋值顺序

print

(result)

result2

=

get_result(

y

=

2

,

x

=

1

)  # 这就是关键字参数,在于函数调用时候,不用考虑赋值顺序。

print

(result2)

以上两个参数类型,只是在函数调用时候的不同,而参数定义是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值