`
t289571130c
  • 浏览: 15793 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

字符串索引Python Tutorial(三):一个对Python的非正式介绍 字符串索引

阅读更多

新手发帖,很多方面都是刚入门,有误错的地方请大家见谅,欢迎批评指正

    在接下来的例子中,入输和输出将通过是不是有示提符(>>>和...)来行进辨别。要重做示例,当示提符涌现后,你入输有所的容内都必须在示提前面。是凡不以示提符开始的行都是从解释器输出的容内。如果一行只有一个第二示提符本身,意味着你必须入输一个空行,这是用来束结一个多行令命。

    这个手册面里含包多许例子,还有注释。注释在Python面里以#字符开始,直到本行束结。注释可以涌在现一行的开始处,或者跟在空格和代码前面,不在字符串字面量值面里。字符串字面量值面里的#字符就是一个#字符。因为注释使代码更加清晰,其实不被Python解释,当你重做这些示例时可以省略它们。

    一些示例:

    

    

3.1 应用Python作为一个盘算器

    让我们实验一些简略的Python令命。启动解释器并等待主示提符(>>>)。

    

3.1.1 数字

    解释器就像一个盘算器,你可以入输一个表达式,它会盘算出值。表达式法语较比直白,操纵符+ - * /和其它大多数语言中的一样。括号可以用来组分。例如:

    

    意注:你可能看到的并非这个结果。浮点数结果在不同的器机上可能不同。稍后我们将会分析更多关于控制浮点数输出表现的容内。

    为了现实整数想除,弃丢小数分部,取得整数结果,应用另一个操纵符//:

    

    等号(=)是用来把一个值赋给一个变量,然后,在下一个示提符之前没有结果表现:

    

    一个值可以同时赋给多个变量:

    

    变量在应用前必须定义(赋给一个值),否则错出:

    

    操纵符完整支撑浮点运算,当混合型类的操纵数同时涌现会把整型转化为浮点型:

    

    单数一样被支撑,虚部带一个缀后j或J,带有一个非零实部的单数表示为(real+imagj),或者被建创为complex(real,imag)函数。

    

    单数是总被表示为两个浮点数,实部和虚部,从单数z中抽出这两分部应用z.real和z.imag。

    

    浮点型和整型的转换函数对于单数其实不实用,把一个单数转换为一个实数并非一个确正的做法。应用abs(z)取得它的数量值或z.real取得它的实部:

    

    在交互式模,最后一个打印的表达式的值将被赋给_(下划线)。这意味着当你把Python用作面桌盘算器时,在某种程度上使得续继盘算变得更加易容,例如:

    

    这个变量应该被作当读只的,不要给它式显值赋,你可以建创一个同名的地本变量遮住建内的变量和其魔力行为。

    

3.1.2 字符串

    除了数字外,Python也可以操纵字符串,有几种表示式方。可以被单引号或双引号括住:

    

    解释器以和入输一样的式方打印出字符串操纵的结果,在引号面里,包含引号和其它趣有的被反斜线义转的字符,来表现确精的值。如果一个字符串面里含包单引号但不含包双引号,那这个字符串就用双引号包含,相反就用单引号来包含。print()函数为这些入输字符串发生一个更加可读的输出结果。

    字符串字面量值可以应用几种式方来跨横多行。续继行可以被应用,行在的末端加一个反斜线来指示下一行在逻辑上是这一行的续继:

    

    意注,新行仍然需要被嵌入到字符串中,应用\n,行在末反斜线前面的新行将被弃丢(敲回车时发生的换行符)。示例输出一下容内:

    

    或者字符串也可以被一对匹配的三个引号围包,"""或'''(三个双引号或单引号),行束结符不需要义转,但是它们会被含包在字符串中。所以面下示例应用一个义转来防止一个不希望的初始空白行。

    

    发生一下输出:

    

    如果我们把字符串字面量值作为“原始”字符串,\n将不再被转化为新行,行末的反斜线,换行符都将作为数据被含包在字符串中。因此,示例:

    

    将打印出:

    

    字符串可以应用+来接连,*来重复:

    

    两个相邻的字符串字面量值将主动被接连;面上示例中的第一行也可以被写成 word = 'Help' 'A';只有在两个字面量时才起作用,其它意任的字符串表达式都不行:

    

    字符串可以通过下标行进索引,第一个字符的下标是0。没有独自的字符型类,一个字符就是长度为一的字符串。就像在符图编程语言中,子字符串可以通过片切的标法记来指定,被冒号分割的两个索引。

    

    片切索引有具有效的默许值,第一个索引被疏忽时默许为0,第二个索引被疏忽时默许是字符串的长度。

    

    Python字符串不能被转变,向一个指定索引位置值赋会致导误错:

    

    然而,应用结合的容建内创一个字符串是简略和有效的:

    

    这是一个有效的变不的片切操纵,s[:i] + s[i:] 即是 s。

    

    不正常的片切索引可以被很好的处置,一个索引如果太大会被替换为字符串的长度,如果上界比下界小的话返回空字符串。

    

    索引可是以数负。这样是从侧右开始计数。例如:

    

    但是-0其实就是0,所以它其实不从侧右开始计数。

    

    越界的数负片切索引会被截断,但是这类情况在只有一个元素(非片切)的索引时是误错的:

    

    一种住记片切如何作工的式方是把索引作当字符面里的点,第一个字符的左缘边被标记为数字0,一个长度为n的字符串的最后一个字符的右缘边有具的索引是n,例如:

    

    第一行的数字给出了索引0..5在字符串中的位置。第二行给出了响应的数负索引。从i到j的片切由标记为i和j缘边之间的有所字符构成。

    对于非负索引,片切的长度就是索引的差值,如果它们都在边界内之。例如,word[1:3]的长度是2。

    建内函数len()返回字符串长度:

    

    

3.1.3 关于Unicode

    从Python3.0开始,有所的字符串都支撑Unicode。

    Unicode的处好就是为在现和从前的每个脚本面里的每个文本字符都供提一个序数。之前,对于脚本字符只有256个可能的序数。文本被界限在一个代码页,它把序数映射到脚本字符。这致导多许乱混尤其是谈到软件国际化的时候。Unicode处理了这些问题,通过为有所的脚本只定义一个代码页。

    如果你想在字符串面里含包一个特别的字符,你可以应用Python的Unicode义转编码来实现它。面下的示例表现如何做:

    

    义转序列\u0020表示在指定位置插入一个Unicode字符,它的序值数是0x0020(空格)。

    其它的字符应用它们各自的序值数直接作为Unicode序值数来行进解释。如果你有一些字符串字面量值是应用多许西方国家的Latin-1编码的,你会现发它非常便利,因为Unicode的低256个字符和Latin-1的256个字符一样。

    除了这些标准编码外,Python供提了一个全部的以一个已知编码为基础建创Unicode字符串的其它式方的集合。

    把字符串应用指定的编码转换为字节序列,字符串对象供提了一个encode()方法,带有一个参数,是编码的名字。编码名称最好应用小写。

    

    

3.1.4 列表

    Python有多许复合数据型类,用来对其它的值行进组分。用途最多的是列表。它可以表示为写在中括号面里被逗号分割的项。列表面里的项不需要都是相同型类。

    

    和字符串的索引一样,列表的索引从0开始,可以被片切,接连等:

    

    有所的片切操纵返回一个新的含包请求元素的列表。这意味着面下的片切返回一个列表a的浅拷贝:

    

    字符串的值不可转变,不同的是列表的元素可以单个的转变:

    

    也可以对一个片切行进值赋,这样可以转变列表的长度或将其整个清空:

    

    建内的len()函数一样实用于列表:

    

    列表可以嵌套(列表含包其它列表),例如:

    

    可以在列表的尾部添加元素:

    

    意注:最后一个示例中,p[1]和q引用同一个对象。

    

3.2 迈向编程的第一步

    当然,我们可以应用Python来实现比把两个东西相加更复杂的任务。例如,我们可以初始化一个斐波那契数列。如下:

    

    这个示例含包几个新的特性。

    

  • 第一行含包一个多个值赋,变量a和b同时取得新值0和1。最后一行再次应用,演示了在任何一个值赋操纵发生前右边的有所表达式首先被盘算。右边的表达式的盘算顺序是从左到右。

  • 只要条件(这里是b < 10)仍然是true,while循环就执行。在Python里,就像C语言,一个非零的整值数为true,零是false。条件也可是以字符串或列表,事实上,对于任何序列,只要长度不是零就都是true,空的序列是false。示例面里的测试是一个简略的较比。标准较比操纵符的写法和C里的一样,<(小于)>(大于)==(即是)<=(小于即是)>=(大于即是)!=(不即是)。

  • 循环体是缩进的,缩进是Python用来组分语句的式方。在交互示提符,对于缩行进你不得不键入一个tab或几个空格。在实际操纵中,你需要一个文本编辑器来准备更加复杂的入输。有所的较比好的文本编辑器都有主动缩进的功能。当一个复合的语句被交互式的入输时,必须后跟一个空行来指示实现(因为解析器无法猜测你什么时候入输最后一行)。住记,一个基本块里的每一行都必须缩进相同的数量。

  • print()函数输出传递给它的表达式的值。它不同于你希望输出表达式的式方,它处置多个表达式,浮点数,字符串。字符串输出是不带引号,但包含字符之间的空格,你可以很好的格式化字符串。像这样:

    关键字end可以用来在输出之后防止发生新行,或以一个不同的字符串束结输出:

    本文是对官方网站容内的翻译,原文地址:http://docs.python.org/3/tutorial/introduction.html

文章结束给大家分享下程序员的一些笑话语录: N多年前,JohnHein博士的一项研究表明:Mac用户平均IQ要比PC用户低15%。超过6000多的参加者接受了测试,结果清晰的显示IQ比较低的人会倾向于使用Mac。Mac用户只答对了基础问题的75%,而PC用户却高达83%。

分享到:
评论

相关推荐

    Python Tutorial Python入门指南

    例如,Python 2.x 中的字符串有两种类型:`str`(字节串)和 `unicode`(Unicode字符串),而在Python 3.x中,所有字符串都是Unicode。此外,Python 2.5的`print`还是语句,而在Python 3.x中已转换为函数。 总之,...

    Python Tutorial Python

    综上所述,"Python Tutorial Python"是一个面向初学者的Python编程教程,涵盖了Python的基础知识、进阶特性以及特定版本的特性介绍,对于想要学习Python的人来说是一份宝贵的资源。通过学习这个教程,你可以系统地...

    Python Tutorial Python 入门指南

    Python Tutorial Python 入门指南

    《Python Tutorial Python》PDF

    《Python Tutorial Python》这本书是Python编程语言的一份详尽指南,特别适合初学者和有一定基础的开发者使用。PDF格式使得这份教程可以方便地在各种设备上阅读和打印,便于学习和参考。 Python是一种高级编程语言...

    Python Tutorial中英双语对照文档.md

    本文档根据官方文档 http://www.pythondoc.com/pythontutorial3/ 和 中文文档 http://www.pythondoc.com/pythontutorial3/ 翻译与整理

    Python Tutorial 3.8.1教程中文.pdf

    Python Tutorial 3.8.1教程中文 官方文档 Python Tutorial 发布3.8.1 Guido van Rossum and the Python development team 二月06, 2020 Python Software Foundation Email: docs@python.org

    The Python Tutorial for python-2.7.6

    The Python Tutorial --python 的官方手册,建议大家好好读,也可以下载中文版学习!

    Hands on Python Tutorial

    - 字符串处理:覆盖了字符串的基础知识和操作,如字符串的拼接、截取、格式化等。 - 列表和元组:解释了列表和元组的使用,以及它们在Python中的特性和用法。 - 字典:讲解了字典的创建、操作和应用,强调了字典...

    pythontutorial3手册

    Python的基础语法包括变量赋值、数据类型(如整数、浮点数、字符串、布尔值)、注释和空格缩进。了解这些基本元素是学习Python的第一步。 2. **控制流** 学习如何使用条件语句(if/elif/else)进行逻辑判断,以及...

    python_tutorial 入门

    Python基础语法包括了创建一个简单的Python程序。一个Python程序由函数、语句、表达式等构成,遵循缩进规则来定义代码块。Python有交互式解释器,允许用户在命令行界面中直接输入并执行Python语句。用户还可以从...

    Python3.0 Tutorial 简体中文版

    - **字符串操作**:Python 提供丰富的字符串处理功能,如格式化输出、字符串连接、查找、替换等。 - **面向对象编程**:理解类(class)、对象(object)的概念,以及继承(inheritance)、多态(polymorphism)和...

    Python Tutorial 3.73最新中文版

    7. **标准库的使用**:Python拥有丰富的标准库,包括网络编程、数据库接口、XML处理、日期时间处理等,教程会介绍一些常用模块的使用方法。 8. **Python 3.73新特性**:讲解3.73版本引入的新功能,比如数据类(data...

    Python 2.7 Tutorial 中文版-135页

    Python 2.7 是 Python 的一个稳定版本,提供了许多有用的特性和工具,本 Tutorial 将指导您如何使用 Python 2.7 进行编程。 使用 Python 解释器 -------------------- Python 解释器是一个交互式的 shell,允许您...

    Python入门 PythonTutorial

    #### 三、An Informal Introduction to Python(Python非正式入门) - **Using Python as a Calculator**:利用Python作为计算器进行基本数学运算。 - **First Steps Towards Programming**: - **变量与数据类型*...

    python学习文档tutorial.pdf

    这份"Python学习文档"提供了一个全面的教程,适合初学者和有一定经验的开发者。让我们一起深入探讨其中的关键知识点。 首先,Python解释器是运行Python代码的引擎。你可以通过命令行调用解释器,如`python`或`...

    python_tutorial

    教程介绍了编写第一个Python程序的方法,并详细说明了Python的标识符、关键字、代码缩进、多行语句以及注释的使用。例如,在Python中,代码块的开始和结束由缩进来标识,而不是像其他语言中的花括号。此外,Python...

    ultra-tutorial_python教程_python教程_

    - **列表**:Python的列表是动态大小的有序集合,支持索引和切片操作。 - **元组**:元组是不可变的有序集合,常用于数据结构的表示。 6. **字典与集合** - **字典**:字典是键值对的无序集合,通过键进行访问。...

    python-3.6.1 Tutorial

    #### 三、Python非正式入门 **An Informal Introduction to Python(Python非正式入门)** - **Using Python as a Calculator(将Python用作计算器)** - 展示如何利用Python进行基本的数学计算。 - 涉及加减...

    ADO Programming with Python Tutorial

    通过设置正确的连接字符串,你可以打开到特定数据库的连接。例如: ```python import pythoncom from win32com.client import Dispatch conn = Dispatch("ADODB.Connection") conn.Open("Provider=MSDASQL;DSN...

Global site tag (gtag.js) - Google Analytics