1. 字符串的三种定义方式
1.1 字符串在Python中有多种定义形式
单引号定义法:‘’
双引号定义法:‘’ ‘’
三引号定义法:‘’’ ‘’’
""" 演示字符串的三种定义方式: - 单引号定义法 - 双引号定义法 - 三引号定义法 """ # 单引号定义法,使用单引号进行包围 name = '热爱跑步的恒川' print(type(name)) # 双引号定义法 name = "热爱跑步的恒川" print(type(name)) # 三引号定义法,写法和多行注释是一样的 name = """ 热爱 跑步 的恒川 """ print(type(name))
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串
不使用变量接收它,就可以作为多行注释使用。
1.2 字符串的引号嵌套
思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?
单引号定义法,可以内含双引号
双引号定义法,可以内含单引号
可以使用转移字符(\)来将引号解除效用,变成普通字符串
代码如下:
# 在字符串内 包含双引号 name = '"热爱跑步的恒川"' print(name) # 在字符串内 包含单引号 name = "'热爱跑步的恒川'" print(name) # 使用转义字符 \ 解除引号的效用 name = "\"热爱跑步的恒川\"" print(name) name = '\'热爱跑步的恒川\'' print(name)
代码结果:
1.3 总结
字符串的三种定义方式:
单引号方式
双引号方式
三引号方式
引号的嵌套
可以使用:\来进行转义
单引号内可以写双引号或双引号内可以写单引号
2. 字符串拼接
2.1 如何拼接字符串
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,如:
print("热爱跑步" + "的恒川")
输出结果:
热爱跑步的恒川
不过一般,单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接,如:
name = "热爱跑步的恒川" print("我是:" + name + ",我喜欢跑步")
既然,字符串和变量进行拼接,我们来完成一个小需求:
定义2个变量:
name,内容是“热爱跑步的恒川”
address,内容是“北京朝阳区东大街”
要求写程序通过print语句以及字符串拼接的方式输出:
“我是:热爱跑步的恒川,我的地址是:北京朝阳区东大街“
代码如下:
# 字符串字面量和字符串变量的拼接 name = "热爱跑步的恒川" address = "北京朝阳区东大街"
既然可以和字符串变量完成拼接,那么,是否可以和其它变量类型如数字类型完成拼接呢?
让我们试一试。
name = "热爱跑步的恒川" address = "北京朝阳区东大街" tel = 7854463321 print("我是:" + name + ",我的地址是:" + address + ",我的电话是:" + tel)
代码结果:
发现:字符串无法和非字符串变量(数字)进行拼接,因为类型不一致,无法接上
2.2 总结
如何完成字符串拼接?
使用“+”号连接字符串变量或字符串字面量即可
有哪些注意事项?
无法和非字符串类型进行拼接
3. 字符串格式化
3.1 掌握通过占位的形式拼接字符串
我们会发现,这个拼接字符串也不好用啊
变量过多,拼接起来实在是太麻烦了
字符串无法和数字或其它类型完成拼接。
所以,有没有其它方式,即方便又支持拼接其它类型呢?
我们可以通过如下语法,完成字符串和变量的快速拼接。
# 通过占位的形式,完成拼接 name = "恒川" message = "热爱跑步:%s" % name print(message)
其中的,%s
% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置
那,数字类型呢?可以不可以占位?
那必须可以,我们来尝试如下代码:
# 通过占位的形式,完成数字和字符串的拼接 class_num = 57 avg_salary = 16781 message = "Python大数据学科,北京%s期,毕业平均工资:%s" % (class_num, avg_salary) print(message)
代码结果:
Python大数据学科,北京57期,毕业平均工资:16781
注意:多个变量占位变量要用括号括起来并按照占位的顺序填入
数字也能用%s占位吗?
可以的哦,这里是将数字 转换成了 字符串哦
也就是数字57,变成了字符串"57"被放入占位的地方
思考:
数字类型,也太没有地位了吧,竟然要被转成字符串拼接。
有没有体面一点的方式,让数字以其原本的面貌拼接进去呢?
当然可以了
Python中,其实支持非常多的数据类型占位
最常用的是如下三类
如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位
name = "传智播客" setup_year = 2006 stock_price = 19.99 message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price) print(message)
传智播客,成立于:2006,我今天的股价是:19.990000
3.2 总结
字符串格式化的语法?
“%占位符” % 变量
常用占位符有哪3个?
字符串:%s
整数: %d
浮点数: %f