python小白--模块的使用

模块的导入

 #方法一:import 模块名; 模块名.功能
	 import math
	 print(math.sqrt(9))
	
#方法二: from 模块名 import 功能1, 功能2...; 功能调用(不需要书写模块名.功能)
	from math import sqrt
	print(sqrt(9))


# 方法三:from 模块名 import *; 功能调用(不需要书写模块名.功能)
	from math import *
	print(sqrt(9))

定义别名

#	1. 模块别名
	import time as tt
	tt.sleep(2)
	【time.sleep(2)--注意当定义别名之后只能使用别名,所有此行代码出错】
	print('hello')

#   2. 功能别名
	from time import sleep as sl 
	sl(2)
	print('hello')

制作模块

注意:自己的文件名不能和已有模块名重复,如果重复导致模块无法使用

# 需求:一个函数 完成任意两个数字加法运算
def testA(a, b):
    print(a + b)

# __name__是系统变量,是模块的标识符,值是:如果是自身模块值是__main__, 否则是当前的模块的名字
if __name__ == '__main__':
    testA(1, 1)

使用自己定义的模块:

	#1. 导入模块
import my_module1
	# 2. 调用功能
my_module1.testA(2, 2)

模块的定位顺序


# 2. 当使用from xx import 功能 导入模块的功能的时候,如果功能名字重复,导入的时候后定义或后导入的这个同名功能
# 场景 time.sleep()
# def sleep():
#     print('我是自定义的sleep')
#
#
from time import sleep
#
# 定义函数 sleep
 def sleep():
     print('我是自定义的sleep')
#
sleep(2)#注意此行会调用自己定义的同名函数,但是自己定义的函数没有参数,程序报错

拓展: 名字重复

 #问题:import 模块名  是否担心 功能名字重复的问题  -- 不需要
import time
print(time)

time = 1#这个变量覆盖了导入的模块
print(time)

# 问题:为什么变量也能覆盖模块? -- 在Python语言中,数据是通过 引用 传递的。

__all__列表

module2.py

# 定义多个功能,把某个功能添加到__all__
__all__ = ['testA']


def testA():
    print('testA')

def testB():
    print('testB')

使用module2

from module2 import *

testA()

testB()#出错,因为testB函数没有添加到all列表,只有all列表里面的功能才能导入

提示下节内容:包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值