Python入门(3)——基本数据类型及运算符

时间:2022-11-25 14:01:23

常见的几种基本数据类型



python是弱类型语言,相对于强类型语言,它不需要声明变量的类型。在Python中一切都是对象。可以使用id()函数查看此对象的id。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点以后会讲到),我们先介绍几种常用的基本数据类型。可以使用type()函数查看变量类型。


01

整数型(int)


Python中可以处理任意大小的整数,支持二进制(如0b100)、八进制(如0o100)、十进制(100)和十六进制(0x100)的表示法。

例如:-1,0,1,2,0b101,0o101,0x101

接下来我们进行测试。在IDLE中输入以下代码,会把相应进制数转换为十进制在屏幕上输出。

>>> 345     # 十进制
345
>>> 0b101 # 二进制
5
>>> 0o10 # 八进制
8
>>> 0x11 # 十六进制
17
>>> type(123) # 获取参数类型
<class 'int'>


02

浮点数型(float)


浮点数也就是小数,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.234e2),e2指的是10的2次方。

例如:-1.2,5.6,2e3(2000.0)

>>> -1.3    # 数学写法
-1.3
>>> 2.3e2 # 科学计数法
230.0
>>> type(2.3e2)
<class 'float'>


03

复数型(complex)


跟数学上的复数表示一样,但是虚部的i换成了j。

例如:1+2j,3+4j

>>> 5 + 3j
(5 + 3j)
>>> 2 + 1j + 3 + 4j
(5+5j)
>>> type(5 + 3j)
<class 'complex'>


04

布尔型(bool)


布尔值只有True、False两种值(请注意大小写)。

>>> True
True
>>> type(True)
<class 'bool'>



05

字符串型(str)


字符串是以单引号 或双引号 括起来的任意文本,字符串有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,可以书写成多行的形式(用三个单引号 ''' 或三个双引号 """ 开头,三个单引号或三个双引号结尾)。

例如:'abc',"def"

>>> 'asd123'
'asd123'
>>> type('asd123')
<class 'str'>
>>> '''asd
zxc
vbn'''
'asd\nzxc\nvbn'


运算



数学运算符



优先级从高到低

操作符

操作

例子

结果

**

指数

2 ** 4

16

%

取余数/取模

15 % 2

1

//

整除/商数取整数

15 // 4

3

/

除法

15 / 4

3.75

*

乘法

3 * 6

18

+

加法

1 + 2

3

-

减法

2 - 1

1


在运算中,只要有操作数为浮点数,python默认得到的总是浮点数。

将任意两个数相除时,结果总是浮点数。

在写很大的数时,可以使用下划线将其中的数字分组,但打印此数时,python不会打印下划线。

>>> 2 ** 4  # 指数
16
>>> 15 % 2 # 取余数
1
>>> 15 // 4 # 整除
3
>>> 3 * 6 # 乘法
18
>>> 15 / 4 # 除法
3.75
>>> 1 + 2 # 加法
3
>>> 2 - 1 # 减法
1
>>> x = 10_000_000_000
>>> print(x)
10000000000



赋值运算符



赋值运算符应该是最为常见的运算符,它的作用是将右边的值赋给左边的变量。在上面的变量赋值已经演示过这里就不再赘述。



比较运算符



比较运算符也称为关系运算符,包括 == 、 != 、 、 、 <= 、 >= 。比较运算符会产生布尔值,要么是 True 要么是 False 

>>> 1 < 4
True
>>> 4 != 4
False



逻辑运算符



逻辑运算符有 and 、 or 和 not 

and即逻辑与运算。如果两个布尔值都是True,那么运算的结果就是True;左右两边的布尔值有一个是False,最终的运算结果就是False。如果and左边的布尔值是False,不管右边的布尔值是什么,最终的结果都是False,所以在做运算的时候右边的值会被跳过。

or即逻辑或运算。如果左边的布尔值为True,那么最终的结果就是True,右边的表达式不会执行。

not即逻辑非运算。作用是取与该布尔值相反的值,也就是说,后面的布尔值如果是True运算结果就是False,而后面的布尔值如果是False则运算结果就是True




位运算符



位运算符 有按位与、 按位或、 按位异或、 按位取反四种。

>>> a = 0b0011 1100
>>> b = 0b0000 1111
>>> bin(a&b) # 求a按位与b的二进制值
'0b1100'
>>> bin(a|b) # 求a按位或b的二进制值
'0b111111'
>>> bin(a^b) # 求a按位异或b的二进制值
'0b110011'
>>> bin(~a) # 求a按位取反的二进制值
'-0b111101'


注释


单行注释


python中单行注释以 号开头,在#号后面跟的内容会被python解释器忽略,不执行当前行#号后面的语句。

例如下面的代码执行后会打印出HelloWorld。

print("Hello");print("World")


Python入门(3)——基本数据类型及运算符

而下面的代码执行后只会打印Hello。

print("Hello")#;print("World")

Python入门(3)——基本数据类型及运算符


当然,上面的例子只是为了说明#号后面的代码不被执行,写注释主要目的还是应该阐述代码要做什么以及如何做。




多行注释


多行注释也可以使用 号,只不过要在注释的每行前都加上#号。当然,也可以使用多行注释符号 ''' 或者 """ 

Python入门(3)——基本数据类型及运算符

Python入门(3)——基本数据类型及运算符