Python基础-字符串

Python基础-字符串

1. 什么是字符串

  • 用引号引起来的内容
  • 可以用引号来创建字符串
    • 单引号
    • 双引号
    • 三单引号
    • 三双引号-

2.字符串的基本操作

2.1创建字符串

创建字符串
name = 'Hangzhou'
area = "拱墅"
history = """2000"""
famous_person ="""苏轼,岳飞,白居易"""
capticalof ='''吴越,南宋'''
print(type(name),type(area),type(history),type(famous_person),type(capticalof))
注意点:单引号双引号使用时要注意匹配,且不能换行,三引号支持换行

2.2拼接:使用+号(只要是同一种数据类型皆可使用+号进行拼接)

x='hel'
y='lo'
print(x+y)
#输出为 hello

2.3重复

x='nice!'
print(x*3)
#输出为 nice!nice!nice!

2.4索引(偏移):[n]n个数从0开始到n-1结束

sr='world'
print(sr[0],sr[4])
#输出为w d

利用len()函数得到字符串长度,可以通过循环遍历字符串

sr='world'
for i in range(len(sr)):
    print(sr[i],end=' ')
#输出为 w o r l d

或者直接遍历字符串

sr='world'
for i in sr:
    print(i,end=' ')
#输出为 w o r l d

2.5切片:从字符串中取出某一部分,不改变原字符串

str[x:y:z]:以z为步长,x为起始点,z为终止点(取不到),从str中截取一段字符串

#切片 0123456789
sr = 'Life is short,you need Python'
print(len(sr))
print(sr[1:4])#取前不取后第四个取不到
print(sr[1:5:2])

'''输出为 
ife
ie'''

2.6大小写转换函数

函数名描述
lower()转小写
upper()转大写
swapcase()大小写互换
title()转为标题形式
capitalize()首字母大写,其余小写
sr = 'Life is short,you need Python'
print(sr.lower())
print(sr.upper())
print(sr.swapcase())
print(sr.title())
print(sr.capitalize())

'''输出为:
life is short,you need python
LIFE IS SHORT,YOU NEED PYTHON
lIFE IS SHORT,YOU NEED pYTHON
Life Is Short,You Need Python
Life is short,you need python'''

2.7字符串格式输出对齐

函数名描述
center([len].[填充符号])输出一个len长 填充填充符号的居中对齐字符串
ljust([len].[填充符号])输出一个len长 填充填充符号的居左对齐字符串
rjust([len].[填充符号])输出一个len长 填充填充符号的居左对齐字符串
zfill([len])输出一个len长 填充0的居右对齐字符串
sr = 'Life is short,you need Python'
print(sr.center(41,"*"))
print(sr.ljust(41,"*"))
print(sr.rjust(41,"*"))
print(sr.zfill(41,))

'''******Life is short,you need Python******
Life is short,you need Python************
************Life is short,you need Python
000000000000Life is short,you need Python'''

2.8删除指定字符

函数名描述
strip(char)删除字符串头尾char
lstrip(char)删除字符串头char
rstrip(char)删除字符串尾char

2.9计数

count(‘str’,m,n)函数:计算字符串sr中的第[m,n)内的str出现次数

demo:

sr = '\n\t******Life is short,you need Python******'
print(sr.count('s'))
#输出为2

2.10字符串搜索和定位

函数名描述
find(‘str’,m,n)返回sr中[m,n)中第一次出现字符str的索引,检索不到返回-1
index()检索不到报错(substring not found)
rindex()从右往左查找
replace(x,y,n)将n个x(左到右)替换为y,n默认为所有

demo:

sr = 'Life is short,you need Python'
print(sr.find('e'))
print(sr.index('e'))
print(sr.rindex('e'))
print(sr.replace('e','a'))
print(sr.replace('e','o',1))
print(sr.replace('e','o',3))
'''
3
3
20
Lifa is short,you naad Python
Life is shArt,you need Python
Life is shArt,yAu need Python'''

2.11字符串条件判断:返回True/Fasle

函数名描述
isalnum()判断字符串由字母或者数字组成
isalpha()判断字符串是否仅有字母组成
isalgit()判断字符串是否仅有数字组成

2.12字符串的分割与变幻

函数名描述
join()将指定字符插入到元素之间,返回为字符串
split()以指定字符分割字符串并去除该字符 返回值为列表
partition()以指定字符分割并保留该字符 返回值为元组

demo:

sr = 'Life is short,you need Python'
print('o'.join(sr))
li=["i","like",'apple']
print(''.join(li)) # 将列表转换为字符串
print(sr.split('o'))
print(sr.partition('s'))
'''
Loiofoeo oioso osohoooroto,oyooouo onoeoeodo oPoyotohooon
ilikeapple
['Life is sh', 'rt,y', 'u need Pyth', 'n']
('Life i', 's', ' short,you need Python')
'''

2.13ASCII码和字符转化

函数名描述
chr()dighit–>alpha
ord()alpha–>dighit 只能传单个字符

demo:打印a-z

for i in range(ord('a'),ord('z')+1):
    print(chr(i),end=' ')
#输出:a b c d e f g h i j k l m n o p q r s t u v w x y z 

其他

1.倒序遍历

三种反向反向遍历的写法

sr='world'
#1.
for i in range(len(sr)-1,-1,-1):
    print(a[i], end=" ")
#2.
for i in a[::-1]:
    print(i, end=" ")
#3.
for i in reversed(sr):
    print(i, end=" ")
#输出为 d l r o w

2.string库

import string
print(string.printable)
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.capwords)
print(string.digits)
print(string.hexdigits)
print(string.octdigits)
print(string.punctuation)
print(string.whitespace)
'''
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
<function capwords at 0x000000000222AB70>
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'''

3.进制转换与遍历

print('%o'%17)#将17转换为8进制
print('%x'%23)#将23转换为16进制
'''21
17'''
遍历
for i in range(8):
    print(oct(i),end=' ')
print()
for i in range(16):
    print(hex(i),end=' ')
'''0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7 
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf '''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值