python基础--字符串

目录

1.字符串概述

2.字符串编码格式

右耳零基础Python--字符编码,解码_m0_59882269的博客-CSDN博客

3.转义字符与原始字符串

4.字符串格式化

4.1使用%符号进行格式化

4.2使用format()方法进行字符串格式化

4.3格式化字符串常量

5.字符串常用方法

5.1find() ,rfind(),index(),rindex(),count()  查

5.2split(),rsplit(),partition(),rpartition()  分割

5.4lower(),upper(),capitalize(),title(),swapcase()

5.5replace()字符串的替换

5.6strip()去除两端分隔符

5.7startwith(),endwith()

5.8isdigit((),isspace(),isupper(),islower(),isalpha,isalnum

5.9center(),ljust(),rjust()

6.字符串支持的运算符

7字符串切片

8.字符串常量


本章学习目标

  1. 了解ASCII ,UTF_8,GBK 等常见字符编码格式
  2. 了解转义字符和原始字符的概念和用法
  3. 掌握字符串格式化方法format()的用法
  4. 熟练运用字符串常用方法
  5. 熟练运用运算符和内置函数对字符串的操作

1.字符串概述

字符串是指包含若干字符的容器结构。在python中字符串属于不可变有序序列。使用单引号,双引号,三单引号,三双引号作为定界符,并且不同定界符之间可以相互嵌套。

''HelloWorld''

'这个字符串是数''12''和字''abc''的组合'

'''你好!我是xxx'''

2.字符串编码格式

右耳零基础Python--字符编码,解码_m0_59882269的博客-CSDN博客

注意:中文与英文字符同样对待,都算一个字符

3.转义字符与原始字符串

转义字符是指:在字符串中某些特定的符号前加一个斜线之后,该字符被解释成另一种含义,不在表示原来的字符。

\b 退格,把光标移动到前一列位置

\f 换页符

\n 换行符

\t 制表符

\\ 普通的一个斜杠

\' 普通的单引号

\'' 普通的双引号

\ooo 3位八机制数对应的字符

\xhh 2位16进制数对应的字符

\uhhhh 4位16进制数表示的Unicode字符

原始字符串:为了避免对原始字符串进行转义,可以使用原始字符串。指的是在字符串前面加上字母r或者R表示原始字符串,其中所有字符都表示原始的含义我、而不会被进行任何转义。

path='C:\Windows\nptepad.exe'
print(path)
path=r'C:\Windows\nptepad.exe'
print(path)

C:\Windows
ptepad.exe

C:\Windows\nptepad.exe

4.字符串格式化

name=input("请输入你的名字:")
address=input("请输入住址:")
age=int(input("请输入你的年龄"))
hobby=input("请输入你的爱好")
# %s字符占位,他是万能占位符
# %d占位整数
# s="我叫%s,我住在%s,我今年多少%d岁,我喜欢做%s"%(name,address,age,hobby)
# print(s)
# s1="我叫{},我住在{},我今年{}岁,我喜欢{}".format(name,address,age,hobby)
# print(s1)
s2=f"我叫{name},我住在{address},我今年{age},我喜欢{hobby}"#  f-string
print(s2)
以上是字符串格式化常用方法,下面对他进行详解

4.1使用%符号进行格式化

要求被格式化的内容和格式字符之间的数量和顺序都必须是一一对应的

%[-][+][0][m][.n] 格式字符%x

格式运算符%之前的部分为格式字符串,之后的部分为需要进行格式化内容

%格式标志,表示格式开始

[-]指定左对齐输出

[+]对整数加正号

[0]指定空位填0

[m]指定最小宽度

[.n]指定精度

格式符号 指定类型

%格式运算符

x 待转换的表达式

python支持大量的格式字符

%s格式化为字符串

%d十进制整数

%o八进制整数

%x十六进制整数

%f浮点数

%%格式化为%的一个符号

a=12345
c="%o" %a
print(c)
a=12345
c="%e" %a
print(c)

30071
1.234500e+04

4.2使用format()方法进行字符串格式化

不要求格式化内容和格式字符之间的顺序严格一致

a="{0:.3f}".format(1/3)
print(a)
a="{0:%}".format(1/3)
print(a)
a="the number {0:,} in hex is:{0:#x},in oct is {0:#o}".format(55)
print(a)
a="the number {0:,} in hex is:{0:#x},in oct is {0:#o},the number {1:,} in hex is:{1:#x},in oct is {1:#o}".format(55,155)
print(a)

0.333
33.333333%
the number 55 in hex is:0x37,in oct is 0o67
the number 55 in hex is:0x37,in oct is 0o67,the number 155 in hex is:0x9b,in oct is 0o233


4.3格式化字符串常量

Formatted String Literals 其中大括号里面的表示占位符

address="河南"
a=f"my address is {address}"
print(a)

my address is 河南

5.字符串常用方法

5.1find() ,rfind(),index(),rindex(),count()  查

s="zxcvbnagcdghs"
a=s.find("c")#前面
print(a)
a=s.find("c",5)
print(a)
a=s.rfind("c")#后面
print(a)
a=s.index("c")
print(a)
a=s.rindex("c")
print(a)

2
8
8
2
8
注意:find找不到会返回-1,index找不到是报错

a=s.count("c")
print(a)#2

5.2split(),rsplit(),partition(),rpartition()  分割

s="2021-10-25"
s=s.split("-")
print(s)
print(list(map(int,s)))

['2021', '10', '25']
[2021, 10, 25]
特别注意:partition()是将原字符分成三部分,即分隔符之前的字符串,分隔符字符串,分隔符之后的字符串

s="apple,banana,pear,peach"
s=s.partition(",")
print(s)

('apple', ',', 'banana,pear,peach')

s="apple,banana,pear,peach"
s=s.partition("t")
print(s)

('apple,banana,pear,peach', '', '')没有分隔符的情况

5.3join()

join()方法是用来将列表中的多个字符串进行拼接,并在两个相邻的字符串之间插入指定字符,返回新的字符串。

li=["pear","apple"]
p="-".join(li)
print(p)

pear-apple

5.4lower(),upper(),capitalize(),title(),swapcase()

s="absbh dh dAAAj"
print(s.lower())
print(s.upper())
print(s.title())#每个单词首字母大写
print(s.capitalize())#字符串首字母大写
print(s.swapcase())#大小写转化

absbh dh daaaj
ABSBH DH DAAAJ
Absbh Dh Daaaj
Absbh dh daaaj
ABSBH DH DaaaJ
 

5.5replace()字符串的替换

s="absbh dh dAAAj"
s=s.replace("ab","jiayou")
print(s)

jiayousbh dh dAAAj

5.6strip()去除两端分隔符

s="    absbh dh dAAAj    "
s=s.strip()
print(s)

absbh dh dAAAj

5.7startwith(),endwith()

s="absbh dh dAAAj"
print(s.startswith("a"))# True
print(s.endswith("a"))#False

判断字符串以什么开头以什么结尾

5.8isdigit((),isspace(),isupper(),islower(),isalpha,isalnum

s="123"
print(s.isdigit())#判断字符串是否为整数
print(s.isalnum())#判断字符串是字母,数字
print(s.isalpha())#判断字符串是字母
print(s.isspace())#判断字符串是否全部是空白符
print(s.isupper())#判断是否是全部大写字母
print(s.islower())#判断是否全部是小写字母

True
True
False
False
False
False
 

5.9center(),ljust(),rjust()

这几个方法用于对字符串进行排版,center居中,ljust左对齐,rjust右对齐

s="Main Menu".center(20)#默认以空格进行填充
print(s)
s="Main Menu".ljust(20,"#")#左对齐,右侧警号填充
print(s)
s="Main Menu".rjust(20,"-")#右对齐,左侧-填充
print(s)

     Main Menu      
Main Menu###########
-----------Main Menu

6.字符串支持的运算符

连接运算符+

测试运算符in

序列重复 乘法

s="hello"+"world"
print(s)
s="helloworld"*3
print(s)
s="helloworld"
s="hello"in s
print(s)

helloworld
helloworldhelloworldhelloworld
True

7字符串切片

''Explicit is better than implicit''.[:8]

"Explicit"

8.字符串常量

python标准库string提供了英文字母大小写,数字字符,标点符号等常量,可以直接使用

'''
使用sting模块提供的字符串常量,模拟生成指定长度的随机密码
思路:把英文字母大小写,数字作为字符集,用choice从中随机选择n个字符使用join把生成的字符连接成一个字符串。
'''
from random import choice
from string import ascii_letters,digits
character=digits+ascii_letters
def generatePassWorld(n):
    return "".join((choice(character) for _ in range(n)))
print(generatePassWorld(8))
print(generatePassWorld(15))

lRumr8yK
G3cS7YLwD7ZSTb2


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尽力回答你的问题。 首先,让我们来谈谈 Python 中的异常处理。在 Python 中,异常是程序在运行时遇到的错误或问题,它会导致程序停止运行并抛出一个异常。为了避免这种情况,我们可以使用 try/except 块来捕获并处理异常。例如: ``` try: # some code that might raise an exception except SomeException: # handle the exception ``` 其中,SomeException 是你想要捕获的异常类型。当代码运行到 try 块中的代码时,如果出现了 SomeException 异常,那么 except 块中的代码就会被执行。 接下来,让我们来谈谈 Python 中的对象。在 Python 中,一切都是对象,包括数字、字符串、函数等等。对象有一个类型,它定义了对象可以执行的操作。例如,数字类型可以执行加、减、乘等操作,字符串类型可以执行拼接、切片等操作。你也可以创建自己的对象,并定义它们的类型和操作。 最后,让我们来谈谈 Python 中的迭代器。迭代器是一种对象,它可以让你逐个访问一个序列中的元素。Python 中的迭代器是通过 __iter__ 和 __next__ 方法实现的。__iter__ 方法返回一个迭代器对象,__next__ 方法返回序列中的下一个元素。例如: ``` class MyIterator: def __init__(self, data): self.data = data self.index = 0 def __iter__(self): return self def __next__(self): if self.index >= len(self.data): raise StopIteration result = self.data[self.index] self.index += 1 return result my_iter = MyIterator([1, 2, 3]) for item in my_iter: print(item) ``` 在上面的例子中,我们创建了一个名为 MyIterator 的迭代器对象。它有一个 data 属性,表示要迭代的序列,以及一个 index 属性,表示当前迭代的位置。__iter__ 方法返回 self,表示它本身就是一个迭代器对象。__next__ 方法返回序列中的下一个元素,并将 index 属性加 1。当迭代器遍历到序列末尾时,会抛出 StopIteration 异常,表示迭代结束。 希望这些信息能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右耳要加油

你们的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值