Python入门(四)字符串

'''
汉字在GBK/GB2312编码中占2个字节,在UTF8/unicode编码中一般占3个字节(或4个字节)
在Python中汉字默认UTF-8编码,一般占据3个字节
'''
#len(string) 获取字符串长度。所有字符都按一个字符计算
str1 = "人生苦短,我用python。"
print(len(str1)) # 14

#获取字符串实际的所占字节数,使用encode()先进行编码再获取
print(len(str1.encode())) #30

#切片方式截取字符串  string[start : end : step]
'''
start默认为0,end默认是最后一个字符,step默认为1
字符串中字符索引默认从0开始,并且每个字符占一个位置
'''
try:
    substr1 = str1[:5]
    print(substr1)
except IndexError:
    print("指定索引不存在")

# 分割  # 合并
'''
分割:把字符串分割为列表
合并:把列表合并为字符串

分割 str.split(seq, maxsplit)
seq 默认为Node,表示所有的空字符(空格,\n,\t等)
maxsplit 分割次数,默认为-1
'''
str2 = "明 日 学 院 官 网  >>  >   www.mingrisoft.com"
print(str2.split())  #['明', '日', '学', '院', '官', '网', '>>>', 'www.mingrisoft.com']
print(str2.split(">>>")) #['明 日 学 院 官 网  ', '   www.mingrisoft.com']
print(str2.split(" ", 4)) #['明', '日', '学', '院', '官 网  >>>   www.mingrisoft.com']

#指定分割符号后,两个分割符中间如果没有内容则产生空元素
print(str2.split(">")) #['明 日 学 院 官 网  ', '', '  ', '   www.mingrisoft.com']

'''
合并
strnew = string.join(iterable)
'''
list_str = ['小明', 'xiaohua', 'xiaozhang', 'xiaoxie']
str_ = '@'.join(list_str)
print(str_)


#检索字符串
'''
1.str.count(substr[, start[, end]]) 返回出现次数,否则为0
2.str.find(substr[, start[, end]]) 找到子串第一次出现的位置,否则为-1
  用in关键字也可以判断字符串中是否存在子串,返回True或False
3.str.index(substr[, start[, end]]) 与find()相同,当子串不存在时,抛出异常
4.startswith()  endswith()  返回True或False
'''

#大小写转换
'''
str.lower()  str.upper()
'''

#去掉左或右或左右特殊字符(可指定)
'''
str.strip([char])
str.lstrip([char])
str.rstrip([char])
'''

#格式化字符串
'''
先制定模板,预留空位(占位符),再填充相应内容

1.新字符串 = 模板字符串%内容 
2.新字符串 = 模板字符串.format(内容)
'''
template = ('编号:%05d\t公司名称:%s')
context = (9, "百度百科")
print(template%context)

#字符串编码
'''
最早的字符串编码是美国的ASCII码。

我国定义的字符串编码是GBK,GB2312,一个字节表示英文字符,两个字节表示中文字符

国际通用的字符编码是UTF-8,一个字节表示英文,三个字节表示中文字符

在python中,有两种字符串类型,分别是str和bytes。
str在内存中以unicode表示,一个字符对应若干个字节,但是如果在网络上传输,或者保存到磁盘
需要把str转成字节类型,即bytes类型

'''
# encode() 编码  decode() 解码
verse = '野渡无人舟自横'
byte1 = verse.encode('GBK')
byte2 = verse.encode('UTF-8') #默认为utf-8
print('utf-8:', byte2)
print('GBK:', byte1)








'''
1.序列结构:列表,元组,集合,字典,字符串
  其中 集合 字典 不支持相加(+)相乘(*)操作

2.两种相同的序列相加,即将两个序列进行连接,生成一个新的序列
  例如:不能将字符串直接和数值拼接+
'''

#字符串拼接的几种方式
'''
1.使用+连接字符串,使用str()函数将数字转换为字符串
'''
print("我最喜欢的数字" + ":" + str(9) + "。")

'''
2.使用逗号连接字符串
'''
num = 9
print("我最喜欢的数字:", num, "。") #逗号分隔,中间默认用空格隔开

'''
3.使用%连接字符串
'''
print("我最喜欢的数字:%d。"%num)
print("我最喜欢的数字:%s。"%num)

'''
4.使用str.format()连接字符串,注意{}的数量
'''
print("我最喜欢的数字{}和{}。".format(num, 8))

'''
5.python3.6.2中提出来新的字符串格式化机制“字符串插值”
'''
print(f"我最喜欢的数字{num}。")

'''
6.通过str.join()方法拼接
'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值