函数 移动参数 实战
移动参数:
1.函数的形式参数个数不确定
2.函数的形式参数数据类型不确定
*:代表的是元租
**:代表的是字典
def func(*args,**kwargs):
print(args)
print(type(args))
print('\n')
print(kwargs)
print(type(kwargs))
func('a','b')
func(x for x in range(6))
func((1,2,3))
动态参数场景
1。姐口测试中,有个接口,有的时候请求需要4个参数,有的时候需要5个参数,有的时候需要6个参数,有的时候一个都不需要
def data1():
return {}
def data2():
return {"name":"liu lele","age":18,"address":"xian",'city':"baoji"}
def data(**kwargs):
return kwargs
print(data())
print(data(name='liu lele'))
print(data(**{"name":"liu lele","age":18,"address":"xian",'city':"baoji"}))
输出结果:
函数实战:
def out():
username=input('请输入账户:\n')
password=input('请输入密码:\n')
return username,password
def registered():
username, password = out()
temp= username+"|"+ password
with open('login.txt','w') as f:
f.write(temp)
# registered()
def login():
username, password = out()
with open('login.txt','r')as f:
lists=f.read().split('|')
if username==lists[0] and password==lists[1]:
return True
else:
return "你的登路账户有误,请再次检查"
# login()
def profile():
with open('login.txt','r')as f:
lists=f.read().split('|')
print('欢迎[0]访问刘乐乐个人主页'.format(lists[0]))
def main():
while True:
try:
f = int(input('1. 注册 2. 登录 \n'))
if f==1:
registered()
elif f==2:
if login()==True:
profile()
else:
print('请输入正确的登陆账户')
else:
break
except : continue
if __name__ == '__main__':
main()
输出结果:
包的调用
新建module 在里面新建index写入代码再新建logout调用index里的数据



randon 随机数:
import random
print(random.randrange(1,10))
print(random.randrange(10,19))
oS 处理路径
import os
#获取当前路径
print(os.path.dirname(__file__))
#获取当前路径的上一个路径
print(os.path.dirname(os.path.dirname(__file__)))
base_dir=os.path.dirname(os.path.dirname(__file__))
print(base_dir)
#路径拼接
print(os.path.join(base_dir,'data','log'))
filePath=os.path.join(base_dir,'data','log')
with open(file=filePath,mode='r',encoding='utf_8') as f:
print(f.read())






浙公网安备 33010602011771号