Python中,字符串操作的常用函数介绍

使用int()实现类型转换:

  1. 浮点数直接舍去小数部分。如:int(9.9)结果是:9
  2. 布尔值True 转为1,False 转为0。如:int(True)结果是1
  3. 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。
    自动转型:
    整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是10.0

**float()**类似于int(),我们也可以使用float()将其他类型转化成浮点数。
**round(value)**可以返回四舍五入的值。注:但不会改变原有值,而是产生新的值。

时间的表示计算机中时间的表示是从“1970 年1 月1 日00:00:00”开始,以毫秒(1/1000 秒)
进行计算。我们也把1970 年这个时刻成为“unix 时间点”。
python 中可以通过time.time() 获得当前时刻,返回的值是以秒为单位,带微秒
(1/1000 毫秒)精度的浮点值。例如:1530167364.8566。

布尔值,把True 和False 定义成了关键字,但他们的本质还是1 和0,甚至可以和数
字相加。

同一运算符同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
is 与== 区别:
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认调用对象的__eq__()方法。
总结
1、is 比较两个对象的id 值是否相等,是否指向同一个内存地址;
2、== 比较的是两个对象的内容是否相等,值是否相等;
3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
4、is 运算符比== 效率高,在变量和None 进行比较时,应该使用is。

字符串

***len()***用于计算字符串含有多少字符。
转义字符     				 描述
	\                (在行尾时) 续行符
   \\ 					反斜杠符号
	\' 					单引号
	\" 					双引号
	\b 				退格(Backspace)
    \n 				换行
	\t 					横向制表符
	\r					 回车
>>> a = 'I\nlove\nU'
>>> a
'I\nlove\nU'
>>> print(a)
I
love
U
>>> print('aaabb\
cccddd')
aaabbcccddd

字符串复制
使用*可以实现字符串复制。

>>> a = 'Sxt'*3
>>> a
'SxtSxtSxt'

不换行打印
我们前面调用print 时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行
符。我们可以自己通过参数end = “任意字符串”。实现末尾添加任何内容:

print("sxt",end=' ')
print("sxt",end='##')
print("sxt")

从控制台读取字符串
我们可以使用input()从控制台读取键盘输入的内容。
**str()**可以帮助我们将其他数据类型转换为字符串。

使用[]提取字符
正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1为止。
反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。

>>> a = 'abcdefghijklmnopqrstuvwxyz'
>>> a
'abcdefghijklmnopqrstuvwxyz'
>>> a[0]
'a'
>>> a[3]
'd'
>>> a[26-1]
'z'
>>> a[-1]
'z'
>>> a[-26]
'a'
>>> a[-30]
Traceback (most recent call last):
File "<pyshell#91>", line 1, in <module>
a[-30]
IndexError: string index out of range

**replace()**实现字符串替换

>>> a = 'abcdefghijklmnopqrstuvwxyz'
>>> a
'abcdefghijklmnopqrstuvwxyz'
>>> a = a.replace('c','高')
'ab 高defghijklmnopqrstuvwxyz'

整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。

字符串切片slice 操作
切片slice 操作可以让我们快速的提取子字符串。标准格式为:[起始偏移量start:终止偏移量end:步长step]
在这里插入图片描述
split()分割和join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔
符,则默认使用空白字符(换行符/空格/制表符):

>>> a = "to be or not to be"
>>> a.split()
['to', 'be', 'or', 'not', 'to', 'be']
>>> a.split('be')
['to ', ' or not to ', '']

join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:

>>> a = ['sxt','sxt100','sxt200']
>>> '*'.join(a)
'sxt*sxt100*sxt200'

拼接字符串要点:
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐
使用join 函数,因为join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,
仅新建一次对象。

**字符串驻留:**仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。
Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母
和数字)会启用字符串驻留机制。

>>> a = "abd_33"
>>> b = "abd_33"
>>> a is b
True
>>> c = "dd#"
>>> d = "dd#"
>>> c is d
False
>>> str1 = "aa"
>>> str2 = "bb"
>>> str1+str2 is "aabb"
False
>>> str1+str2 == "aabb"
True

成员操作符
in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。

format()基本用法
基本语法是通过{} 和: 来代替以前的% 。
format 函数可以接受不限个参数,位置可以不按顺序。

>>> a = "名字是:{0},年龄是:{1}"
>>> a.format("高淇",18)
'名字是:高淇,年龄是:18'
>>> a.format("高希希",6)
'名字是:高希希,年龄是:6'
>>> b = "名字是:{0},年龄是{1}。{0}是个好小伙"
>>> b.format("高淇",18)
'名字是:高淇,年龄是18。高淇是个好小伙'
>>> c = "名字是{name},年龄是{age}"
>>> c.format(age=19,name='高淇')
'名字是高淇,年龄是19'

我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。

填充与对齐
填充常跟对齐一起使用^、<、>分别是居中、左对齐、右对齐,后面带宽度:号后面带填充的字符,只能是一个字符,
不指定的话默认是用空格填充

>>> "{:*>8}".format("245")
'*****245'
>>> "我是{0},我喜欢数字{1:*^8}".format("高淇","666")
'我是高淇,我喜欢数字**666***'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值