a=178 b=178 print(id(a)) print(id(b)) del a del b c=178 print(id(c))
小整数池的内存地址分配一致,对于同一个数值
biga=123450 bigb=123450 print(id(biga)) print(id(bigb)) del biga del bigb bigc=123450 print(id(bigc)) # 从结果来看,大整数和小整数结果一样 # 区别: # 1. 从结果来看是一样的 # 2. 大整数池是没有提前的创建好对象,是一个空池,需要我们自己去创建 # 创建好之后会把整数对象保存在池子里,后面都不需要再创建了,直接拿来使用 # 小整数池是提前将 -5~256 的数据都提前创建好python pep8原则
import sys
print('参数个数为:',len(sys.argv),'个参数')
print('参数列表:',str(sys.argv))
(venv) D:pythonProject1lajihuishou>python test.py 参数个数为: 1 个参数 参数列表: ['test.py'] (venv) D:pythonProject1lajihuishou>python test.py 1 2 3 4 5 参数个数为: 6 个参数 参数列表: ['test.py', '1', '2', '3', '4', '5'] (venv) D:pythonProject1lajihuishou>
import argparse
import sys
# 创建一个解释器对象
parse=argparse.ArgumentParser(prog='my-我自己的程序',usage='%(prog)s [options] usage',
description='my-编写的命令行文件',epilog='my-epilog')
print(parse.print_help())
(venv) D:pythonProject1lajihuishou>python test.py usage: my-我自己的程序 [options] usage my-编写的命令行文件 optional arguments: -h, --help show this help message and exit my-epilog None (venv) D:pythonProject1lajihuishou>python test.py --help usage: my-我自己的程序 [options] usage my-编写的命令行文件 optional arguments: -h, --help show this help message and exit my-epilog None (venv) D:pythonProject1lajihuishou>
# import sys
# print('参数个数为:',len(sys.argv),'个参数')
# print('参数列表:',str(sys.argv))
import argparse
import sys
# 创建一个解释器对象
parse=argparse.ArgumentParser(prog='my-我自己的程序',usage='%(prog)s [options] usage',
description='my-编写的命令行文件',epilog='my-epilog')
# 添加位置参数【必选参数】
parse.add_argument('name',type=str,help='你自己的名字')
parse.add_argument('age',type=str,help='你的年龄')
# 添加可选参数
parse.add_argument('-s','--sex',type=str,help='你的性别')
# print(parse.print_help()) #d打印帮助文档只是列出参数
result=parse.parse_args() # 开始解析参数
print(result)
(venv) D:pythonProject1lajihuishou>python test.py qian 23 -s female Namespace(name='qian', age='23', sex='female') (venv) D:pythonProject1lajihuishou>
parse.add_argument('-s','--sex',action='append',type=str,help='你的性别') #可以接受多值
import argparse
import sys
# 创建一个解释器对象
parse=argparse.ArgumentParser(prog='my-我自己的程序',usage='%(prog)s [options] usage',
description='my-编写的命令行文件',epilog='my-epilog')
# 添加位置参数【必选参数】
parse.add_argument('name',type=str,help='你自己的名字')
parse.add_argument('age',type=str,help='你的年龄')
# 添加可选参数
parse.add_argument('-s','--sex',default='男',choices=['male','female'],
type=str,help='你的性别') #限定范围使用
# print(parse.print_help()) #d打印帮助文档只是列出参数
result=parse.parse_args() # 开始解析参数
print(result.name,result.age,result.sex)
(venv) D:pythonProject1lajihuishou>python test.py qian 23 Namespace(name='qian', age='23', sex='男') (venv) D:pythonProject1lajihuishou>python test.py qian 23 -s nihao #可选范围之外,报错 usage: my-我自己的程序 [options] usage my-我自己的程序: error: argument -s/--sex: invalid choice: 'nihao' (choose from 'male', 'female') (venv) D:pythonProject1lajihuishou>python test.py qian 23 -s female Namespace(name='qian', age='23', sex='female') (venv) D:pythonProject1lajihuishou>python test.py qian 23 #直接输出值 qian 23 男 (venv) D:pythonProject1lajihuishou>
import argparse
import sys
# 创建一个解释器对象
parse=argparse.ArgumentParser(prog='系统登陆',usage='%(prog)s [options] usage',
description='my-编写的命令行文件',epilog='my-epilog')
# 添加位置参数【必选参数】
parse.add_argument('loginType',type=str,help='登录系统类型')
# 添加可选参数
parse.add_argument('-u',dest='user',type=str,help='你的用户名')
parse.add_argument('-p',dest='pwd',type=str,help='你的密钥')
result=parse.parse_args() #开始解析参数
if (result.user=='root' and result.pwd=='111111'):
print('login success')
pass
else:
print('login fail!')



