python 字符串(1)
字符串
操练一下字符串吧。
>>> print "good good study, day day up" good good study, day day up
在python中,通常用一对双引号、或者单引号来包裹一个字符串。或者说,要定义一个字符串,就用双引号或者单引号。
转义字符例子:
>>> print "小明说:\"你好啊\"" 小明说"我没有少圆明园"
这个例子中,为了打印出那句含有双引号的字符串,也就是双引号是字符串的一部分了,使用了一个符号:\,在python中,将这个符号叫做转义符。本来双引号表示包括字符串,它不是字符串一部分,但是如果前面有转义符,那么它就失去了原来的含义,转化为字符串的一部分,相当于一个特殊字符了。
转义符在打印第二句话:
>>> print 'what\'s your name?' what's your name?
另外,双引号和单引号还可以嵌套,比如下面的句子中,单引号在双引号里面,虽然没有在单引号前面加转义符,但是它被认为是字符串一部分,而不是包裹字符串的符号
>>> print "what's your name?" #双引号包裹单引号,单引号是字符 what's your name? >>> print 'what "is your" name' #单引号包裹双引号,双引号是字符 what "is your" name
变量连接到字符串
变量不仅可以跟数字连接,还能够跟字符串连接。
>>> a=5 >>> a 5 >>> print a 5 >>> b="hello,world" >>> b 'hello,world' >>> print b hello,world
还记得我们曾经用过一个type命令吗?现在它还有用,就是检验一个变量,到底跟什么类型联系着,是字符串还是数字?
>>> type(a) <type 'int'> >>> type(b) <type 'str'>
连接字符串(1)
>>> a = "我们" >>> b= "学python" >>> c = a+b >>> print c 我们学python
用+号实现连接,的确比较简单,不过,有时候你会遇到这样的问题:
>>> a = 1989 >>> b = "free" >>> print b+a Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects
抱错了,其错误原因已经打印出来了(一定要注意看打印出来的信息):cannot concatenate 'str' and 'int' objects。原来a对应的对象是一个int类型的,不能将它和str对象连接起来。怎么办?
可以用下面三种方法中的任何一种:
>>> print b + `a` #注意,` `是反引号,不是单引号,就是键盘中通常在数字1左边的那个,在英文半角状态下输入的符号 free1989 >>> print b + str(a) #str(a)实现将整数对象转换为字符串对象 free1989 >>> print b + repr(a) #repr(a)与上面的类似 free1989
首先明确,repr()和``是一致的,就不用区别了。接下来需要区别的就是repr()和str,一个最简单的区别,repr是函数,str是跟int一样,一种对象类型。
连接字符串(2)
先说明一下什么是占位符,此前在讲解变量(参数)的时候,提到了占位符,这里对占位符做一个比较严格的定义:
来自百度百科的定义:
顾名思义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。
根据这个定义,在python里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符:%d——表示那个位置是整数,%s——表示那个位置应该是字符串。下面看一个具体实例:
>>> print "one is %d"%1 one is 1
要求打印(print)的内容中,有一个%d占位符,就是说那个位置应该放一个整数。在第二个%后面,跟着的就是那个位置应该放的东西。这里是一个整数1。
我们做下面的操作,就可以更清楚了解了:
>>> a=1 >>> type(a) <type 'int'> #a是整数 >>> b="1" >>> type(b) <type 'str'> #b是字符串 >>> print "one is %d"%a one is 1 >>> print "one is %d"%b #报错了,这个占位符的位置应该放整数,不应该放字符串。 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: %d format: a number is required, not str
同样道理,%s对应的位置应该放字符串,但是,如果放了整数,也可以。只不过是已经转为字符串对待了。但是不赞成这么做。
>>> print "one is %s"%b one is 1 >>> print "one is %s"%a #字符串是包容的 one is 1
下面我们就用占位符来连接字符串:
>>> a = "py" >>> b = "thon" >>> print "%s%s"%(a,b) #注 python
- 注:仔细观察,如果两个占位符,要向这两个位置放东西,代表的东西要写在一个圆括号内,并且中间用逗号(半角)隔开。
Python转义字符
在字符串中,有时需要输入一些特殊的符号,但是,某些符号不能直接输出,就需要用转义符。所谓转义,就是不采用符号现在之前的含义,而采用另外一含义了。下面表格中列出常用的转义符:
转义字符 | 描述 |
---|---|
\ | (在行尾时) 续行符 |
\ \ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
以上所有转义符,都可以通过交互模式下print来测试一下,感受实际上是什么样子的。例如:
>>> print "hello.I am hiekay.\ #这里换行,下一行接续 ... My website is 'http://hiekay.github.io'." hello.I am hiekay.My website is 'http://hiekay.github.io'. >>> print "you can connect me by qq\\weibo\\gmail" #\\是为了要后面那个\ you can connect me by qq\weibo\gmail
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[雪峰磁针石博客]2018最佳人工智能图像处理工具OpenCV书籍下载
@Machine Learning for OpenCV - 2017.pdf A practical introduction to the world of machine learning and image processing usingOpenCV and Python 使用OpenCV和Python对机器学习和图像处理世界的实用介绍 机器学习不再仅仅是一个流行语,它就在我们身边:从保护您的电子邮件到自动标记图片中的朋友,到预测您喜欢的电影。计算机视觉是当今最令人兴奋的机器学习应用领域之一,深度学习驱动创新系统,如自动驾驶汽车和谷歌的DeepMind。 OpenCV位于这些主题的交叉点,为经典以及最先进的计算机视觉和机器学习算法提供了一个全面的开源库。结合Python Anaconda,您可以访问您可能要求的所有开源计算库。 OpenCV的机器学习首先向您介绍统计学习的基本概念,例如分类和回归。一旦涵盖了所有基础知识,您将开始探索各种算法,如决策树,支持向量机和贝叶斯网络,并学习如何将它们与其他OpenCV功能相结合。随着本书的进展,您的机器学习技能也将如此,直到您准备好接...
- 下一篇
[雪峰磁针石博客]python opencv3实例(对象识别和增强现实)1-图像几何转换
原书代码地址 在本章中,我们将学习如何应用酷的几何效果到图像。 知识点 如何安装OpenCV-Python 如何读取,显示和保存图像 如何转换到多个颜色空间 如何应用几何变换,例如平移,旋转,和缩放 如何使用仿射和投影变换来应用几何效果 本书英文版本:OpenCV 3.x with Python By Example 2nd 2018.pdf 更多opencv相关书籍:最佳人工智能图像处理工具OpenCV书籍下载 安装OpenCV-Python 安装 本教程基于python3,ubuntu 16,在windows环境可能可以运行。 Linux #!python pip3 install opencv-python Windows #!python pip install opencv-python 文档: [官网](http://docs.opencv.org/) [opencv-python官方文档](http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html) 读取显示和...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果