python学习2023年12月6日

1. python3基本数据类型

原博客链接为:Python3 基本数据类型 | 菜鸟教程

这里补充一下,utf-8编码和unicode字符串的定义

python中变量不需要声明(类似于C语言里 int a=10这种)。

每个变量在使用前必须使用等号为其进行赋值,赋值的语法是:变量名 = 要赋予的值

例子如下:

#!/usr/bin/python3

counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "runoob"     # 字符串

print (counter)
print (miles)
print (name)

分别为变量counter, miles, name赋值为整数100, 浮点数1000.0,字符串"runoob"。

多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1
a, b, c = 1, 2, "runoob"

第一个表达式将a,b,c均赋值为1,第二个表达式,将对应位置的元素赋值给a, b, c

标准数据类型

python3 中常见的数据类型有:

  • Number(数字)
  • String(字符串)
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3的六个标准数据类型中:

不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)

可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)

此外还有一些高级的数据类型,如:字节数组类型(byte)。

Number(数字)

python3支持int、 float、 bool、 complex(复数)。

在python3中,只有一种整型就是int,表示长整型,没有python2的Long。

像大多数语言一样,数值类型的赋值和计算很直观。

type()可以用来查询变量所指的对象类型。

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
   

此外还可以用isinstance来判断:

>>> a = 111
>>> isinstance(a, int)
True
>>>

isinstance和type的区别在于:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。
>>> class A:
...     pass
... 
>>> class B(A):
...     pass
... 
>>> isinstance(A(), A)
True
>>> type(A()) == A 
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False

为什么上面四个公式的输出分别为True, True, True, False

第一个公式 isinstance(A(), A) 判断A()对象是否属于A类或其子类,由于A()本身就是A类的实例,因此返回True。

第二个公式 type(A()) == A 判断A()对象的类型是否为A类,由于A()的类型就是A类,因此返回True。

第三个公式 isinstance(B(), A) 判断B()对象是否属于A类或其子类,由于B()是B类的实例,而B类是A类的子类,因此返回True。

第四个公式 type(B()) == A 判断B()对象的类型是否为A类,由于B()的类型是B类,而B类不是A类,因此返回False。

注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

>>> issubclass(bool, int) 
True
>>> True==1
True
>>> False==0
True
>>> True+1
2
>>> False+1
1
>>> 1 is True
False
>>> 0 is False
False

python2中没有布尔型,用数字0表示False,1表示True

 上面七个式子,输出分别为True, True, True, 2, 1, False, False,原因是:

 Python 中的布尔类型(bool)是整数类型的子类,其中 True 对应的整数值为 1,False 对应的整数值为 0。因此,bool 类型可以和 int 类型相互转换和比较。但是,布尔类型的 True 和 False 对象和整数类型的 1 和 0 对象在内存中的位置不同,因此通过 is 进行比较时会返回 False。

is起到判断两个变量内存空间地址是否相同作用

当你指定一个值时,Number对象就会被创建:

var1=1
var2=10

也可以使用del语句删除一些对象引用

del语句的语法是:

del var1[, var2[, var3[...., varN]]]

其中方括号表示可选项,可以只删除一个变量或者删除多个变量。

del var
del var_a, var_b

使用del语句删除单个或多个对象

数值运算

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32
注意:
  • 1、Python可以同时为多个变量赋值,如a,b = 1, 2
  • 2、一个变量可以通过赋值指向不同类型的对象
  • 3、数值的除法包含两个运算符:/返回一个浮点数,//返回一个整数。
  • 4、在混合计算时,Python会把整型转换为浮点数

数值类型实例

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3e+18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2E-12 4.53e-7j

Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

String(字符串)

Python中的字符串用单引号'或双引号'' 括起来,同时使用反斜杠转义特殊字符。

字符串的截取的语法格式如下:

变量[头下标:尾下标]

索引值为以0为开始值,-1为从末尾的开始位置。

你可能感兴趣的:(python,python,学习,开发语言)