解释器就像一个简单的计算器:可以再其中键入一个表达式,然后他将写入该值。表达是的语法是直接的。=,-,*,/,就像在大多数语言中的使用方法一样;括号()可以用于分组
>>> 2 + 2
4
>>> 50 - 2 * 6
38
>>> (20 - 2 * 3 ) /4
3.5
>>> 8 / 5
1.6
除法始终返回浮点数。要进行floor division 并获得整数部分(舍弃小数结果)可以使用 // 运算符;计算余数可以使用 %
>>> 17 / 3
5.666666666666667
>>> 17 // 3
5
>>> 17 % 3
2
使用Python,可以使用 ** 运算符 来计算幂,
>>> 5 ** 2
25
>>> 2 ** 3
8
使用 = 来为变量进行赋值。
>>> width = 10
>>> high = 10
>>> width * high
100
如果使用未定义变量,会报错。
支持浮点;混合类型操作数的运算符,将整数操作数转换成浮点数
>>> 4 * 3.75 -1
14.0
在交互模式下,最后打印的表达式会被分配给变量 _ 。用户应将此变量视为只读,不要显示的给它赋值,(不要用显示的局部变量覆盖内置变量)
>>> tax = 12.5 /100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_,2)
113.06
字符串有几种方式表示。可以用单引号(‘…’)或双引号("…")括起来,结果相同。\用于转义引号
>>> 'span eggs'
'span eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," they said.'
'"Yes," they said.'
>>> "\"Yes,\" they said."
'"Yes," they said.'
>>> '"Isn\'t," they said.'
'"Isn\'t," they said.'
>>>
在交互式解释器中,输出字符串用引号引起来,特殊字符用反斜杠专业。尽管有时候这可能与输入有所不同,单这两个字符串是等效的。如果字符串更包含单引号而不包含双引号,则将字符串括在双引号中;负责将其括在单引号中。该print()函数通过生气括号引号并输出转移的和特殊字符来陈胜更具有可读性的输出
>>> s = 'Frist line.\nSecond line.'
>>> s
'Frist line.\nSecond line.'
>>> print(s)
Frist line.
Second line.
如果不希望将开头的字符\解释为特殊字符,则通过第一引号之添加一个原始字符串r
>>> print('c:\some\name')
c:\some
ame
>>> print(r'c:\some\name')
c:\some\name
>>>
字符串文字可以跨越多行。一种方法是使用三引号“”“ … ”“” 。行位会子那个洞包括在字符串中。但是可以通过\在行尾 添加 a 来防止这种情况。
>>> print("""
... s
... s
... s""")
可以使用+运算符将字符串连接在一起,并使用*
>>> 3 * '1' + 'end'
'111end'
彼此相邻的两个或多个字符串文字会自动连接在一起
>>> 'Py''thon'
'Python'
>>>
当要断开长字符时,可以使用
>>> text = ('Put several string within parentheses'
... 'to hava them join together.')
>>> text
'Put several string within parenthesesto hava them join together.'
>>>
但是这个仅适用于两个文字,不适用于变量或者表达式
>>> pre = 'Py'
>>> pre'thon'
File "" , line 1
pre'thon'
^
SyntaxError: invalid syntax
>>> ('un'*3)'ium'
File "" , line 1
('un'*3)'ium'
^
SyntaxError: invalid syntax
如果想要连接变量或者变量和文字,请使用+
>>> pre + "thon"
'Python'
可以对字符串进行索引(带下表),第一个自读的索引为0.一个字符只是一个大小为1的字符串
>>> word = 'Python'
>>> word[0]
'P'
>>> word[5]
'n'
索引也可以是负数,一遍从右边开始计数
>>> word[-1]
'n'
>>> word[-6]
'P'
注意:由于-0和0相同,负索引从-1开始。
处理索引以为,还支持切片。虽然所用用于获取单个字符,但切片允许获得子字符串
>>> word[0:2]
'Py'
>>> word[:4]
'Pyth'
注意:包括开始不包括结束。这样可以确保始终等于:s[:i] + s[i : ]s
>>> word[:2] + word[2:]
'Python'
切片索引具有用用的默认值。省略的第一索引默认为0,省略的第二索引默认为要切片的字符串的大小。
>>> word[:2] # character from the beginning to position 2 (excluded)
'Py'
>>> word[4:] # characters from position 4 (included) to the end
'on'
>>> word[-2:] # characters from the second-last (included) to the end
'on'
切片如何工作的一种方式是将索引视为指向字符之间的执政,第一个字符的左边缘编号为0,然后,一个n个字符1的字符创的最后一个字符的右边缘具有索引n。
例如:
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
内置函数len()返回字符串的长度
>>> s = 'supercalifragilisticexpialidocious'
>>> len(s)
34
文字序列类型-str
字符串是序列类型的示例,并支持此类支持的常见操作。
字符串方法
字符串支持大量用于基本转换和搜索的方法。
格式化的字符串文字
具有嵌入式表达式的字符串文字。
格式字符串语法
有关使用格式化字符串的信息str.format()
。
printf样式的字符串格式
%
此处将详细介绍当字符串是运算符的左操作数时调用的旧格式操作。
Python只有很多复合数据类型,用于将其他值组合在一起。最通用的是list,可以将其携程方括号之间的,逗号分割值得列表。列表可能包含不同类型项目,但是同城所有项目都具有相同的类型。
>>> squares = [1,2,3,4,5]
>>> squares
[1, 2, 3, 4, 5]
像字符串一样,可以对列表进行索引和切片
>>> squares[0]
1
>>> squares[-1]
5
>>> squares[-3:]
[3, 4, 5]
所有切边操作都返回一个包含所请求元素的新列表。这意味着以下切片将返回列表的新(浅)副本
>>> squares[:]
[1, 2, 3, 4, 5]
列表还支持诸如串联的操作
>>> squares + [6,7,8,9,10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
与不可变字符串不同,列表时可变类型,即可以更改其内容
>>> cube = [1,2,3,46,5,7]
>>> cube[3] = 4
>>> cube
[1, 2, 3, 4, 5, 7]
还可以使用append()方法在列表的末尾添加新项
>>> cubes.append(216) # add the cube of 6
>>> cubes.append(7 ** 3) # and the cube of 7
>>> cubes
[1, 8, 27, 64, 125, 216, 343]
也可以分配给切片,甚至可以更改列表的大小或完全清除
>>> letters = ['a','b','c','d','e','f']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f']
>>> letters[1:3] = ['B','C']
>>> letters
['a', 'B', 'C', 'd', 'e', 'f']
>>> letters[:1] = []
>>> letters
['B', 'C', 'd', 'e', 'f']
>>> letters[:]=[]
>>> letters
[]
内置的len()也适用于列表
可以嵌套列表 (创建包含其他列表的列表),例如:
>>> a = ['a','b','c']
>>> n = [1,2,3]
>>> x = [a,n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[1]
[1, 2, 3]
>>> x[0][1]
'b'
>>> # Fibonacci series:
... # the sum of two elements defines the next
... a, b = 0, 1
>>> while a < 10:
... print(a)
... a, b = b, a+b
...
0
1
1
2
3
5
8
本示例介绍了几个新功能。
第一行包含多个赋值:变量a
并b
同时获得新值0和1。在最后一行,再次使用它,表明在任何赋值发生之前,首先对右侧的表达式进行了计算。 。右侧表达式从左到右计算。
while
只要条件(here :)保持为真,循环就会执行。在Python中,就像在C中一样,任何非零整数值都为true;零为假。条件也可以是字符串或列表值,实际上可以是任何序列;长度非零的任何内容为true,空序列为false。示例中使用的测试是一个简单的比较。标准比较运算符的编写方式与C相同:(小于),(大于), (等于),(小于或等于),(大于或等于)和(不等于)。a < 10``<``>``==``<=``>=``!=
循环的主体是缩进的:缩进是Python对语句进行分组的方式。在交互式提示下,您必须为每个缩进的行键入一个制表符或空格。在实践中,您将使用文本编辑器为Python准备更复杂的输入。所有体面的文本编辑器都具有自动缩进功能。以交互方式输入复合语句时,必须在其后跟随一个空行以指示完成(因为解析器无法猜测您何时键入了最后一行)。请注意,基本块中的每一行都必须缩进相同的数量。
关键字参数end可以用于避免在输出之后出现换行符,或以不同的字符串结束输出:
>>> a, b = 0, 1
>>> while a < 1000:
... print(a, end=',')
... a, b = b, a+b
...
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
的*:缩进是Python对语句进行分组的方式。在交互式提示下,您必须为每个缩进的行键入一个制表符或空格。在实践中,您将使用文本编辑器为Python准备更复杂的输入。所有体面的文本编辑器都具有自动缩进功能。以交互方式输入复合语句时,必须在其后跟随一个空行以指示完成(因为解析器无法猜测您何时键入了最后一行)。请注意,基本块中的每一行都必须缩进相同的数量。
关键字参数end可以用于避免在输出之后出现换行符,或以不同的字符串结束输出:
>>> a, b = 0, 1
>>> while a < 1000:
... print(a, end=',')
... a, b = b, a+b
...
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,