学习目标 ☀️:
⭐️⭐️⭐️
一周掌握 python 入门知识
学习内容☀️:
提示:这里可以添加要学的内容
例如:
1、 搭建 python 开发环境
2、 掌握 python 基本语法
3、 掌握条件语句
4、 掌握循环语句
学习时间:
1、 周一至周五晚上 7 点—晚上9点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点
👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白
📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人
🔥🔥🔥 python入门到实战专栏:从入门到实战
🔥🔥🔥 Python爬虫开发专栏:从入门到实战
🔥🔥🔥 Python办公自动化专栏:从入门到实战
🔥🔥🔥 Python数据分析专栏:从入门到实战
🔥🔥🔥 Python前后端开发专栏:从入门到实战
字符串基本特点👈
1 字符串的本质是:字符序列。
2 Python不支持单字符类型,单字符也是作为一个字符串使用的。
⚠️Python的字符串是不可变的,我们无法对原字符串做任何修
改。但,可以将字符串的一部分复制到新创建的字符串,达到
“看起来修改”的效果。
字符串的编码👈
Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集。
使用内置函数ord()可以把字符转换成对应的Unicode码; 使用内置函数chr()可以把十进制数字转换成对应的字符。
引号创建字符串👈
我们可以通过单引号或双引号创建字符串。例如: a=‘abc’ b=“txc” 使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。例如:
a = "I'm a teacher!"
print(a) #I'm a teacher!
b = 'my_name is "TOM"'
print(b) #my_name is "TOM"
连续三个单引号或三个双引号,可以帮助我们创建多行字符串。在长字符串中会保留原始的格式。例如:
s='''
I
Love
Python
'''
print(s)
空字符串和len()函数👈
Python允许空字符串的存在,不包含任何字符且长度为0。例如:
c = '' print(len(c)) #结果:0
len()用于计算字符串含有多少字符。例如:
d = 'abc王小鼠'
len(d) #结果:6
学习效果反馈👈
- python中字符串使用的是什么字符集?
A ASCII
B GBK
C ISO8859-1
D Unicode
- 如下代码,打印输出的结果是:
b = 'my_name is "TOM"' print(b)
A 会报错
B my_name is “TOM”
C my_name is TOM
D ‘my_name is “TOM”’
转义字符
我们可以使用
\+特殊字符
,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些:
【操作】测试转义字符的使用
a = ‘I\nlove\nU’
print(a)
print(‘aabb\cc’)
输出:
I
love
U
aabb\cc
【操作】字符串拼接操作
a = ‘wxs’+‘gaoqi’ #结果是:‘sxtgaoqi’
b = ‘wxs’‘gaoqi’ #结果是:‘sxtgaoqi’
字符串复制
使用*可以实现字符串复制
a = 'wxs'*3 #结果:'wxs'
不换行打印
我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我们可以自己通过参数end = “任意字符串”。实现末尾添加任何内容:
print("wxs",end=' ') print("wxs",end='##') print("wxs")
运行结果:
wxs wxs##wxs
从控制台读取字符串
我们可以使用input()从控制台读取键盘输入的内容。
myname = input("请输入名字:")
print("您的名字是:"+myname)
执行结果:
请输入名字:王小鼠
您的名字是:王小鼠
学习效果反馈👈
转义字符中,换行的哪一个?
A \r
B \t
C \n
D \b如下代码,输出正确结果是:
a = 13 b = "14" c = a+b print(c)
A 会报错
B 27
C 1314
D “27”
replace() 实现字符串替换 👈
字符串是“不可改变”的,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变字符串。我们尝试改变字符串中某个字符,发现报错了:
字符串不可改变。但是,我们确实有时候需要替换某些字符。这 时,只能通过创建新的字符串来实现。
整个过程中,实际上我们是创建了新的字符串对象,并指向了变量 a,而不是修改了以前的字符串。 内存图如下:
str()实现数字转型字符串👈
str()可以帮助我们将其他数据类型转换为字符串。例如:
a = str(5.20) #结果是:a = ‘5.20’
b = str(3.14e2) #结果是:b = ’314.0’
c = str(True) #结果是:c = ‘True’
❤️当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转成了字符串。
使用[]提取字符
字符串的本质就是字符序列,我们可以通过在字符串后面添加[], 在[]里面指定偏移量,可以提取该位置的单个字符。
1 正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1为止。
2 反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。
【操作】使用[]提取字符串中的字符
学习效果反馈 👈
- python中关于字符串的说法,错误的是:
A 字符串是内置类型
B 字符串不可改变
C 调用replace()改变的原字符串对象
Dc="abcdefg" c[-1]
结果是:g
字符串切片slice操作 👈
切片slice操作可以让我们快速的提取子字符串。标准格式为:
典型操作(三个量为正数的情况)如下:
其他操作(三个量为负数)的情况:
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范 围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长
度-1”会被当成-1。例如:
我们发现正常输出了结果,没有报错。
学习效果反馈 👈
- 将”wxswxswxswxswxs”字符串中所有的s输出,如下的是:
A “wxswxswxswxswxs”[::-3]
B “wxswxswxswxswxs”[::2]
C “wxswxswxswxswxs”[::1]
D “wxswxswxswxswxs”[::3]
- 如下代码,正确结果是:
"abcdefghijklmnopqrstuvwxyz"[::-1]
A ‘zyxwvutsrqponmlkjihgfedcba’
B ‘z’
C ‘a’
D “abcdefghijklmnopqrstuvwxyz”
split() 分割和join() 合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。示例代码如下:
join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:
【操作】测试+拼接符和join(),不同的效率 (mypy_07.py)
import time
time01 = time.time() #起始时刻
a = ""
for i in range(1000000):
a += "wxs"
time02 = time.time() #终止时刻
print("运算时间:"+str(time02-time01))
time03 = time.time() #起始时刻
li = []
for i in range(1000000):
li.append("wxs")
a = "".join(li)
time04 = time.time() #终止时刻
print("运算时间:"+str(time04-time03))
学习效果反馈 👈
1. “to be or not to be”.split() ,执行的结果是:
A “to be or not to be”
B [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
C [to, be, or, not, to, be]
D [‘to be’, ‘or’, ‘not to be’]
- 使用
+
和join()
拼接字符串,错误结果是:
A 字符串拼接符+
,会生成新的字符串对象
Bjoin
函数仅新建一次对象
C+
和join()
的作用都是用来:拼接字符串
D+
和join()
效率都是一样的,用哪个都无所谓