Python基础加强

基础加强
__all__作用
 
python中导入模块方法
import 模块名   :    使用模块中的函数,类,变量,模块名.对应名称
from 模块名 import 对应名称  : 直接使用对应名称来使用 函数 、类 、变量
from 模块名 import *   直接使用函数、类、变量。* 表示导入全部内容
 
当使用from 模块名 import * 时,可以在模块名对应的py文件中,加入__all__=['类名','函数名','变量名']来确定要导入的内容。
 
包、__init__.py作用
包中有很多py文件,方便管理。包的实质就是一个文件夹。
python3中使用包的方法:
1. 在目录下新建一个__init__.py。
2. 在__init__.py中写入 __all__=['模块名']。决定了from 包名 import * 导入的模块名
3. from . import 模块名。 确定使用import包名 导入的模块。
 
python2中使用包的方法:
1. 在目录下新建一个__init__.py。
2. 在__init__.py中写入 __all__=['模块名']。决定了from 包名 import * 导入的模块名
3. import 模块名。 确定使用import包名 导入的模块。
 
注意 在__init__.py中写入的语句 会在导入包之后自动执行。
 
 
模块制作、发布
 
1. 新建setup.py
setup.py
包名
模块名
from distutils.core import setup
setup(name='Liuxiaoyang',version='1.0',description='Liuxiaoyang',author='Liuxiaoyang',py_module=['包名.模块名','包名.模块名'])
 
2. 构建包
python3 setup.py build
python3 setup.py sdist
 
生成 Liuxiaoyang-1.0.tar.gz
 
发布到 gitbub.com
 
下载 Liuxiaoyang-1.0.tar.gz
解压 tar -zxvf Liuxiaoyang-1.0.tar.gz
安装 python3 setup.py install
 
 
程序传参
 
import sys
sys.argv[0] 文件名
sys.argv[1] 第一个参数
 
sys.argv是一个列表
 
列表生成式
python2 中 range()风险 --> MemoryError
python3 中规避了风险。生成器
 
如果需要生成一个1~100的列表
传统方法:
li=[]
for i in range(1,101,1):
li.append(i)
print(li)
 
优化方法:
li=[i for i in range(1,101,1)]
for 只起到了循环次数的作用。
例如 li=[11 for i in range(10)]
li --> [11,11,11,11,11,11,11,11,11,11]
 
列表生成式中的条件筛选
li = [i for i in range(100) if i%2==0]
 
li=[(x,y) for x in range(190) for y in range(10) if x%2==1 if y%2==0]
 
 
集合、列表、元祖
集合set 用来去重 {}
列表list 用来增删改查 []
元祖tuple 不能改变 只能用index count两种方法 ()
 
集合、列表、元祖可以相互转换
 
 
 
元素去重
方法一:
a=[1,2,3,1,2]
b=[]
for i in a:
if i not in b:
b.append(i)
 
方法二:
a=[1,2,3,4,1,2,3,4]
b=set(a)
c=list(b)
posted @ 2017-05-30 09:08  PythonInMyLife  阅读(278)  评论(0编辑  收藏  举报