鱼C论坛

 找回密码
 立即注册
查看: 3026|回复: 2

[学习笔记] Python字符串拼接的6种方法:

[复制链接]
发表于 2018-8-16 11:25:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python字符串拼接的6种方法:
1.加号

第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用“+”来连接两个字符串;

?
1
print 'Python' + 'Tab'
结果:

?
1
PythonTab
2.逗号

第二种比较特殊,使用逗号连接两个字符串,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格;

?
1
print 'Python','Tab'
结果:

?
1
Python Tab
3.直接连接

第三种也是,ython独有的,只要把两个字符串放在一起,中间有空白或者没有空白,两个字符串将自动连接为一个字符串;

?
1
print 'Python''Tab'
结果:

?
1
PythonTab
?
1
print 'Python'  'Tab'
结果:

?
1
PythonTab
4.格式化

第四种功能比较强大,借鉴了C语言中printf函数的功能,如果你有C语言基础,看下文档就知道了。这种方式用符号“%”连接一个字符串和一组变量,字符串中的特殊标记会被自动用右边变量组中的变量替换:

?
1
print '%s %s'%('Python', 'Tab')
结果:

?
1
Python Tab
第五种join

就属于技巧了,利用字符串的函数join。这个函数接受一个列表,然后用字符串依次连接列表中每一个元素:

?
1
2
3
str_list = ['Python', 'Tab']
a = ''
print a.join(str_list)
结果:

?
1
PythonTab
第六种 多行字符串拼接()

?
1
2
3
4
5
6
7
s = ('select *'
   'from atable'
   'where id=888')
print s, type(s)

#输出
select *from atablewhere id=888 <type 'str'>
python遇到未闭合的小括号,自动将多行拼接为一行,相比三个引号和换行符,这种方式不会把换行符、前导空格当作字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-16 11:26:55 | 显示全部楼层
1. IPython介绍
ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台。

IPython提供了两个主要的组件:

1.一个强大的python交互式shell
2.供Jupyter notebooks使用的一个Jupyter内核(IPython notebook)

IPython的主要功能如下:

1.运行ipython控制台
2.使用ipython作为系统shell
3.使用历史输入(history)
4.Tab补全
5.使用%run命令运行代码
6.使用%timeit命令快速测量时间
7.使用%pdb命令快速debug
8.使用pylab进行交互计算
9.使用IPython Notebook

2. 安装IPython
ipython支持Python2.7版本或者3.3以上的版本,我用的是windows下的python 3.4版本。

安装ipython很简单,可以直接使用pip管理工具即可:

pip install ipython
1
这条命令会自动安装IPython以及它的各种依赖包

如果我们也想在notebook中或者在Qt console中使用IPython,我们还需要安装Jupyter,如下命令:

pip install jupyter
1
另外我们还可能需要安装一些用到的库:

NumPy高性能多维数组矢量运算库:

pip install numpy
1
Matplotlib绘图以及交互式可视化:

pip install matplotlib
1
等等。

3. 交互式使用IPython
IPython支持所有python的标准输入输出,也就是我们在IDLE中或者Python shell中能用的,在IPython中都能够使用,唯一的不同之处使ipython会使用In [x]和Out [x]表示输入输出,并表示出相应的序号。

其实后面我们会知道,In和Out是两个保存历史信息的变量

进入IPython也非常简单,直接win + R打开运行,然后输入ipython即可进入IPython shell交互框;

这里写图片描述

这里写图片描述

或者输入ipython qtconsole进入ipython图形交互界面:

这里写图片描述

这里写图片描述

除此之外,ipython支持一些更高级的功能。

3.1 Tab键自动补全
在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与输入的字符串相匹配的变量(对象或者函数等)就会被找出来:

这里写图片描述

这时可以通过键盘的向下翻页键找到自己需要的对象。

3.2 内省
在变量的前面或者后面加上一个问号?,就可以将有关该对象的一些通用信息显示出来,这就叫做对象的内省。

这里写图片描述

如果对象是一个函数或者实例方法,则它的docstring也会被显示出来:

定义方法如下:

这里写图片描述

这时查看该方法的内省信息:

这里写图片描述

如果使用两个问号??,那么还可以显示出该方法的源代码:

这里写图片描述

另外,我们可以使用通配符字符串查找出所有与该通配符字符串相匹配的名称,比如我们查找re模块下所有的包含find的函数:

这里写图片描述

3.3 使用历史命令history
在IPython shell中,使用历史命令可以简单地使用上下翻页键即可,另外我们也可以使用hist命令(或者history命令)查看所有的历史输入。(正确的做法是使用%hist,在这里,%hist也是一个魔法命令)

