Python基础03-基本数据类型和简单运算

2017-02-16 17:39:08

数学运算

数字的运算规则(+ - * / %)和其他语言一样,()可改变优先级。(#后边的内容为注释)

>>>2 + 2
4
>>>50 - 3 * 6
32
>>>(3 + 2 * 4) / 5
2.2
>>>13 / 4
3.25
>>>13 % 4   #取余
1
>>> 2 ** 4  #2的4次方
16
>>> 10 ** 3 #10的立方
1000

除法(/)总是返回float值,如果希望返回int值,使用//

>>>13 // 4
3

变量

Python的变量不需要声明,你可以直接输入:

>>>width = 100
>>>height = 55
>>>width * height
5500
>>>type(width) #type返回变量的类型
<class 'int'>
>>>width = 10.2 #变量可以直接赋值不同的类型数据
>>> width * height
561.0

在交互模式下,最后输出的表达式赋值给了变量_ ,也就是说,可以直接使用上边输出的结果。该变量对用户只读,不能对变量 _ 显示赋值,那会创建一个局部变量覆盖内置变量。

>>> 2 * 3
6
>>>_ + 5
11
>>>a = 13
>>>a + _
24

数字Number

除了int和float,Python还支持其他类型的数字,比如小数(Decimal)和分数(Fraction),Python还内置了复数的支持,使用jJ表示虚数部分(如 2+3j)。

字符串String

Python字符串使用单引号('...')或者双引号("...")表示,这两种方式是一样的,字符串中出现的单引号或双引号使用 \ 转义。

>>>'abc'
'abc'
>>>"abc"
"abc"
>>>'abc\'def'
"abc'def"
>>>print('C:\some\name') #这里\n代表换行
C:\some
ame
>>>print(r'C:\some\name') #如果不希望\被转义,在字符串前边加 r
C:\some\name

字符串支持多行文本,使用"""..."""或者'''...'''定义。\是为了避免第一行自动加一个闭合)

>>>print("""\
... abc
... ddd
... xxxx xxx""")
abc
ddd
xxxx xxx

字符串可以连接可以用 +,重复使用 *。

>>>3 * 'a' + 'b'
'aaab'
>>>a='x'
>>>3 * a + "b"
'xxxb'

字符串可以使用索引获取指定字符,索引从0开始。

>>>a = "abcdefg"
>>>a[0]
'a'
>>>a[3]
'd'
>>>a[1:3] #从位置1(包括1)到3(不包括3)
'bc'
>>>a[2:] #从2(包括2)到最后
'cdefg'
>>>a[:4] #从0到最后4(不包括4)
'abcd'
>>>len(a) #获取字符串长度
7

字符串是不可变的,所以a[3]只能取值,a[3]=5是错误的。

列表List

list是可变的,可以对指定索引项进行赋值操作。

>>>list = [2, 5, 8, 3, 6, 9, 13]
>>>list
[2, 5, 8, 3, 6, 9, 13]
>>>list[3] #列表索引从0开始
3
>>>list[2]=18
>>>list
[2, 5, 18, 3, 6, 9, 13]
>>>list[1:]
[5, 18, 3, 6, 9, 13]
>>> list[:3]
[2, 5, 18]
>>>list[:]
[2, 5, 18, 3, 6, 9, 13]
>>>list + [3, 19, 28] #这里只是拼接列表输出,list本身的值并没有变
[2, 5, 18, 3, 6, 9, 13, 3, 19, 28]
>>>list[1:3]=["a"]
>>>list
[2, 'a', 3, 6, 9, 13]
>>> len(list) #列表长度
6

一个小例子

打印斐波那契(Fibonacci)数列

>>> a, b = 0, 1
>>> while b < 10:
...     print(b, end=',')
...     a, b = b, a + b
...
1,1,2,3,5,8,

这个例子有一些新的内容:

  • a, b = 0, 1a, b = b, a + b,这种赋值方式 a和b可以分别得到0和1,后一句同理。
  • print(b, end=',') 设置print结束符,默认是回车,这里用 ',' ,所以结果没用换行,在同一行显示。