从零开始学 Python 之字符串

前言

大家好,这里是「痴海」从零开始学习 Python 系列教程。此文首发于「痴海」公众号,欢迎大家去关注。学习一门语言最好的办法,就是教懂别人。在这公众号,我会从 Python 最基础的教程写起,慢慢一步步进阶。写这教程同时也是我自己对于 Python 知识的复习巩固。喜欢的朋友可以点击关注,一到周五每天更新 Python 相关知识,周六周日则会写关于认识一些的文章。话不多说,开始今天的知识。

Python3 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'var2 = "Runnoob"复制代码

Python 访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方法括号来截取字符串,如下实例:

var1 = 'Hello World!'var2 = "Runoob"print("var1[0]", var1[0])print("var2[1:5]:", var2[1:5])复制代码

Python 字符串更新

你可以截取字符串的一部分并与其他字符拼接,如下实例:

var1 = 'Hello World!'print("已更新字符串:", var[:6] + 'Runoob!')复制代码

Python 转义字符

在需要在字符中使用特殊字符时,python 用反斜杆(\)转义字符。

转义字符

Python 字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

字符串运算符

实例:

a = "Hello"b = "Python"print("a + b 输出结果:", a + b)print("a * 2 输出结果:", a * 2)print("a[1] 输出结果:", a[1])print("a[1:4] 输出结果:", a[1:4])if( "H" in a) :    print("H 在变量 a 中")else :    print("H 不在变量 a 中")if( "M" not in a) :    print("M 不在变量 a 中")else :    print("M 在变量 a 中")print (r'\n')print (R'\n')复制代码

输出结果:

a + b 输出结果: HelloPythona * 2 输出结果: HelloHelloa[1] 输出结果: ea[1:4] 输出结果: ellH 在变量 a 中M 不在变量 a 中\n\n复制代码

Python 字符串格式化

Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法时将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

实例:

#!/usr/bin/python3print ("我叫 %s 今年 %d 岁!" % ('小明', 10))复制代码

以上实例输出结果:

我叫 小明 今年 10 岁!复制代码

python 字符串格式化符号:

字符串格式化符号

格式化操作符辅助指令:

格式化操作符辅助指令

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

Python 三引号

python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

实例:

#!/usr/bin/python3para_str = """这是一个多行字符串的实例多行字符串可以使用制表符TAB ( \t )。也可以使用换行符 [ \n ]。"""print (para_str)复制代码

输出结果:

这是一个多行字符串的实例多行字符串可以使用制表符TAB (    )。也可以使用换行符 [  ]。复制代码

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式时所谓的 WYSIWYG (所见即所得)格式的。

一个典型的用例是,当你需要一块 HTML 或者 SQL 时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

errHTML = '''<HTML><HEAD><TITLE>Friends CGI Demo</TITLE></HEAD><BODY><H3>ERROR</H3><B>%s</B><P><FORM><INPUT TYPE=button VALUE=BackONCLICK="window.history.back()"></FORM></BODY></HTML>'''cursor.execute('''CREATE TABLE users (  login VARCHAR(8), uid INTEGER,prid INTEGER)''')复制代码

Unicode 字符串

在 Python2 中,普通字符串是以 8 位 ASCII 码进行存储的,而 Unicode 字符串则存储位 16 位 unicode 字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。

在 Python3 中,所有的字符串都是 Unicode 字符串。

Python 的字符串内建函数

Python 的字符串常用内建函数如下:

字符串内建函数
字符串内建函数
字符串内建函数
字符串内建函数
字符串内建函数
字符串内建函数

写在最后

至此「从零开始学习 Python:Python 基础篇」就已结束。给自己三分钟的时间,闭上眼来回想下,今天这篇你都学习到了什么。

如果你按我说的去做,你会发现你只能回忆起一些内容,很难把全部的知识都记住。这是非常正常的情况,所以需要你温故而知新,时常回顾。在最后我把今天的知识点做出思维导图送给大家。欢迎大家去关注公众号「痴海」。本系列教程会首发于公众号。

20180330

