浅谈Python中的字符串
作者:Matrix海子 发布时间:2022-10-05 00:39:22
可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以"Hello world"这个程序作为入门程序,这个程序中要打印的"Hello world"就是字符串。如果你做过自然语言处理方面的研究,并且用Python去做过相关实验,你肯定会体会到Python在字符串处理方面相对于其他语言的明显优势之处。今天我们来了解一下Python中的字符串,看看它的用法。
一.Python中如何声明字符串
在Python中声明一个字符串通常有三种方法:在它的两边加上那个单引号、双引号或者三引号。
如:
从上面可以看出三种声明方法的效果是完全一样的,在Python中用这三种声明方法来声明字符串意义完全等同的,即'hello world'和"hello world"以及'''hello world'''是没有任何区别的。但是会有人问:既然是完全等同的,为什么要弄出三种声明方式呢?下面看一下这几个例子:
在Python中提供了这几种方法,使得使用起来更加方便灵活(当然也可以使用转义字符去解决上面报错的地方)。
在这里要注意的是,
1)在Python中没有类似C语言中char这种类型的字符串,也就是说即使是单个字符也是字符串。
2)Python中的字符串一旦声明,是不能进行更改的,即不能通过对某一位置重新赋值改变内容。
二.Python中的字符串类型
Python中的字符串有两种数据类型:str类型和unicode类型。str类型采用的ASCII编码,也就是说它无法表示中文。unicode类型采用unicode编码,能够表示任意的字符,包括中文、日文、韩文等。
在python中字符串默认采用的ASCII编码,如果要显示声明为unicode类型的话,需要在字符串前面加上'u'或者'U'。
下面看一段代码
print '我'
print u'我'
print 'python'
print u'python'
这段代码的运行结果为:
从运行结果可以看出,如果是中文的话,不采用unicode类型,输出的会是乱码。
三.转义字符和原始字符串
同C语言中一样,Python中也有转义字符,用反斜杠'\'来表示对后面字符进行转义。
比如上面例子中的问题就可以用转义来解决:
如果你编写过Java程序,并且使用过Java中的正则表达式,你可能会对Java正则表达式深恶痛绝(我自己就是),因为稍不注意就会出错,里面有太多的转义,而且看起来也很繁琐杂乱。在Python中,你不必再为这个问题烦恼了,因为Python提供了原始字符串,顾名思义,就是保留原始字符的意思,不对反斜杠及反斜杠后面的字符进行转义,声明原始字符串的方法是在字符串前面加上'r'或者'R'。
在这里要注意:在Python中行尾结束符始终为'\n',不论Python程序在哪个操作系统下运行。在Linux环境下编写C语言时,换行符为'\n',而在windows下为'\r\n'。编写Python程序不用担心这种因运行环境不同引起的不兼容问题。
四.用户输入以及格式化输出字符串
在Python中最常用的从键盘获取输入的函数是raw_input()和input()。但是这两个函数有很大的区别:
raw_input()以字符串的形式返回用户输入的一切内容;
而input()却不是这样,它会根据输入内容的形式确定返回的形式(可能有点拗口)。下面看个例子就明白了:
从这个例子显而易见可以看出两者的区别,同样输入123,raw_input()返回的是字符串123,而input()返回的是整数123。个人建议一般情况下使用raw_input()获取输入,这样能避免程序中出现一些不必要的麻烦。
同C语言一样,Python中也提供了格式化输出。
Python中的格式化输出和C语言类似,基本格式如下:
print '....%formmat..' %(var...)
当var只有一个时,括号可以省略。
关于Python的字符串今天就讨论这么多了,在这里只是讨论了基本的概念和知识点,相关字符串函数的使用请查阅API文档。
来源:https://www.cnblogs.com/dolphin0520/archive/2013/03/08/2950223.html
猜你喜欢
- 如下所示:import osimport cv2import sysimport numpy as nppath = "F:\\I
- 修复Access数据库,我们一般使用微软Office 97中带的Access 97对数据库进行修复和整理。Access数据库被损坏分以下几种
- 数据集数据集为Barcelona某段时间内的气象数据,其中包括温度、湿度以及风速等。本文将利用CNN来对风速进行预测。特征构造对于风速的预测
- 本文实例讲述了python中迭代器(iterator)用法。分享给大家供大家参考。具体如下:#-----------------------
- 引言在观察OpenCV中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下。为了更便捷
- 让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新, 而您运行进程时
- 日常工作生活中,事情一多,就会忘记一些该做未做的事情。即使有时候把事情记录在了小本本上或者手机、电脑端备忘录上,也总会有查看不及时,导致错过
- 假设我们有这样一种数据:data = [ ("apple&quo
- 准备1、下载所需安装包wget https://www.php.net/distributions/php-7.4.0.tar.gzwget
- Python中的魔法方法方法名说明__str__用于返回对象的描述__iter__使类可以迭代__getitem__按照下标获取类元素,例如
- <?php header(“Content-Type:text/html;charset=utf-8″); if (isset($_G
- 本文实例讲述了python获取各操作系统硬件信息的方法。分享给大家供大家参考。具体如下:1. windows使用WMI:(WMI官网地址:h
- PHP lcfirst() 函数实例把 "Hello" 的首字符转换为小写。:<?php echo lcfirst
- 有时在浏览网页时,常常因为网页中的图片文件过大而使下载时间较长,这样还没有下载完,就会有许多浏览者不耐烦地拂袖而去,从而损失了客户流。但要使
- Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的
- 一、首先理解下面几个函数设置变量 length()函数 char_length() replace() 函数 max() 函数1.1、设置变
- mongodb是基于分布式文件存储的nosql(非关系型)数据库虽说是nosqldb, but mongodb 其中的文档可以是关系型的在m
- 话说网站首页是用.NET语言写的,而二级栏目页却是用ASP写的,然后再配上众多全手工的静态专题页,整个网站形成了一个大杂烩。想要在这大杂烩中
- fso对象CreateTextFile方法调用时可能会报“无效的过程调用或参数”错误,在使用ASP生成静态页面时,如果传入的字符串参数编码为
- 触发器的概念:“在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。”(Wikipedia)说得简单一些,它是在一个特殊的数据库事