python模块及包的导入
本文从代码如诗中学习而来
模块(module)
模块分为标准库(不需要安装)、第三方库(需要自己安装的)、自定义模块(自己写的)
对于自定义模块
例如
➜ python_learning ls
class_method.py New.py #这调用py文件与被调用py文件在同一个文件夹下面
class_method.py定义了一个class、函数、变量
#class_method.py
class Game:
region="China"
def __init__(self,name,role,weapon="handgun",lifevalue=100):
self.name=name
self.__lifevalue=lifevalue
def show_value(self):
print("%s's life value is %s"%(self.name,self.__lifevalue))
pi=3.141592653
def newton_sqrt(c):
e=0.00000001
x=1
x1=(x+c/x)/2
while abs(x1-x)>=e:
x=x1
x1=(x+c/x)/2
return x1
第一种调用方法:模块名.[class/function/variable]
#New.py
import class_method
m=class_method.Game('Jack','Police')
m.show_value()
print(class_method.pi)
print(class_method.newton_sqrt(144))
第二种调用方法:[class/function/variable]
#New.py
from class_method import Game,newton_sqrt,pi
m=Game('Jack','Police')
m.show_value()
print(pi)
print(newton_sqrt(144))
上面两种导入方法,如果class_method.py文件中有函数调用,则都会执行这些调用,所以模块中不要调用模块内的类,函数,变量,只写出来给别的文件使用的类,函数,变量