这里写图片描述

如果在hist命令之后加上-n,即hist -n也可以显示出输入的序号:

这里写图片描述

在任何的交互会话中,我们的输入历史和输出历史都会被保存在In和Out变量中,并被序号进行索引。

另外,_,__,___和_i,_ii,_iii变量保存着最后三个输出和输入对象。_n和_in(这里的n表示具体的数字)变量返回第n个输出和输入的历史命令。比如:

这里写图片描述

3.4 使用%run命令运行代码
在ipython会话环境中,所有文件都可以通过%run命令当做Python程序来运行,输入%run 路径+python文件名称即可

3.5 使用%timeit命令快速测量代码运行时间
在一个交互式会话中,我们可以使用%timeit魔法命令快速测量代码运行时间。相同的命令会在一个循环中多次执行,多次运行时长的平均值作为该命令的最终评估时长。-n 选项可以控制命令在单词循环中执行的次数,-r选项控制执行循环的次数。

这里写图片描述

3.6 使用%debug命令进行快速debug
ipython带有一个强大的调试器。无论何时控制台抛出了一个异常,我们都可以使用%debug魔法命令在异常点启动调试器。接着你就能调试模式下访问所有的本地变量和整个栈回溯。使用u和d向上和向下访问栈,使用q退出调试器。在调试器中输入?可以查看所有的可用命令列表。

我们也可以使用%pdb魔法命令来激活IPython调试器,这样,每当异常抛出时,调试器就会自动运行。

3.7 使用Pylab进行交互式计算
%pylab魔法命令可以使Numpy和matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作,交互可视化特性。它能够让我们在控制台进行交互式计算和动态绘图。

这里写图片描述

在该示例中,我们首先定义了一个-10到10的线性空间中的1000个数值的向量,接着我们绘制了(x,sin(x))图像,这样我们就成功绘制出了sin(x)的函数图像:

这里写图片描述

3.8 在IPython中使用系统shell
我们可以在IPython中直接使用系统shell,并获取读取结果作为一个Python字符串列表。为了实现这种功能,我们需要使用感叹号!作为shell命令的前缀。比如现在在我的windows系统中,直接在IPython中ping百度:

这里写图片描述

一个有趣的事情是,在IPython中调用系统shell可以再次进入一个新的IPython shell中,如下:

这里写图片描述

当然,一般没人会这么干。

4.使用IPython Notebook
IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。在浏览器的界面中使用单元(Cell)保存各种信息。Cell有多种类型,需要强调的是,它也支持MarkDown语法,所以可以有MarkDown格式化文本单元,也可以有表示代码的Code单元。

IPython Notebook有一个重要的特点就是:可重复性的互动计算,这意味着我们可以重复更改并且执行曾经的输入记录。它可以保存成其他很多格式,比如Python代码,HTML,PDF等,所以它可以记录我们的演算过程。很多课程,博客以及书籍都是用Notebook写的。

4.1 安装并运行
如果执行了上文中IPython的安装过程,IPython Notebook已经算是安装好了。怎么测试呢?Win + R打开运行窗口,输入ipython notebook,如果正确安装的话,这个命令就会默认在本地8888端口启动一个web服务,并自动打开浏览器,打开http://localhost:8888/tree页面,在这个页面我们可以看到当前目录下的所有文件夹以及ipynb文件。

当然,如果不想在当前默认目录启动该Web服务器的话,就在cmd窗口下切换目录之后再运行ipython notebook:

这里写图片描述

自动打开如下页面:

这里写图片描述

我们可以点击当前目录下的Notebook文件进行编辑,也可以新建Notebook:

这里写图片描述

编辑Notebook可以选择代码模式和文本编辑模式,也可以导出各种不同格式的文件:

这里写图片描述

由于IPython Notebook是基于Web服务模式的,所以我们可以在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样可以很方便地操作远程数据

4.2 操作
在一个输入框即Cell中使用回车即Enter键,表示换行,也就是说一个Cell中可以输入多条语句。

一个Cell中的命令可以由两种方式运行:

Shift + Enter小格内的所有代码将会在当前的IPython交互命名空间中运行,运行结果将会立即在输入框下面的输出区域显示,且一个新的输入框会出现。
Ctrl + Enter组合键只会显示运行结果而不会创建新的输入框
我们也可以使用上面的菜单栏和工具栏对Cell进行各种增删复制粘贴等操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 09:10:28 | 显示全部楼层
朋友,厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 15:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表