1.引用计数机制
import sys # sys.getrefcount() a=[] print(sys.getrefcount(a)) ##有两个地方引用这个a b=a print(sys.getrefcount(a)) #3次了 c=b d=b e=c print(sys.getrefcount(a)) #6次了
2.循环数据结构及引用计数
https://www.bilibili.com/video/BV1vA411b7Rn?p=108
3.GC模块
https://www.bilibili.com/video/BV1vA411b7Rn?p=109
4.内存优化
##用的时候已经有优化了
a=100 b=100 print(id(a)) print(id(b)) ##两个id地址一样 del a del b c=100 print(id(c)) ##是刚才a/b的地址
5.pep8规范
不要混合使用Tab和空格,每个缩进级别4个空格(即一个Tab)
6.命令行参数
import sys print('参数个数:',len(sys.argv),'个参数') print('参数列表:',str(sys.argv))
终端可以调用:
python zwt_pk_cz.py 1 2 3
输出:
参数个数: 4 个参数
参数列表: ['zwt_pk_cz.py', '1', '2', '3']
import sys import argparse ##创建一个解析器对象 parse=argparse.ArgumentParser(prog='我自己的程序',usage='%(prog)s [option] usage', description='编写自定义命令行的文件',epilog='my-epilog') ##添加位置参数【必选参数】 parse.add_argument('name',type=str,help='你自己的名字') #print(parse.print_help()) ##打印帮助文档 ##添加可选参数 parse.add_argument('-s','--sex',type=str,help='你自己的性别') result=parse.parse_args() print(result)
终端可以调用:
python zwt_pk_cz.py yh -s 女
输出:
Namespace(name='yh', sex='女')