程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

初学者python笔记(字符串)

发布于2020-02-24 21:53     阅读(1010)     评论(0)     点赞(16)     收藏(1)


学习python有几个月了,但是一直没有总结过,后来看别人代码的时候发现有很多知识漏洞。于是想到了记笔记这个方法,写这样的一份学习笔记是一个梳理的过程,可以让我们更好得记住那些盲点,让自己的python基础更扎实。

  1. 布尔值方面
    名字很高大上,其实就是True、False两个值
    例如:
a = "方平文"
b = "苹"
c = "方"
print(b in a)	
print(c in a)	
  • 1
  • 2
  • 3
  • 4
  • 5

结果是:
False
True

  1. 原来int()方法后面可以带参数
num = "0011"
v = int(num, base=16) 
#将num基于16进制转换成数字类型(int是代表数字类型,即为整型)
print(v)
  • 1
  • 2
  • 3
  • 4

结果是:17

  1. bit_lenth()方法,显示当前数字用二进制表示是会占多少位
    我们知道二级制是这样对应的:
    1 1
    2 10
    5 101
age = 5
r = age.bit_length()
print(r)
  • 1
  • 2
  • 3

这结果一定是:3

  1. 字符串变换大小写与字符串占格
test = "alex"
v = test.capitalize()  #首字母大写
v1 = v.casefold()   #首字母变小写
v2 = test.center(20,"*")  #将test占20个空格且把test放在中间,周围用"*"补齐
v3 = test.ljust(20,"*")   #将test中的内容放左边
v4 = test.rjust(20,"*")  #将test中的内容放右边
v5 = test.upper()  #全部变为大写
print(v)
print(v1)
print(v2)
print(v3)
print(v4)
print(v5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

结果是:
Alex
alex
alex
alex****************
****************alex
ALEX

  1. 字符串的去除空格与某个字符
test = '    alex        '
v = test.lstrip()  #去除左边的空格和\t,\n
v1 = test.rstrip()  #去除右边的空格和\t,\n
v2  = test.strip()  #两边都去除
v3 = 'linghaifenghai.cn'.strip('hai.cn')  #去除字符串中的'hai.cn'(从右往左数)
print(v)
print(v1)
print(v2)
print(v3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果是:
在这里插入图片描述

  1. 数某字符或子串在字符串中出现的次数
test = "alexalexr"
v = test.count('e',2,8)  #从第2个字符到第8个字符,数e在test中出现的次数
v1 = test.endswith('r')  #判断是否以字符r结尾
v2 = test.startswith('r')  #判断是否以字符r开始
v3 = test.find('ex',5,8)  #在5<= 和 <8之间是否有ex字符
print(v)
print(v1)
print(v2)
print(v3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果是:
2
True
False
6
Ps:此处v3的运行结果是6,说明find()方法返回了子串’ex’在test中的索引位置,而且是从右往左数

  1. 字符串的格式化(另外还有一个format_map,用法类似)
# format可以修改{}中的值
test = "I am {name}, age {a}"
v = test.format(name='alex',a=19)
v1 = "if i {} rain, {} would call {} the course.".format('were to','we','off')
print(v)
print(v1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果是:
I am alex, age 19
if i were to rain, we would call off the course.

  1. 判断是否存在某字符
test = "utasf890_"
v = test.isalnum()
v1 = test.isalpha()  #判断是否全是字母
v2 = test.isdigit()  #判断是否是数字字符串
v3 = test.isprintable()  #是否存在不可显示的字符,如\n,\t等转义字符
print(v)
print(v1)
print(v2)
print(v3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果是:
False
False
False
True

  1. 字符串标题化
test = "if it were to rain, we would call off the course."
v = test.title()  #将字符串转化成标题样式,即首字母大写
v1 = test.istitle()  #判断是否是标题
v2 = v.istitle()
print(v)
print(v2)
print(v2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

结果是:
If It Were To Rain, We Would Call Off The Course.
True
True

  1. join()方法
#用某个字符将字符串拼接起来
test = "你是风儿我是沙"
v = '-'.join(test)  #用'-'号将test分割
print(v)
  • 1
  • 2
  • 3
  • 4

结果是:
你-是-风-儿-我-是-沙

  1. 字符串分割切片
test = "ajfkdsahfskhsadfss"
v = test.partition('s')  #用's'将test分割成多个字符串
v1 = test.split('s')  #用's'尽可能多得将test分割
v2 = test.split('s',3)  #匹配三次's',分割三次,切成4节子串
v3 = test[0:2]  #切片,获取0<=   <2的范围内的字符
print(v)
print(v1)
print(v2)
print(v3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果是:
(‘ajfkd’, ‘s’, ‘ahfskhsadfss’)
[‘ajfkd’, ‘ahf’, ‘kh’, ‘adf’, ‘’, ‘’]
[‘ajfkd’, ‘ahf’, ‘kh’, ‘adfss’]
aj

  1. **len()replace()**方法
test = "alexalexalex"
a = len(test)  #获取字符串长度(2.7版本中一个中文字符是3个字节)
v = test.replace("ex",'bbb')  #将test中的'ex'都替换成'bbb'
print(a)
print(v)
  • 1
  • 2
  • 3
  • 4
  • 5

结果是:
12
albbbalbbbalbbb

  1. 字符串可迭代可循环
test = "愿这个世界与你温柔以待"
for item in test:
	print(item)
	break
  • 1
  • 2
  • 3
  • 4

结果只会出现一次"愿",因为第一次循环结束就break跳出了

  1. 输出索引又输出对应字符
test = input(">>>")
for item in range(0,len(test)):
	print(item,test[item])
  • 1
  • 2
  • 3

输入:love
结果是:
0 l
1 o
2 v
3 e
该方法类似于C语言中char类型数组下标的用法

发布了3 篇原创文章 · 获赞 3 · 访问量 117


所属网站分类: 技术文章 > 博客

作者:爸爸去挣钱我去幼儿园

链接:https://www.pythonheidong.com/blog/article/232253/fc3eba9a55d8da042cac/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

16 0
收藏该文
已收藏

评论内容:(最多支持255个字符)