目录
字符串的三种定义方式
字符串的引号嵌套
字符串拼接
字符串格式化
字符串格式化-数字精度控制
字符串格式化-快速写法
字符串格式化-表达式的格式化
hello小伙伴们,今天主要从四个方面来分享下关于字符串的相关内容~
字符串的三种定义方式
在Python中,字符串有多种定义方式:
① 单引号定义法:name='月亮'
② 双引号定义法:name="月亮"
③ 三引号定义法:name="""月亮"""
三引号定义法和多行注释的写法相同,也支持换行操作。因此,对于三引号而言,当使用变量接收三引号中的内容时,该内容代表字符串;当不使用变量接收三引号中的内容时,该内容代表多行注释。下面的内容大家可以敲下哦~
# 单引号定义法,使用单引号包围
name='月亮'
print(type(name))
# 双引号定义法,使用双引号包围
name="月亮"
print(type(name))
# 三引号定义法,写法和多行注释相同
name="""
我是一个
月亮
"""
print(name)
print(type(name))
字符串的引号嵌套
上面的代码输出的内容是月亮(不带引号的),那么,如果我们想得到带引号的月亮("月亮")呢?此时就要用到引号的嵌套了。
引号的嵌套主要有三个规则:
① 单引号定义法可以内含双引号;
② 双引号定义法可以内含单引号;
③ 可以使用转义字符(\\)解除引号的作用,变成普通的字符串。
可以通过下面的代码理解哦~
# 在字符串内包含双引号
name='"月亮"'
print(name)
# 在字符串内包含单引号
name="'月亮'"
print(name)
# 使用转义字符\\解除引号的效用
name="\\"月亮\\""
print(name)
name='\\'月亮\\''
print(name)
字符串拼接
我们可以通过"+"完成两个字符串的拼接,也可以完成字面量和变量或者变量与变量之间的拼接。有一点需要注意,无法完成与非字符串类型变量的拼接。
# 字符串字面量之间的拼接
print("好好学习"+"天天向上")
# 字符串字面量和字符串变量的拼接
name="月亮"
address="凤凰城1234"
tel=4006189090
print("我是:"+name+",我的地址是:"+address)
# 错误示例(无法和非字符串类型进行拼接)
# print("我是:"+name+",我的地址是:"+address+",我的电话是:"+tel)
字符串格式化
关于字符串的格式化,让我们先举一个例子吧~
name="月亮"
sex="女"
address="凤凰城"
hobby="听音乐"
print("我是"+name+",我的性别是:"+sex+",我住在:"+address+",我的爱好是:"+hobby)
可以发现,当变量过多时,用拼接的方式显得很复杂和麻烦,同时在上面的注意中提到的注意事项,字符串无法和数字或者其他数据类型完成拼接。因此,我们需要找一种方式去解决上面的两个问题,答案就是字符串的格式化。
下面通过一个简单例子来介绍下字符串的格式化是什么。
# 通过占位的形式,完成拼接
name="月亮程序员"
message="学IT来:%s" %name
print(message)
其中,“%”代表要占位了;“s”代表将变量转换成字符串所要占位的地方。因此,“%s”代表先占据一个位置,后面的变量会放入到占位的位置。双引号外面的“%”之后的内容就是要占位的变量名。这是单个变量的举例,那么当需要引用多个变量的时候应该怎么表示呢?具体可以看下面的代码。
# 通过占位的形式,完成数字和字符串的拼接
class_num=57
avg_salary=16788
message="Python大数据学科,北京%s期,毕业平均工资:%s" %(class_num,avg_salary)
print(message)
如上所示,当需要引用多个变量时,需要在“%”后面加一个括号将变量括起来,同时要注意一定要按照占位的顺序填入变量名。
在Python中,可以支持多种的数据类型占位,较为常用的有以下三种。
| 格式符号 | 说明 |
| %s | 将内容转换成字符串,放入占位位置 |
| %d | 将内容转换成整数,放入占位位置 |
| %f | 将内容转换成浮点型,放入占位位置 |
字符串格式化-数字精度控制
在Python中,我们使用类似符号"m.n"来控制数据的宽度和精度,以下为详细介绍:
① m:控制宽度,要求变量是数字类型,设置的宽度小于数字自身时是不生效的。
② n:控制小数点后的精度,要求变量是数字类型,会进行小数的四舍五入。
# 百分号%精度控制
num1=11
num2=11.345
print("数字11宽度限制5,结果是:%5d" %num1)
print("数字11宽度限制1,结果是:%1d" %num1) # 对应解释①的不生效那一条
print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" %num2)
print("数字11.345不限制,小数精度2,结果是:%.2f" %num2)
举例:
① %5d:表示将整数的宽度控制在5位,比如数字37被设置为%5d时,会变成[空格][空格][空格]37,会用三个空格补充直至达到宽度。
② %7.2f:表示将宽度控制在5位,将小数精度控制在2位,小数点和小数部分都算入宽度计算。比如13.145被设置为%7.2f时,结果变为[空格][空格]13.15。过程大致为用两个空格补充直至达到宽度,由于小数部分限制2位精度,因此四舍五入后得到.15。
③ %.2f:表示不限制宽度,只设置小数点精度为2位,比如将13.145被设置为%.2f时,得到结果13.15。
字符串格式化-快速写法
为了更加优雅地使用Python,可以使用语法:f"内容{变量}内容"的格式来进行快速的格式化。请注意:f(format)格式的格式化,不理会类型,不做精度控制。详细可见以下代码。
# f(format)格式的格式化,不理会类型,不做精度控制
name="稳赢公司"
setup_year=2006
stock_price=19.99
print(f"我是{name},我成立于:{setup_year},我今天的股价是:{stock_price}")
字符串格式化-表达式的格式化
首先我们需要了解下什么时表达式,例如:1+1,520*1314都是表达式。在定义变量时,name="月亮",等号右边的也都是表达式,它们都有具体的结果,具体可见以下代码。
print("1*1的结果是:%d" %(1*1))
print(f"1314*520的结果是:{1314*520}")
print("字符串在Python中的类型名是:%s" %type("字符串"))
以上是自己学习过程中总结和练习的内容,如有错误请谅解,定会修改哈,希望能够帮助小伙伴哦!!参考黑马程序员,如有侵权定会删除~谢谢观看啦
网硕互联帮助中心







评论前必须登录!
注册