【Python入门】字符串的扩展(一)

简介: 【Python入门】字符串的扩展(一)

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

相关文章
|
5天前
|
Python
Python中通过字符串访问与修改局部变量
Python中通过字符串访问与修改局部变量
10 0
|
2天前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
13 5
|
5天前
|
存储 Python 容器
Python基础:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
7天前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
11 0
「Python入门」python操作MySQL和SqlServer
|
7天前
|
并行计算 Java Python
「Python入门」Python多进程
本文探讨Python中的单进程和多进程。多进程使用`multiprocessing`库,如`Process`类,类似于`threading.Thread`。进程是操作系统分配资源的基本单位,每个程序至少有一个进程。多进程允许多个任务并发执行,提升效率,尤其在多核CPU上优于多线程,因Python的GIL限制了多线程的并行计算。文中通过吃饭睡觉打豆豆的例子,展示了单进程按顺序执行,多进程则可并发执行。还介绍了带参数的多进程、获取进程ID、主进程等待子进程结束及子进程守护等概念。在IO或网络密集型任务中,多线程和多进程各有优势,具体选择应根据任务类型和资源需求。
「Python入门」Python多进程
|
1天前
|
机器学习/深度学习 缓存 安全
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
4 0
|
1天前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
4 0
|
1天前
|
存储 算法 安全
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
9 0
|
Linux C# 数据安全/隐私保护
Python3 与 C# 扩展之~模块专栏
  代码裤子:https://github.com/lotapp/BaseCode/tree/maste 在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在线预览:http://github.
2251 0
|
6天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
20 3