不可变类型:数字 字符串str 元组tuple
可变类型:表list 字典dict 集合set
1.random()求随机数
random(n1,n2)
随机输出一个[n1,n2)间的数字,默认输出的是整数
random(0,1),默认输出浮点小数
2.round()保留XX位有效数字
a = 1.2345678
print(round(a,3))
a = 1.23
3. 字符串切片
str1 = 'hello world!'
str1 = str1[0:2]#从第0位开始算起,到第2位前结束,实际切了[0,1]部分的内容
#he
str1 = str1[2:5]#从第0位开始切,到第5位前结束
#llo
str1 = str1[0:8:2]#从第0位开始算起,步长为2,即第0位、第3位被选择...到第8位前结束
#hlow
str1 = str1[-12:-1]#第-12位相当于第0位,第-1位相当于第11位
#hello world!
str1 = str1[::-1]#以步长1,倒着输出str1
#!dlrow olleh
str1 = str1[-10:-1:1]#步长为负数时从后往前开始算,从第-1位开始算,到第-10位前截止,步长为1,正序输出
#llo world
为什么步长不能用负数呢?
4.换行符
字符串中带\t(缩进符4个空格) \n(换行符)
str1 = 'hello\n world!'
str2 = 'hello\t world!'
print(str1,str2)
#hello
# world!
#hello world!
在字符串前打 r,表示字符串里面的\都不进行转义;也可以在字符串里的\前加\,不进行转义
str1 = r'hello\n world!'
str2 = r'hello\t world!'
print(str1)
print(str2)
#hello\n world!
#hello\t world!
在字符串后打\表示换行,但不影响这一串内容连为一个字符串
str1 = 'hello'\
' world!'
str2 = 'aaa'\
'bbb'\
'ccc'
print(str1)
print(str2)
#hello world!
#aaabbbccc
5.字符串格式化
str = 'xxx买了一盒零食,用了xx元',如果想替换xx的部分,输出自己想要的内容
1.用具体的值替换位置,值类型与输出值的方式,一一对应。特别注意:具体内容的()前要有%
print('%s买了一盒零食,用了%d元'%('迪迦',5))
#迪迦买了一盒零食,用了5元
print('%d买了一盒零食,用了%s元'%(5,'迪迦'))
#5买了一盒零食,用了迪迦元
2.format方法
用.format()代替了%s %d的输出方式,
{}内不填数字时,此时输出的内容顺序只和设计的位置有关
如果{}内填了数字,表示这个位置输出后面设计内容里的第几个值
print('{}买了一盒零食,用了{}元'.format(5,'迪迦'))
#5买了一盒零食,用了迪迦元
print('{}买了一盒零食,用了{}元'.format('迪迦',5))
#迪迦买了一盒零食,用了5元
print('{1}买了一盒零食,用了{0}元'.format('迪迦',5))
#5买了一盒零食,用了迪迦元
3.f-string format方法进阶版
要注意的是,格式化前需加上f标志,表示采用f-string方式输出
name = '迪迦'
price = 5
print(f'{name}买了一盒零食,用了{price}元')
#迪迦买了一盒零食,用了5元
a = f'{name}买了一盒零食,用了{price}元'
print(a)
#迪迦买了一盒零食,用了5元
6.字符串拼接 +
将2个字符串按照输入的前后顺序,拼成一个指向新内存地址的新字符串
a = 'hi'
b = 'hello'
c = a
print(id(a),id(b))
#38890032 38890224
a = a+b
b = b+c
print(a,b,id(a))
#hihello hellohi 38931888
7.字符串复制 *
a = 'xx'
a = a*2,a将原本的字符串内容拼接了2次赋值给自己,a指向保存了这个新字符串的地址
a = 'hi'
print(id(a))
#39217456
a = a*2
print(a,id(a))
#hihi 39259184
8. .join()字符串连接
将调用对象在参数的每一位之间都插入,生成的结果用新开辟的内存空间保存,不修改原内存地址保存的内容
a = ' '
print(id(a))
#39086448
b = 'sssss'
a = a.join(b)
print(a,b,id(a))
#s s s s s sssss 34606576
9.split(分割内容,次数)以指定方式分割字符串
调用对象.split(以指定的内容去分割,次数),将返回不多于 次数+1 个子串
以下表示以'-'去分割字符串a,得到一个列表,内含3个子串
a = 'abc-def-hig'
print(a.split('-',2))
#['abc', 'def', 'hig']
10. .find(目标要找的内容,从第x位开始)
调用对象.find('预期要找的内容',从原字符串第x位下标开始找起),返回值是
找到的第一个字符的下标
str1 = "this is string example....wow!!!";
str2 = "exam";
print str1.find(str2);
print str1.find(str2, 10);
print str1.find(str2, 40);
11. 调用对象.replace('目标内容','要替换的新内容')
str1 = 'hello'
print(str1.replace('he','HE'))
#HEllo
本文详细介绍了Python中的字符串操作技巧,包括随机数生成、保留有效数字、字符串切片、换行符使用、格式化方法、字符串拼接与复制、连接与分割、查找与替换等实用技能。

被折叠的 条评论
为什么被折叠?



