函数 移动参数 实战

移动参数:
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())
posted @ 2022-06-20 19:03  刘乐乐liu  阅读(160)  评论(0)    收藏  举报