Python学习记录(基础

时间:2022-02-27 22:07:56

Python内建类型

主要的内建类型有数字、序列、映射、类、实例和异常

 

 

Python 数据类型

 

数字

整型Integers:进行的运算都是整数。如

>>>a = 10/3
>>>a
3

长整型Long Integers:长整型是整型的超集。即,长整型可以表示比整型更大的数。python的长整型能表达的数值跟电脑支持的(虚拟)内存有关。例如

>>>a = 123456L

浮点数 Floating Point Numbers:每个浮点型占8个字节(64位)。双精度浮点型。对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。有关浮点型的精度信息以及其在具体机器中的内部特性信息,可在sys.float_info中获取。

>>> float('+1.23')
1.23
>>> float(' -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf

 

复数 Complex Numbers:一个实数和一个虚数的组合构成一个复数。一个复数是一对有序浮点型(x,y),表示为x + yj,yj是虚数部分。现在虚数已经广泛应用于数值和科学计算应用程序中。

a = 1 + 2j
#复数的内建属性
a.real #实部
a.imag  #虚部
a.conjugate() #共轭根式
print(a.real)
print(a.imag)
print(a.conjugate())

运行结果:

  1.0
  2.0
 (1-2j)

Process finished with exit code 0

数据运算

所有的数值类型(复数除外)普通运算操作,我在这里写几种python独有的几个运算符。(注:所有的运算操作的优先级都比比较操作高):

地板除 //:舍去结果的小数部分,返回一个数字序列中比真正的商小的最接近的数字。

x = 5
y
= 2
>>>x//y
2

a = -1
b = 2
>>>a//b
-1

幂运算 **:它的执行优先级是比其左侧操作数的一元操作符优先级低,比其右侧操作数的一元操作符优先级高。

>>>9 ** 2
81
>>>-9 ** 2
-81

>>>(-9) ** 2 #括号提高执行优先级
81

>>>4.0 ** -1.0
0.25

位运算

位运算只适用于整型,标准的位运算:~取反, &与,|或,^异或。python的发明者是也是数学家,所以数学方面的运算符很多,而且用起来很方便。 还有就是 左移<<  和右移 >>。

二进制按位操作的优先级都低于数值运算,并高于比较运算;一元操作~具有与其他一元数字操作(+-)相同的优先级。

此表列出按升序排列的按位运算:

 

操作 结果
y x和y的按位
y x和y的按位异或
&amp; y x和y的按位
n x左移n位
>&gt; n x右移n位
~x 反转x的各个位

 

 

                                                                                                             Python学习记录(基础

#举个小栗子,剩下可以自己试试。

>>> a = 65
>>> b =46
>>> a & b
0
>>> a = 1
>>> b = 1
>>> a & b
1

关于二进制的左移右移运算,会牵扯出一些原码补码的问题。自己想理解的透彻一点,所以在这里留个白,以后补上 :)