1.模块
- 模块和包概念
模块: 就是一个py文件
包: 就是一个文件夹, 在文件中需要一个__init__.py包的初始化文件 - 模块和包的使用
import 模块名/包.模块名
from 包/模块 import 模块/函数
from 包.模块 import 函数1,函数2
from 包 import 模块 as 别名
- 模块/包查找顺序
- 内置模块
- 标准模块 python安装路径/Lib目录
- 当前文件所在路径
- 第三方包安装路径 python安装路径/Lib/site-packages目录中
- 自定义包的查找路径
import sys
sys.path.append(“路径”) sys.path.insert(0,“路径”) - 自定义的包或者模块的名字不要与 内置,标准,第三方模块重名.
2.给程序传参数
格式: 命令 参数
python xxx.py
参数传递给python文件
python xxx.py 参数1 参数2
如何接收传递参数
import sys
sys.argv: 保存了程序传递进来参数
1. 列表
2. 每个元素都是字符串
3. 第一个元素 python文件的路径
4. 之后的参数就是传递个python文件的参数
#场景:发送给XXX邮箱到XXX
#接受参数
import sys
print(sys.argv) #['F:/Python/0105/给程序传递参数.py' ] 是个列表
#录入信息
name=sys.argv[1]
email=sys.argv[2]
#发送
print(f"给{name}发送成功,邮箱为:{email}")
2.列表推导式
- 概念: 轻量级的 通过 for…in…循环快速生成列表
根据 表达式 推算, 从而创建列表 - 语法
完整语法:
[表达式 for 变量 in 列表 简单语句]
#生成1-100每个数的平方的列表
result=[i**2 for i in range(101)]
print(result)
#生成1-100中偶数的平方的列表
result = [i**2 for i in range(101) if i%2==0]
print(result)
#快速获取1的索引
tmp= [1,54,8,5,1,5,1,2,41,1,1,]
result1 = [i for i in range(len(tmp)) if tmp[i]==1]
print(result1)
#代码实现分组 [1,2,3,4,,...100]变成[[1,2,3,],[4,5,6,]...]
a = [i for i in range(101)]
b =[a[i:i+3] for i in range(0,len(a),3)]
print(b)
#获取a列表
a = list(range(1,101))![在这里插入图片描述](https://img-blog.csdnimg.cn/20200105220741701.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjA1NDg3MA==,size_16,color_FFFFFF,t_70)
print(a)
#b = [a[0:3],a[3:6],a[6:9]]
b = [a[i:i+3] for i in range(0,len(a),3)]
print(b)