从零开始学 Python 之字符串相关推荐

  1. 怎么从0开始学python_如何从零开始学python

    如何从零开始学python?书声琅琅培训老师介绍,零基础的朋友学python相对来讲难度要大,但是很多python大牛都是从零基础上来的,对于这些python大牛来讲,参加合理的培训指导和有一套pyt ...

  2. 从零开始学python电子书-从零开始学Python程序设计 PDF 完整影印版

    给大家带来的一篇关于Python零基础相关的电子书资源,介绍了关于从零开始.Python.程序设计方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小172 MB,吴惠茹编写,目前豆瓣.亚马 ...

  3. 从零开始学python | 什么是Python JSON?

    本文分享自华为云社区<从零开始学python | 什么是Python JSON以及如何实现?>,原文作者:Yuchuan . 您知道如何从在线API传输数据或将各种数据存储到本地计算机吗? ...

  4. 从零开始学习python编程-从零开始学Python程序设计 PDF 完整影印版

    给大家带来的一篇关于Python零基础相关的电子书资源,介绍了关于从零开始.Python.程序设计方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小172 MB,吴惠茹编写,目前豆瓣.亚马 ...

  5. 从零开始学 Python 之基础篇

    从零开始学 Python 之基础篇 前言 大家好,这里是「痴海」从零开始学习 Python 系列教程.此文首发于「痴海」公众号,欢迎大家去关注.学习一门语言最好的办法,就是教懂别人.在这公众号,我会从 ...

  6. 从零开始学Python练习题(一)

    ##从零开始学Python练习题(一)--深度之眼练习题打卡 1.写一个用户登录认证的程序,比如用户名是"Albert",密码是"1",请用户分别输入用户名和密 ...

  7. 从零开始学python大数据与量化交易下载_GitHub - mignonwong/Python-100-Days-1: Python - 100天从新手到大师...

    Python - 100天从新手到大师 作者:骆昊 说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解.最近把基础部分的内容重 ...

  8. 从零开始学python大数据与量化交易下载_GitHub - zhaojie1126/Python-100-Days-1: Python - 100天从新手到大师...

    Python - 100天从新手到大师 作者:骆昊 说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解.最近把基础部分的内容重 ...

  9. 从零开始学python大数据与量化交易下载_GitHub - Lid23/Python-100-Days: Python - 100天从新手到大师...

    Python - 100天从新手到大师 作者:骆昊 说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解.最近把基础部分的内容重 ...

最新文章

  1. python中pygame模块的Linux下安装过程
  2. 注册表故障恢复 必须使用记录或另一备份以恢复包含系统注册表数据的文件。恢复成功...
  3. return 关键字
  4. Qt5.12过时的类
  5. 关于MultipleOutputFormat若干小记
  6. Vue及React脚手架安装
  7. C++继承详解三 ----菱形继承、虚继承
  8. android dialog 点击确定不消失,AlertDialog点击按钮不消失的实现方法
  9. U盘拒绝访问怎么办 快速方法解决U盘问题
  10. LeetCode 792. 匹配子序列的单词数(Number of Matching Subsequences)
  11. mysql in 文本_MySQL_mysql 的load data infile,LOAD DATA INFILE语句从一个文本文 - phpStudy...
  12. 【转】Galileo伽利略项目-- 数字城市规划和基础设施建模
  13. css入门自学笔记1
  14. 思杰新年动作片 | 超融合+公有云桌面虚拟化大战 VMware+AWS
  15. 【数学分析笔记01】平均值不等式证明
  16. 再理解:LNode、*LinkList
  17. PxCook的基本使用
  18. Python数据可视化交互基本
  19. 学习《图说设计模式》观察者模式
  20. 在局域网内主动封堵BT下载使用

热门文章

  1. [unreal4入门系列之十四] 在UE4中添加碰撞触发事件
  2. 日本CG大神又整活了!3D建模软件拿来搞面部实时捕捉,网友:效果好得有点吓人...
  3. CES线下展回归在即:飞行汽车外骨骼智能戒指吸足眼球
  4. 代码改动两三行,AI数据秒换隐身衣!隐私计算+AI?中科院博士实践分享一键切换...
  5. 百度Q2扭亏为盈,市值一夜大涨300亿,李彦宏:呼唤猛将雄兵,要再上行业之巅...
  6. 华为200W年薪应届博士刷屏后,快手拉出了一个排的顶级名校工程师
  7. Android笔记:防反编译、代码混淆中,解决第三方jar包不被混淆的一些心得,及gson防混淆方法...
  8. 解读Windows更新下载器文件列表(推荐)
  9. UVA 315 :Network (无向图求割顶)
  10. nginx禁止未绑定域名访问返回444