1 为什么使用模块:代码重用、系统命名空间的划分、实现共享服务和数据。
容器:数据的封装
函数:语句的封装
类:属性和方法的封装
模块:模块就是程序
2 导入模块的三种方法
(1)import 模块名
(2)from 模块名 import 函数名
(3)import 模块名 as 新名字(最好用这种)
注意:第二种导入的变形(from 模块名 import *)表示把模块中所有变量名复制到了进行导入的作用域内,会出现名字混乱
3 if __name__ == ‘__main__’
使用__name__测试最常见的就是自我测试代码,在文件末尾加个__name__测试中的自我测试代码。
class Person:
def __init__(self,name,job = None , pay = 0):
self.name = name
self.job = job
self.pay = pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self,percent):
self.pay = int(self.pay * (1 + percent))
def __str__(self):
return '[Person: %s, %s]' % (self.name,self.pay)
class Manager(Person):
def giveRaise(self,percent,bouns = .10):
Person.giveRaise(self,percent + bouns)
if __name__ == '__main__':
bob = Person('Bob Smith')
sue = Person('Sue Jone', job = 'dev',pay = 100000)
print(bob)
print(sue)
print(bob.lastName(),sue.lastName())
sue.giveRaise(0.1)
print(sue)
tom = Manager('Tom Jones','mgr',50000)
tom.giveRaise(.10)
print(tom.lastName())
print(tom)
[Person: Bob Smith, 0]
[Person: Sue Jone, 100000]
Smith Jone
[Person: Sue Jone, 110000]
Jones
[Person: Tom Jones, 60000]
4 搜索路径
>>> import sys
>>> sys.path
['', 'C:\\windows\\system32', 'D:\\Python3\\Scripts', 'D:\\Python3\\python36.zip', 'D:\\Python3\\DLLs', 'D:\\Python3\\lib', 'D:\\Python3', 'D:\\Python3\\lib\\site-packages', 'D:\\Python3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg', 'D:\\Python3\\lib\\site-packages\\win32', 'D:\\Python3\\lib\\site-packages\\win32\\lib', 'D:\\Python3\\lib\\site-packages\\Pythonwin']
>>> sys.path.append("路径") # 添加路径
5 包(package)
(1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
(2)在文件夹中创建一个__init__.py的模块文件,内容可以为空;
(3)将相关的模块放入文件夹中
(4)导入时用包名 + . + 模块名
6 怎么快速掌握一个模块
(1)可在python交互界面通过help(模块名)来查看有关该模块的信息
(2)可通过模块文件来查看,如下:
可通过print来按格式显示
通过内置的dir()可以查看这个模块中有哪些方法、哪些类、哪些变量
通过__file__可以查看到这个模块文件具体在电脑的位置