小涛python学习路程-(2)编程基本概念

字符串

不同的字符串所占的字节数不同,所以要计算字符串的长度,就需要了解各字符所占的字节数。

python中字符串使用的是unicode字符集,数字、英文、小数点、下划线、空格占1个字节;汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode编码中占用3个字节(或者4个字节)。

一个字节有8个位组成,所以一个字节有2^8=256个状态。

使用内置函数ord()可以把字符串转换成对应的unicode码,使用内置函数chr()可以把十进制数字转换成对应的字符。

 我们用单引号、双引号、三引号创建字符串,三引号可保留字符串原始格式

 字符串的替换

字符串是不可以改变的,所谓的替换只是让变量指向了创建的新字符串

str() 实现数字转型字符串

 使用[]提取字符

字符串的本质就是字符序列,我们可以通过在字符串后面添加 [], 在[] 里面指定偏移量,可以提取该位置的单个字符。

 字符串切片slice操作

切片 slice 操作可以让我们快速的提取子字符串。
标准格式为: [起始偏移量start:终止偏移量end:步长step],包头不包尾。

 字符串split()分割和join()合并

split() 可以基于指定分隔符将字符串分隔成多个子字符串 ( 存储到列表中) 。如果不指定分隔符,则默认使用空白字符 ( 换行符 / 空格 / 制表符)

 join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。

使用字符串拼接符 + ,会生成新的字符串对象,因此不推荐使用 + 来拼接字符串。推荐使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
import time
time1 =time.time()
#第一个time是模块,第二个time是time函数
a = ""
for i in range(1000000):
    a += "sxt"
time2 = time.time()
print("运算时间:"+ str(time2-time1))

time3 = time.time()
li = []
for i in range(1000000):
    li.append("sxt")
a = "".join(li)
time4 = time.time()
print("运算时间:"+ str(time4-time3))

运算结果:

D:\python\python.exe D:/pythoncode/MyThreadDemo/my01.py
运算时间:0.6615064144134521
运算时间:0.14711618423461914

 去除首尾信息

通过 strip() 去除字符串首尾指定信息。通过 lstrip() 去除字符串左边指定信息,rstrip() 去除字符串右边指定信息。
a = "*s*x*t*".strip("*")
b = "*s*x*t*".lstrip("*")
c = "*s*x*t*".rstrip("*")
print(a)
print(b)
print(c)

结果:

s*x*t
s*x*t*
*s*x*t
字符串的格式化
format() 基本用法:基本语法是通过 {} 和 : 来代替以前的 % 。 format() 函数可以接受不限个数的参数,位置可以不按顺序。
b = "名字是:{},年龄是:{}"
a = b.format("小涛",28)
print(a)

D:\python\python.exe D:/pythoncode/MyThreadDemo/my01.py
名字是:小涛,年龄是:28
可变字符串
1、Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。
2、需要原地修改字符串,可以使用io.StringIO 对象或 array 模块
s = "hello.sxt"
sio = io.StringIO(s) # sio就是可变字符串
print(sio)
print(sio.getvalue())
sio.seek(3)
sio.write("***")
print(sio.getvalue())

执行结果:

<_io.StringIO object at 0x0000019CE94F3E20>
hello.sxt
hel***sxt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值