Python-基础学习笔记

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。接下来,记录一些本人自主学习Python的一些笔记:

打印

# 打印30个等号
print("="*30)
# 去掉换行打印
print("=====",end="")
# 至少占2个位置
print("====%2d"%(d))
# 打印格式化字符串,-左对齐
print("%d*%d=%-2d"%(i,j,z),end="")

切片:[起始位置:结束位置:步长]

name = "laowangdexifulvle"
# 从第2个位置截取到第五个位置
b = name[2:5]
print("b:%s"%b) b:owa

# 从第二个位置截取到最后
b = name[2:]

b = name[2:10:2] #
print("b:%s"%b)  b:oage

# 从后往前数,从倒数第一个到倒数第三个字符,步数为1
b = [-1:-3:-1]
print("b:%s"%b)   b:el

# 从后往前截取,步数为1
b = [::-1]
print("b:%s"%b)  b:elvlufixedgnawoal

字符串查找

name = "gebiwangshushu"
# find查找:默认是从左往右查找

# 搜索当前字符在搜索体里的位置
b = name.find("wan")   b:4

# 设置搜索区间,(起始位置为0,结束位置为0,在这个区间中搜索)
b = name.find("wan",0,10)

# rfind查找:默认是从右往左查找,用法与find相同
# index查找:与find作用相同。区别:find查找时如果找不到,返回-1,而index则报错
# rindex查找,与index作用相同。只不过是rindex是从右往左查找

查看字符出现的频率

name = "gebiwangshushu"

# 查看u在name字符串中出现几次
b = name.count("u")
# 设置区间查找(设置区间查找)
b = name.count("u",2,5)

字符串替换

name = "gebilaowang"

# 匹配到a全部替换成A
name = name.replace("a","A")
# 匹配到a替换成A,只替换成1个
name = name.replace("a","A",1)

# 匹配:a:1,b:2....
pattern = str.maketrans("abcdef","123456")
print("abcvg".translate(pattern))   # 将字符串中的字符替换成对应的数字:123vg

字符串切割

- split切割
name = "ni hao python"
# 全切
name.split(" ");
# 切1刀
name.split(" ",1)

-partition切割(从左往右匹配,切割成三部分)
name = "hello world and python and android"
name = name.partition("and")
print(name)   # name:("hello world ","and"," android")

-rpartition切割(从右往左匹配,切割成三部分)
name = name.partition("and")
print(name)  # name:("hello world ","and"," android")

字符串判断

# 判断字符串是否以h开头
startswith("h")
# 也可以传入一个元组,进行多值匹配,判断字符串是否以h或j开头
startswith(("h", "j"))

# 判断字符串是否依h结尾
endswith("h")
# 也可以传入一个元组,进行多值匹配,判断字符串是否以h或j结尾
endsswith(("h", "j"))


# 判断字符串是否是纯字母的
name.isalpha()
# 判断字符串是否是纯数字
name.isdigit()
# 判断字符串是否既有数字又有字母
name.isalnum()
# 判断字符串是否只有空格
name.isspace()
# 判断字符串是否是合法的变量
name.isidentifier()
# 判断是否是正整数
name.isnumeric()
# 判断是否为标题(即所有单词首字母大写)
name.isTitle()

字符串转大小写

# 转大写
name.upper()
# 转小写
name.lower()
# 大写首字母
name.capitalize()

连接字符串

# 连接
m = "-"
name = ["hello","world"];
m = m.join(name) 
print(m)   # m: hello-world

字符串对齐

name = "hello world"

# 字符串右对齐,并且将字符串用空格填充至20长度
name.rjust(20)
# 也可以传入指定的填充文本,字符串右对齐,并且将字符串用“=”填充至20长度
name.rjust(20, "=")
# 或者使用format方法,<为左对齐,>为右对齐,^为居中对齐
format(name, ">20")
# 也可以传入指定的填充文本,字符串右对齐,并且将字符串用“=”填充至20长度
format(name, "=>20")

# 字符串左对齐,并且将字符串用空格填充至20长度
name.ljust(20)
# 也可以传入指定的填充文本,字符串左对齐,并且将字符串用“=”填充至20长度
name.ljust(20, "=")
# 或者使用format方法,<为左对齐,>为右对齐,^为居中对齐
format(name, "<20")
# 也可以传入指定的填充文本,字符串左对齐,并且将字符串用“=”填充至20长度
format(name, "=<20")

# 字符串居中显示,并且将字符串用空格填充至20长度
name.center(20)
# 也可以传入指定的填充文本,居中显示,并且将字符串用“=”填充至20长度
name.center(20, "=")
# 或者使用format方法,<为左对齐,>为右对齐,^为居中对齐
format(name, "^20")
# 也可以传入指定的填充文本,字符串居中对齐,并且将字符串用“=”填充至20长度
format(name, "=^20")

str与bytes互转

# bytes object  
b = b"example"  

# str object  
s = "example"  

# str to bytes  
bytes(s, encoding = "utf8")  

# bytes to str  
str(b, encoding = "utf-8")  

# an alternative method  
# str to bytes  
str.encode(s)  

# bytes to str  
bytes.decode(b)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值