Martin

爱设计,爱创造|To design and create

python学习笔记(一)

开个头

记录并分享一下自己学习第一门编程语言Python时所做的一些笔记,都是基础。大部分源自O社出版的老鼠书《Python学习手册》。

如果你想入门编程,先从Python开始吧。

对象可变性与不可变性

数字、元组、字符串是不可变性,列表和字典是可变性

示例(shell模式):

1
2
3
4
5
6
7
In []:S
Out[]:'Spam‘
In []:S[0] = 'z'
Out[]:......error
In []:S = 'z' + S[1:]
In []:S
Out[]:'zpam'

不能通过对其某一位置进行赋值而改变字符串,但可以通过建立一个新的字符串并以同一个变量名对其进行赋值,这就是不可变性———在创建后不能就地改变。

str与repr显示格式

从技术上来说,默认的交互模式回显和打印的区别就相当于内置repr和str函数的区别。

示例(shell模式):

1
2
3
4
5
In [1]:num = 1 / 3
In [2]:repr(num)
Out[2]:'0.33333333333333331
In [3]:str(num)
Out[3]:'0.333333333333'

str用于一般用途,repr用于额外细节。

传统除法、floor除法和真除法

X / Y:
传统除法和真除法。在Python2.x版本中,这个操作对于整数会省去小数部分,对于浮点数会保持小数部分。在Python3.x中将会变成真除法(无论任何类型都会保持小数部分)。

X//Y:
floor除法。在Python2.2中新增的操作,在Python2.x和Python3.x中均能使用。这个操作不考虑操作对象的类型,总会省略掉结果的小数部分,剩下最小的能整除的整数部分。

示例(shell模式):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%python3.x
In [4]:(5/2),(5/2.0),(5/-2.0),(5/-2)
Out[4]:(2.5,2.5,-2.5,-2.5)
In [5]:(5//2),(5//2.0),(5//-2.0),(5//-2)
Out[5]:(2,2.0,-3.0,-3)
In [6]:(9/3),(9.0/3),(9//3),(9//3.0)
Out[6]:(3.0,3.0,3,3.0)


%python2.x
In [7]:(5/2),(5/2.0),(5/-2.0),(5/-2)
Out[7]:(2,2.5,-2.5,-3)
In [8]:(5//2),(5//2.0),(5//-2.0),(5//-2)
Out[8]:(2,2.0,-3.0,-3)
In [9]:(9/3),(9.0/3),(9//3),(9//3.0)
Out[9]:(3,3.0,3,3.0)

十六进制(0x)、八进制(0o)和二进制计数(0b)

示例(shell模式):

1
2
3
4
5
6
7
8
9
10
11
12
In [10]:0o1,0o20,0o37
Out[10]:(1,16,255)
In [11]:0x01,0x10,0xFF)
Out[11]:(1,16,255)
In [12]:0b1,0b10000,0b11111111
Out[12]:(1,16,255)
In [13]:oct(64),hex(64),bin(64)
Out[13]:('0o100','0x40','0b1000000')
In [14]:int('64'),int('100',8),int('40',16),int('1000000',2)
Out[14]:(64,64,64,64)
In [15]:int('0x40',16),int('0b1000000',2)
Out[15]:(64,64)

Proudly powered by Hexo and Theme by Hacker
© 2021 Martin Yong