第二周
模块 库 相当于java导包
标准库 不用安装
第三方 需要安装
Python处理excel 读xlrd模块 写 XlsxWriter 模块
windows安装库很简单 python2执行 pip install pyexcelerator(模块名)
Python 执行 pip3 install XXXXXX(模块名)
创建包的名字和python文件的名字不能和 (模块名)库名一样,否则会调取自身
import sys
# 打印环境变量
print(sys.path)
#打印当前文件的路径
print(sys.argv)
import os 和系统交互比较多
#创建文件夹或者文件
os.mkdir("C:/Users/Administrator/Desktop/day02/")
#打印当前文件目录的列表
cmd= os.popen("dir").read()
print(cmd)
python执行先编译器 后解释器 .pyc文件是介于编译后的文件
type(2)判断数据类型
python中的数据类型
在python2中如int超范围之后会自动转成long型(在32位机器当中int类型是 2的32次方 在32位机器当中int类型是 2的64次方)
在python3中 进行了优化 int超范围后还是int类型 可以正常使用
string和bytes
在python2中 str和bytes可以混用 互相拼接
python3 对str和bytes类型有看更明确的区分 不会隐式转换
机器之间的相互的传输都是使用的二进制 bytes
#字符串转bytes
str="我是"
print(str.encode('utf-8'))
#bytes转string
str2=b'xe6x88x91xe6x98xaf'.decode('utf-8')
print(str2)
输出如下
布尔类型
python中首字母是大写
True
False
求余数 %
返回除的整数部分
64 32 16 8 4 2 1
64>>2 = 16 相当于 除以2的2次方 64/4
64>>3 = 8 相当于 除以2的3次方 64/8
移几位就相当 除以几的2次方
以上的这种运算比 正常的除法快很多 <<相当于乘法 同理
三元运算
print("111") if 1>2 else print("222")
输出 222 左边位置是条件正确的结果 中间是条件 esle 右边是条件错误的结果
关于列表
name=["s",1,"qq"]
# 切片取数据 顾头不顾尾 取数据最后一位 要给给最后位置+1
print(name[0:3])
#或者不限制直接 :
print(name[0:])
#或者 输入负数 代表倒着数
print(name[-3:])
结果如下
#给最后一个位置增加元素
name.append("sssss")
#给指定位置添加元素
name.insert(1,'kkkk')
#删除元素,指定元素
name.remove("kkkk")
#删除指定位置的元素
name.pop(2)
#空白,删除最后一个元素
name.pop()
#通过元素,得到他的位置下标
name.index("sssss")
#清空列表
name.clear()
#统计列表里有多少相同的元素
print(name.count("sssss"))
#对列表的顺序进行反转
name.reverse()
#列表排序 排序的优先级如下 特殊符号>数字>大写字母>小写字母
name.sort()
和并列表 吧name2 列表合并到 names 中 name2依然存在
.copy,是浅copy,会复制第一层,如果里边 在套一个列表A,那么 列表A就会指向同一个内存地址,可以实现类似联合账号的效果,一个账户花钱,总账户都减少
copy.deepcopy() 是深度copy 完全复制一份
需要导入 import copy
import copy
name1=["aaa",'bbb',"ccc",['100','fff']]
#浅copy
name2=name1.copy()
#深度copy
name3=copy.deepcopy(name1)
name1[3][0]="50"
print("name1: ",name1)
print("name2: ",name2)
print("name3: ",name3)
输出如下 name2[3][0]随着name1的改变,而改变 name3不会变 在列表套列表会发生
得到列表的长度 len()
intaa=[1,3,4,5,7,55,5555,43]
print(len(intaa))
输出如下
列表循环
跳着进行切片 隔一个取一个
如果是 第一个下标,或者是最后一个下标 可以忽略 下边两个种写法效果一样
元组 一旦创建不能修改 不能添加 也被称为只读列表 只有两种方法
name1=("aaa",'bbb','aaa')
#统计相同元素个数
print(name1.count("aaa"))
#得到元素下标
print(name1.index("bbb"))
输入如下
元组 tupl 转化为list 列表
举个简单的例子,代码如下:
a=(1,2,3)
b=list(a) #b是由a转化而来的
结束整个程序 exit():
字符串操作
判断是否是整数格式,isdigit
循环打印下标 和数据 名称是随便起的 enumerate
数字颜色
有很多种颜色 改变31这个数字即可