python笔记39 内存优化 pep8原则 命令行参数

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:\pythonProject1\lajihuishou>python test.py
参数个数为: 1 个参数
参数列表: ['test.py']

(venv) D:\pythonProject1\lajihuishou>python test.py 1 2 3 4 5
参数个数为: 6 个参数
参数列表: ['test.py', '1', '2', '3', '4', '5']

(venv) D:\pythonProject1\lajihuishou>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户友好型界面编写:

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:\pythonProject1\lajihuishou>python test.py
usage: my-我自己的程序 [options] usage

my-编写的命令行文件

optional arguments:
  -h, --help  show this help message and exit

my-epilog
None

(venv) D:\pythonProject1\lajihuishou>python test.py --help
usage: my-我自己的程序 [options] usage

my-编写的命令行文件

optional arguments:
  -h, --help  show this help message and exit

my-epilog
None

(venv) D:\pythonProject1\lajihuishou>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 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:\pythonProject1\lajihuishou>python test.py  qian 23 -s female
Namespace(name='qian', age='23', sex='female')

(venv) D:\pythonProject1\lajihuishou>

在这里插入图片描述

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:\pythonProject1\lajihuishou>python test.py  qian 23
Namespace(name='qian', age='23', sex='男')

(venv) D:\pythonProject1\lajihuishou>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:\pythonProject1\lajihuishou>python test.py  qian 23 -s female
Namespace(name='qian', age='23', sex='female')

(venv) D:\pythonProject1\lajihuishou>python test.py  qian 23  #直接输出值
qian 23 男

(venv) D:\pythonProject1\lajihuishou>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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!')

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值