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还内置了复数的支持,使用j
或J
表示虚数部分(如 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, 1
和a, b = b, a + b
,这种赋值方式 a和b可以分别得到0和1,后一句同理。print(b, end=',')
设置print结束符,默认是回车,这里用 ',' ,所以结果没用换行,在同一行显示。