Python-语法(好记性不如烂笔头)

基本数据类型

一 int

num="ob11" 

v=int(num,base=2)

print (v)

r=age.bit_length() 该数字二进制用几个字符表示

二 str

v=text.capitalize() 首单词首字符大写其余小些

v=text.casefold()所有变小写,外文也能变

v=text.lower() 变小写,只能英文

v=t.upper() 变大写 .islower(),isupper()是否大小写

.title() 转为变体形式,所有单词首字母都变大写

v=t.center(参数,空白位置填充) 设置宽度并且居中,只能填充单个字符,不写默认空格

.ljust() .rjust()  将字符串放在最左最由,用填充附填充

t.zfill() 默认用0填充到指定宽度

.count("a",2,4) 在串中寻找子序列出现的次数 可设置始终位置

.endswith("x") 结尾,开头,也可设置始终位置

.isalnum() 是否只有字母和数字 返回布尔

.isalpha() 是否都是字母(汉字也认为字母)

.isdecimal()是否全是数字只支持(十进制,最常用),.isdigit() 支持特殊数字,.isnumil()也支持中文一二三

 .isdentifier()是否是有效的python标识符,看变量名是否合法

.isprintable() 在打印情况下是否都能显示出来,是否有\t \n

.isspace() 是否全是空格

.istitle()

.find("a",2,6) 从头向后找,找到获取下标,找不到 返回-1

.index() 找不到报错

t="i am {name},age {age}"

v= t.format(name="xxx",age="25")  字符串格式化,

v2=t.format_map({"name":"aaa","age":25}) 传字典

text="asdfggse"  原字符串

m=str.maketrans("aeiou","12345")  创建 替换关系,a--1  e --2

v=text.translate(m) print(v)   替换

.expandtabs() 用yab键断开字符串中的\t,凑成想要的字符长度,不传参代表8个短

“分隔符”.join(字符串)  用分隔符对字符串中的每个元素进行拼接

"分隔符”.join(列表) 会把列表变成字符串分割出来

正则分割字符串

v=t.partition("e") 从左边第一个e分割,能拿到分隔符  .rpartition右边

v=t.split("e",数组 )  .rsplit()  根据e分割,拿不到分隔符,生成的是列表

.splitlines()按换行符分割,true能拿到分隔符,false不拿到分隔符

.replace("aa","bb",2) 用bb把aa替换掉,不加参就是全替换

.swapcase() 大小写互换

列表list

列表可以被修改,内部存储和str不一样,用的是链表,list是有序的

索引 li[3]  切片,for  while  in  not in 

删除 del li[1] (索引方式)   del li[0:5] 切片方式

修改 li[0] =5   li[1:3] =[100,200]

s= "asdf"  li=list(s)   str转为列表,["a","s"]

r= str(li) 把列表整体(带中括号)作为字符串输出 列表里不全是字符串时 转为列表 要用for循环

list()  字符串内部使用的是for循环,不能把数字转为列表

li=["a","b"]

v="".join(li)  里面都是str时 可以join方法,输出列表内元素为字符串ab

v=li.append(20)  追加   可以不用v接收

li.clear() 清空

li.remove(元素) 删除指定的值左边优先

li.pop(yuansu) 删除指定的元素,可加索引不加删最后一个  可用v接收删除的值

li=["a","b","c"]

for inx,a in enumerate(li,10)  返回枚举对象,  第一个参数为可迭代对象  列表元组字符串,第二个参数为下标打印出来开始位置

.copu() 浅拷贝 

.count(22) 计算元素个数

.extend(["a","b"]) 把每个元素分别追加到后面  对照append作为一个整体追加

.index(22)  找索引,只招一个,也可指定索引

.insert(0,99)  指定位置0插入99

.reverse()  顺序反转

.sort() 从小到大排序    .sort(reverse=True)  大到小

元组tuple

元组是有序的,类似于列表二次加工  一级元素不能被修改删除,但嵌套的二级元素有的能修改删除

tu=(1,2,3,4,5,)

tu.extend(("99","hao"))

"".join(tu)   tu.count(55)   tu.index(22)

列表字符串元组能互相转换  "".join()方法.内部都是for循环

字典 dict

字典无序,内部存储用的哈希值

v能用任何值,k不能是列表和字典,用布尔值作为k可能会和0,1 重复

索引取值 v=info["k1"] 也支持嵌套索引,不支持切片,因为无序

del info["k"] 删除,支持嵌套删除

不能while循环 无序 支持for循环

for i in info:  等价于 for i in info.keys()  走的是k值

for i in info.values()  for k,v in info.items()

 

dic["k"]   dic.keys()   dic.values()

clear   copy

v= dict.fromkeys("默认为k","v不写默认none")  根据序列创建字典,指定统一的v

v= dic.get("kkk")类似于索引,索引不存在会报错,这个返回none

v=dic.get("fff",123)  不存在返回123

div.items()  dic.keys()  dic.values()

v=div.pop("k") 根据k删除元素  返回v值

v= dic.pop("kk",90)如找不到 返回90

k,v= dic.popitem() 随机删除一对,返回,v

v=dic.setdefault("k","123")  设置键值对的值,不存在返回新设的值,存在则获取

dic.update({"k1":123,"k2":456}) 更新

dic.update(k1="123",k2="456")

 

可变类型()修改变量的值 id号不变):列表 字典 可变集合

不可变(修改变量的值id变了):字符串 数字 元组

 

访问顺序 :

顺序访问:有序的 用下标, str list tuple

映射访问:字典

直接访问 数字

存放元素个数::  容器类型(可存多个值) list  tuple  dict

原子类型 (只能一个值) str int

集合set  无序排列的可哈希值,变为集合  去重,利于逻辑运算

  不同元素组成,无序,集合中元素必须为不可变类型

定义: 1 s={1,2,3,4}

2 s=set("hello")    {"h","e"}

3 s=set(["hello",123])  {"hello",123}

内置方法:

s.add()添加  s.clear()清空  s.pop()随机删除一个  s.remove()指定删除一个,没有就报错,s.discard() 不存在不报错

s.copy()拷贝

集合关系测试

s1.intersection(s2) 求交集   等价于 s1&s2

.union 并集  |

.symmetric_difference() 交叉补集  俩集合加起来 减去交集 ^

.difference_update()   差值更新 s1=s1-s2

intersection_update()  交集赋值

isdisjoint()有无交集

.issuperset() 是不是父集

s1.update(s2)求并集,并赋值给s1

s=forzenset("hello")

print(s)  helo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值