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 '''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值