学习目标 ☀️:
⭐️⭐️⭐️
一周掌握 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前后端开发专栏:从入门到实战
字符串驻留机制和字符串比较🐽
字符串驻留:常量字符串只保留一份。
c = "dd#"
d = "dd#"
print(c is d) #True
字符串比较和同一性🐽
我们可以直接使用 == != 对字符串进行比较,是否含有相同的字 符。 我们使用 is not is,判断两个对象是否同一个对象。比较的是对象的 地址,即 id(obj1) 是否和 id(obj2) 相等。
成员操作符判断子字符串🐽
in not in
关键字,判断某个字符(子字符串)是否存在于字符串中。
"ab" in "abcdefg" #true
学习效果反馈🐽
- 如下代码,打印输出结果是:
a = "abd_33" b = "abd_33" print(a is b) print(a==b)
A True False
B True False
C True False
D True True
字符串常用方法汇总🐽
字符串有很多常用的方法,我们需要熟悉。我们通过表格将这些方 法汇总起来,方便大家查阅。希望大家针对每个方法都做一次测 试。
去除首尾信息
我们可以通过strip()去除字符串首尾指定信息。通过lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息。
【操作】去除字符串首尾信息
>>> "*w*x*s*".strip("*")
't*x*c'
>>> "*w*x*s*".lstrip("*")
'w*x*s*'
>>> "*w*x*s*".rstrip("*")
'*w*x*s'
>>> " w xs ".strip()
'w xs'
大小写转换
编程中关于字符串大小写转换的情况,经常遇到。我们将相关方法汇总到这里。为了方便学习,先设定一个测试变量:
a = "gaoqi love programming, love bc"
示例 | 说明 | 结果 |
---|---|---|
a.capitalize() | 产生新的字符串,首字母大写 | ‘Gaoqi love programming, love txc’ |
a.title() | 产生新的字符串,每个单词都首字母大写 | ‘Gaoqi Love Programming, Love txc’ |
a.upper() | 产生新的字符串,所有字符全转成大写 | ‘GAOQI LOVE PROGRAMMING, LOVE txc’ |
a.lower() | 产生新的字符串,所有字符全转成小写 | ‘gaoqi love programming, love txc’ |
a.swapcase() | 产生新的,所有字母大小写转换 | ‘GAOQI LOVE PROGRAMMING, LOVE txc’ |
格式排版
center() 、 ljust() 、 rjust()
这三个函数用于对字符串实现排版。示例如下:
>>> a="wxs"
>>> a.center(10,"*")
'***wxs****'
>>> a.center(10)
' wxs '
>>> a.ljust(10,"*")
'wxs*******'
特征判断方法
>>> "wxs100".isalnum()
True
>>> "wxs王小鼠".isalpha()
True
>>> "234.3".isdigit()
False
>>> "23423".isdigit()
True
>>> "aB".isupper()
False
>>> "A".isupper()
True
>>> "\t\n".isspace()
True
学习效果反馈🐽
如下代码,打印结果是:
index = "我是王小鼠,一个程序员".find('鼠') print(index)
A 1
B 2
C 3
D 4如下代码,正确结果是:
str = "**w*xs**".strip("*") print(str)
A wxs
B wxs**
C wxs
D **w*xs
字符串的格式化🐽
format()
基本用法
基本语法是通过{}
和:
来代替以前的%
。
format()
函数可以接受不限个数的参数,位置可以不按顺序。
我们通过示例进行格式化的学习。
>>> a = "名字是:{0},年龄是:{1}"
>>> a.format("王小鼠",18)
'名字是:王小鼠,年龄是:18'
>>> a.format("王希希",6)
'名字是:王希希,年龄是:6'
>>> b = "名字是:{0},年龄是{1}。{0}是个好女孩"
>>> b.format("王小鼠",18)
'名字是:王小鼠,年龄是18。王小鼠是个好女孩'
>>> c = "名字是{name},年龄是{age}"
>>> c.format(age=19,name='王小鼠')
'名字是王小鼠,年龄是19'
我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。
填充与对齐
>>> "{:*>8}".format("245")
'*****245'
>>> "我是{0},我喜欢数字{1:*^8}".format("王小鼠","666")
'我是王小鼠,我喜欢数字**666***'
数字格式化
浮点数通过
f
,整数通过d
进行需要的格式化。案例如下:
>>> a = "我是{0},我的存款有{1:.2f}"
>>> a.format("王小鼠",3888.234342)
'我是王小鼠,我的存款有3888.23'
其他格式,供大家参考:
数字 | 格式 | 格式 | 格式 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | 3.14 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2f} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00E+09 | 指数记法 |
13 | {:10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
学习效果反馈🐽
- 如下代码,正确结果是:
c = "名字是{name},年龄是{age}" d = c.format(age=19,name='王小鼠') print(d)
A 名字是王小鼠,年龄是19
B名字是{王小鼠},年龄是{19}
C 名字是{name},年龄是{age}
D 名字是19,年龄是王小鼠
- 如下代码,正确结果是:
a = "我是{0},我的存款有{1:.2f}" b = a.format("王小鼠",3888.234342) print(b)
A 我是王小鼠,我的存款有3888
B 我是{0},我的存款有{1:.2f}
C 我是王小鼠,我的存款有3888.23
D 我是王小鼠,我的存款有3888.234342
可变字符串🐽
import io
s = "hello, wxs"
sio = io.StringIO(s) #可变字符串
print(sio)
v1 = sio.getvalue()
print("v1:",v1)
char7 = sio.seek(7) #指针知道索引7这个位置
sio.write("gaoqi")
v2 = sio.getvalue()
print("v2:",v2)
学习效果反馈🐽
- 如下代码,如下说法正确的是:
import io s = "hello, wxs" sio = io.StringIO(s) #可变字符串
A s修改为可变,sio是不可变
B s仍然不可变,sio也是不可变
C s修改为可变,sio也是可变
D s仍然不可变,sio是可变的
类型转换总结🐽
与C++、Java等高级程序设计语言一样,Python语言同样也支持数 据类型转换。
#类型转换
#转换为int
print('int()默认情况下为:', int())
print('str字符型转换为int:', int('010'))
print('float浮点型转换为int:', int(234.23))
#十进制数10,对应的2进制,8进制,10进制,16进制分别是:1010,12,10,0xa
print('int(\'0xa\', 16) = ', int('0xa', 16))
print('int(\'10\', 10) = ', int('10', 10))
print('int(\'12\', 8) = ', int('12', 8))
print('int(\'1010\', 2) = ', int('1010', 2))
#转换为float
print('float()默认情况下为:', float())
print('str字符型转换为float:',
float('123.01'))
print('int浮点型转换为float:', float(32))
#转换为complex
print('创建一个复数(实部+虚部):', complex(12,43))
print('创建一个复数(实部+虚部):', complex(12))
#转换为str字符串
print('str()默认情况下为:', str())
print('float型转换为str:', str(232.33))
print('int转换为str:', str(32))
lists = ['a', 'b', 'e', 'c', 'd', 'a']
print('列表list转换为str:', ''.join(lists))
#转换为list
strs = 'hongten'
print('序列strs转换为list:', list(strs))
#转换为tuple
print('列表list转换为tuple:', tuple(lists))
#字符和整数之间的转换
print('整数转换为字符chr:', chr(67))
print('字符chr转换为整数:', ord('C'))
print('整数转16进制数:', hex(12))
print('整数转8进制数:', oct(12))
运行效果:
学习效果反馈🐽
- 转整数、转浮点数、转字符串,分别是哪几个方法:
A int() float() str()
B int() float() string()
C Int() Float() str()
D int() float() Str()