一、字符串
1、什么是字符串
字符串:被引号引起来的内容就是字符串,这里的引号可以是双引,单引,三引,用于表示文本信息或字符序列。
2、方法
a= "Hello",b= "Python"
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
格式化:
age = 18
name = 'z3'
s = f'我叫{name}我今年{age}岁'
print(s)
s = '我叫' + name + '我今年' + str(age) + '岁'
print(s)
s = '我叫%s我今年%d岁' % (name, age)
print(s)
s = '我叫{}我今年{}岁'.format(name, age)
print(s)
拼写方法:
s = "HELLO"
print(s.capitalize()) #首字母大写
print(s.upper()) #全大写
print(s.lower()) #全小写
# title 每个单词首字母大写
判断:
isDigit() :判断字符串是否为整数
isalnum() :是否为非符号
isalpha() :判断是否是字母
isspace() :是否是空格
endswith() :判断字符串是否以XX结尾
startwith() : 判断字符串是否以XX开头
r : 表示愿意输出
b : 表示字符串为字节数据(二进制数据)
encode() :将字符串转为字节数据
jiion() :将列表中的每一个元素通过指定的符号拼接成一个字符串
decod() :byte类型的decode方法可以将字节数据转为字符串
replace() :将指定字符串替换为其他字符串
strip() :去除字符串两端的空格
lstrip() :去除字符串左端的空格
center() : 中心对称
index() : 查找字符的序号,如果要查找不存在,则会抛异常。
find() :查找字符,如果不存在,则不报错
二、包和模块
1、含义
xxx.py是模块,保存要执行或者使用的代码 ,包在python中用来包裹模块的文件夹,在python中文件夹可以当作包使用,但是包并不是文件夹.
2、UUID
Uuid模块是一种特殊的技术,在文件上传、文件备份会经常使用;获取的是永不重负的字符串
uuid4().hex 会生成一个随机的 UUID,而.hex
可以将其转换为十六进制字符串表示形式。
3、math
方法 | 说明 |
---|---|
ceil | (天花板的意思) 向上取整 |
floor | 向下取整 注意:四舍五入(全局函数中的round) |
e | 属性 自然常数 |
fabs | 求绝对值 等价于全局函数abs() |
fmod | 求模 |
isnan | 判断是不是一个数字(是数字返回flase nan---not a number) |
isfinite | 判断是不是有限 |
pi | 圆周率 |
pow() | 幂次方 |
sqrt | 根号 开平方根 |
4、random 产生随机数
方法 | 说明 |
---|---|
randint() | 产生随机整数[m,n] |
random() | 产生一个0~1内的随机数[0,1) random.random() 可以乘10取整得到0·9的整数 |
uniform() | 产生基于正态分布的随机数(一般用不到) |
randrange() | 产生一个范围的随机数(start,end,step) |
choice() | 在序列(有序的,set是无序的)中随机筛选一个元素 ls=[1,2,3,4,5,6,7,8,9] random.choice(ls) s = {1,2,3,4,5,6,7} random.choice(s)-----报错 |
5、os 操作的是系统的文件系统
方法 | 说明 |
---|---|
chdir(path) | 修改当前工作目录 os.chdir("c:\")------os.chdir("..") ,一般不会更改 |
curdir | 获取当前目录 属性 注意返回的是相对路径 (绝对路径os.path.abspath(os.curdir)) |
chmod() | 修改权限 主要用在linux,help(os.chmod)(不做演示) |
close | 关闭文件路径(不做演示) |
cpu_count() | 返回cpu的核对应线程数(2核4线程) |
getcwd() | 获取当前路径,返回的是绝对路径 ,相当于linux的pwd |
getpid() | 获取当前进程的进程编号(任务管理器---详细信息) |
getppid() | 获取当前进程的父进程的进程编号 |
kill() | 通过进程编号杀死进程(明白就行) |
linesep | 对应系统下的换行符 \r\n \n |
listdir() | 返回对应目录下的所有文件及文件夹(隐藏文件也可以调取出来),返回的是列表 |
makedirs() | 创建目录,支持创建多层目录(文件夹)os.makedirs("a/b/c/d") |
mkdir | 创建目录,只支持一层创建,不能创建多层 |
open | 创建文件,等价于全局函数open (IO流详细讲) |
pathsep | 获取环境变量的分隔符 windows ; linux : |
sep | 路径的分割符 windows \ linux / |
remove(文件名或者路径) | 删除文件 os.remove(b.text) |
removedirs() | 移除目录,支持多级删除,递归删除 |
system | 执行终端命令 |
6、sys (python系统)
方法 | 说明 |
---|---|
api_version | 获取当前python的内部版本号 |
argv | 接收脚本参数的,注意第一个参数是脚本名称(javaz中mian函数中有个args) import sys print(sys.argv) ----- python xxx.py 返回的是["xxx.py"] python xxx.py 1 2 3 hahaha |
sys.exit() | 退出系统 |
7、time
方法 | 说明 |
---|---|
asctime() | 获取当前时间 |
ctime() | 获取当前时间 |
localtime() | 获取本地时间 返回的是对象,方便自己完成格式化 ltiem = time.localtime() ltime.tm_year print("%s-%s-%s &s:%s:%s"%(ltime.tm_year,ltime.tm_mon,ltime.tm_mday,ltime.tm_hour,ltime.tm_min,ltime.tm_sec)) |
sleep(1) | 表示休眠时间,单位是秒 |
time() | 获取当前系统的时间戳,单位是秒(计算机从1970年0时0分0秒到现在秒数) |
strftime() | 将时间对象格式化为字符串 f---format help(time.strftime) time.strftime("%Y-%m-%d") |
strptime() | 将一个特定格式的时间字符串转换成时间对象 help(time.strptime) s="2019-08-03 07:35:35" type(s) time.strptime(s,"%Y-%m-%d %H:%M:%S") |
三、文件IO
IO :一般就是内存与磁盘之间的输入输出
文件IO主要学习就是open,close ;第一个参数 要读写文件路径, 第二个参数 以何种方式进行读写。
文件路径分为:相对路径和绝对路径
相对路劲:从当前脚本出发逐级填写每一层文件路径
绝对路径:从根目录出发逐级填写每一层文件路径
当读/写二进制数据的时候使用 r/wb
write_file = open("1.txt", "wt")
write_file.write("123123123")
write_file.close()
encoding参数表示文件的编码类型,只有当以文本形式读写文件时encoding才起作用
a模式会在原文件的内容之后继续添加新内容
边读边写" rt+" 、 复制文件 、 循环读写
with关键字在其代码片段执行完毕后会自动释放文件/网络的占用
# 复制文件
read_file = open("头像1.png","rb")
b = read_file.read()
write_file = open("头像1的副本.png","wb")
write_file.write(b)
read_file.close()
write_file.close()
# 循环读写
def copy(src, dst):
with open(src, "rb") as rf:
with open(dst, "wb") as wf:
while True:
data = rf.read(1024 * 1024)
if not data:
break
wf.write(data)