热门IT资讯网

初学python的一些基础知识

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,字符串类 strupper() 所有字母大写bit_length() 当前数字的2进制至少用几位来表示capitalize() 首字母大写lower() 所有字母小写 只能英文 casefold()特

字符串类 str
upper() 所有字母大写
bit_length() 当前数字的2进制至少用几位来表示
capitalize() 首字母大写
lower() 所有字母小写 只能英文 casefold()特殊字符也可以
center(20,'#') 设置宽度,空白位置填充,把字符串放中间
count('n',5,6) 去字符串中寻找子序列出现的个数
startswith(),endswith() 什么开头,以什么结尾
find('n',8,9)在字符串中查找某个特定的字符,然后报出第几位,从0位开始
expandtabs(8) 把字符串中的'\t'和'\t'之前的字符一共补成8位
format() 格式化占位符
format_map({}) 格式化占位符
isalnum() 判断字符串中是否有数字和字母
isalpha() 判断是否有字母
isdecimal()判断是否有数字
swapcase() 大小写转换
isspace()是否全是空格
title() 转换城标题样式 istitle()判断是否是标题
join() 将字符串中的每个元素按照指定分隔符拼接
ljust(10,'*')和rjust(10,'*')在字符串右边和左边添加
strip() lstrip()rstrip()去除空白,换行,或者去掉某个字符,优先最多匹配
replace() 将字符串内的字符替换掉
列表 list
append() 不需要变量接收,直接追加到元列表末尾
count()计算列表内某个元素出现的次数
extend() 和append不一样,它是把可迭代对象迭代下,在追加到列表
index() 根据列表里的元素确定索引
insert(3,11) 在列表指定位置插入
pop删除某个值,并且获取删除的值,可以增加索引
remove() 直接把列表内某个元素删除,不返回删除的元素,从左边优先
del() 也是删除,也可以通过索引莱删除 clear()是清空列表
reverse()当前列表翻转
sort()从小到排序sort(reverse=True),从打到小排
字符串的创建后里面的值不能修改,但是列表的可以
tuple()元祖可以迭代,就是值不能更改
字典dict
字典for循环默认是key,有.keys() .values()
for k,v in info.items(): 把字典里的key和values取出来
key值不能重复
dict.fromkeys([],123)根据序列来创建字典,并且生成统一的值
get('sdf',11)根据key获取值,key不存在可以指定默认值
pop('fsa',90)指定key删除并且返回 popitem随机删除
setdefaulult('sdaf','asdf'),当key值不存在就添加,存在就把值获取
update({'asd':'asda'})或者update(k1=123,k2=12,k4='sadfs') 更新字典有的覆盖,没有添加
enumerate(apple,1) 打印字典里第一层所有的key,并且从数字1开始排序
set()是集合,里面定义不可变的元素,打印出来的是不重复的
global()可以把局部变量改为全局变量
lambda 形参名:逻辑关系
高阶函数:1传入的参数是函数 2返回值中包含函数
map本身就是一个for循环,处理的是可迭代对象,逻辑运算,map()处理序列中的每个元素,得到的结果是一个'列表',该'列表'元素个数及位置与原来一样
filter()函数 本身就是一个for循环,遍历的是可迭代对象,但是函数部分处理的结果是布尔值,如果为ture则保留,逻辑判断,filter遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下来
reduce要从functools模块中导入,能设定初始值,就是说我可以设定一个函数从几开始执行数据,reduce:处理一个序列,然后把序列进行合并操作
abs()取绝对值
all() 将列表中所有元素判断布尔值,0 None ''空字符串都是false
any()
只要有一个是真就是ture
bin()十进制转二进制 hex()十进制转16进制 oct()10进制到8进制
bool()判断布尔值
bytes()把字符串转换为字节,encoding='utf-8'
decode()解码decode('utf-8')
char()打印阿斯玛表
dir()打印某一个对象下面有哪些方法
divmod() 取商得余
eval()把字符串的数据结构提取出来,把字符串中的数学运算做一遍
hash()可hash的数据类型是不可变的,不可hash是可变的,是不能反推的,唯一的
help()查看方法怎么用
isinstance()判断对象是不是什么类型
locals()打印局部变量
max()最大值min()最小值 ,不同类型不能比较,
zip()传两个参数,是可迭代类型,然后一一对应
print(list(max(zip(p.values(),p.keys())))) print(max(people,key=lambda a:a['age']))
pow( x,y,z)x的y次方对Z取余
reversed 反转
slice(3,5) 定义切片
sorted()排序 print(sorted(name_dic,key=lambda key:name_dic[key]))根据values的大小把key显示出来
字典for循环的是key值
文件操作,r读 w创建,覆盖 a追加,创建
b模式是用未编码的字符来处理,所以rb出来的内容需要用decode('utf-8')来解码,wb,我们写进去的是字符串类型,需要用byetes('ad',encoding='utf-8')或者encode('utf-8')来编码为二进制,linux系统默认就是二进制,不需要编码
读取文件编码不知道的情况下,是一定会乱码,用latin-1编码,会尽可能保留文件内容
fllush()刷新文件 tell()文件里光标所在的位置
seek(0)用来控制光标的移动,只要不是read其余都是字节,read是占3个字节
truncate(10)截取 用w+不可以的,截取0-10个字符的内容,其余都删掉,是写操作
循环文件的方式,for i in f.readlines 这样循环会把文件所有内容全读出来,for i in f 你要一行给你一行,不会占用太大内从
for循环,迭代器用__iter__()协议,__next__()来显示值,内置函数next就是遵循这个
yield是生成器就是把__iter__()协议进行封装,它比列表解析更省内存
装饰器:本质就是函数,为其他函数添加附加功能
原则:
1.不修改被装饰函数的源代码
2不修改被修饰函数的调用方式
闭包:函数嵌套 将变量封装
取列表得开头和结尾,a,*_,c=列表,两个值交换 a = 1 b =2 a,b=b,a a=2 b = 1

0