# Python
● 别人写好的东西(库)
A:*foo1 foo2 foo3 foo4
B:*foo2 foo1 foo3 foo4
from XX import XX
from XX 就是 包的东西
● __XX__.py 不对外公开的
1 #fileDemo.py 2 # -*- coding: UTF-8 -*- 3 4 def FooDemo(): 5 print("FillDemo.FileDemo.FfooDemo()") 6
1 #Demo.py 2 # -*- coding: UTF-8 -*- 3 from fileDemo import FooDemo 4 5 FooDemo()
● 作业讲解
新建 Shop.py
新建 Login.py
○ with open("userinfo.txt") as file:
相当于同时做了下面的两句代码
就不用担心文件没有关闭了
file = open("userinfo.txt") #r 读方式打开文件
file.close()
1 #login.py 2 # -*- coding: UTF-8 -*- 3 userinfos = [] 4 with open("userinfo.txt") as file: #确保数据的及时性 5 for item in file.readlines(): 6 userinfos.addend(item) 7 def login(name,psw): 8 for userinfo in userinfos: 9 temp = userinfo.split() 10 if name == temp[0] and psw == temp[1]: 11 return True #登陆成功 12 else: 13 return False #登陆失败
1 #Shop.py 2 # -*- coding: UTF-8 -*- 3 from Login import login 4 #登陆 5 name = input("Logo ID:") 6 psw = input ("\r\nLogo Psw:") 7 8 if(login(name,psw)): 9 print("\r\nOK") 10 else: 11 print("\r\nNO") 12
● 两个文件哪个先运行的
○ 导入的文件,会先执行一次代码。
○ 由于Python 是一个解释语言,Main函数不存在 .py内
○ __name__ 每个程序都有一个默认的变量
如果是执行代码的文件会是 一个 __main__
1 #logo.py 2 # -*- coding: UTF-8 -*- 3 print(__name__) 4 userinfos = [] 5 with open("userinfo.txt") as file: #确保数据的及时性 6 for item in file.readlines(): 7 userinfos.append(item) 8 def login(name,psw): 9 for userinfo in userinfos: 10 temp = userinfo.split() 11 if name == temp[0] and psw == temp[1]: 12 return True #登陆成功 13 else: 14 return False #登陆失败 15 16 17 if __name__ == '__main__': 18 if login(input("Name:"),input("\r\nPassWord")): 19 print("\r\nOK") 20 else: 21 print("\r\nNo")
1 #Shop.py 2 # -*- coding: UTF-8 -*- 3 from Login import login 4 #登陆 5 6 if __name__ == '__main__': 7 name = input("Logo ID:") 8 psw = input ("\r\nLogo Psw:") 9 10 if(login(name,psw)): 11 print("\r\nOK") 12 else: 13 print("\r\nNO")
1 #User.py 2 # -*- coding: UTF-8 -*- 3 form Login import login 4 def UserPay(name,psw,money): 5 if login(name,psw): 6 print("授权成功开始扣费”) 7 with open(file) as data: 8 for item in data.readlines(): 9 userinfo = item.split() 10 if name == userinfo[0]: 11 userinfo[3] -= money 12 else 13 print("授权失败")
● 函数的方式
def foo(*arg):
一个星号是列表传输的
def foo(**arg):
两个星号是字典进行传输的