python基础语法:数据类型

数据来源参考:(135条消息) 数据类型-基础语法-CSDNPython入门技能树


python的数据类型分为基本数据类型复合数据类型

基本数据类型包含:数字,字符串
复合数据类型包含:列表,元组,字典,集合

一,数字类型

        数字类型就是用数字或数值表示的苏剧类型。

                 数字类型有:整型(int),浮点型(float),复数类型(complex)和布尔类型(bool)

        tips:python可以用type()函数来查看变量的类型。

1.1   整数

        整数一般使用二进制,八进制,十进制和十六进制表示。

 整型不同形式的转换

  1. bin():十进制转换为二进制,输出形式是字符串
  2. oct():十进制转换为八进制,输出形式是字符串
  3. hex():十进制转换为十六进制,输出形式是字符串
  4. int() :接收一个符合整型规范的字符串,并将字符串转换为整型

tips1:Python中当多个变量的值相同时,这个值在内存中并没有被保存多次,只是多个变量都指向了同一内存

例如:

a = 6
b = 6
c = a
print(id(a),id(b),id(c))

# 输出
1643146464 1643146464 1643146464

      id()可以取出变量的内存地址,从结果可以看出,a,b,c三个变量都指向了同一内存。但如果修改了a的值,那a的内存地址和b,c的内存地址及值有什么变化呢?举例如下:

a = 6
b = 6
c = a
print(id(a), id(b), id(c))
a = 8
print(id(a), id(b), id(c))

结果:

1643146464 1643146464 1643146464
1643146528 1643146464 1643146464

    从上面可以看出,a的地址变了,b,c的地址没有变。

数字时Python中的不可变对象,当改变它的值时,并不是真的修改内存中变量的值,而是把新的值放入内存中,然后修改变量,使得变量指向新值的内存地址。浮点数、复数等其他数字类型及其他类型的变量具有同样的特点。

tips: Python具有自动内存管理功能,如果一个值没有任何变量指向,则Python自动将其删除,因此,一般Python程序员不需要太多考虑内存管理的问题(这就是Python与C语言最大的区别,自动内存回收机制!),但显式使用del命令删除不再使用的值,仍然是一个优秀程序员需要具备的基本素养!

1.2,浮点数

        浮点数就是小数

可以使用flaot()函数将其他类型转换为浮点型。

a = 1.2
print(type(a))
b = 1e-2
print(type(b))
c = 2e3
print(c)

输出:

<class 'float'>
<class 'float'>
2000.0

1.3  复数

       

  • 复数由“实部”和“虚部”两部分组成;
  • 实数部分和虚数部分都是浮点型;
  • 虚数部分后面必须有j或J

Python中表示复数的两种方法:

  1. a+bj
  2. complex(a,b)
    其中a表示实部,b表示虚部
    举例:
a = 2 + 6j
print(type(a))
b = complex(2, 6)
print(type(b))
print(id(a), id(b))

结果:

<class 'complex'>
<class 'complex'>
2718471372752 2718437554352

获取复数的实部、虚部、共轭复数等

a = 2 + 6j
print(a.imag)  # .imag可以获取复数的虚部
print(a.real)  # .real可以获取复数的虚部
print(a.conjugate())  # .conjugate()方法可以获取复数的共轭复数

结果:

6.0
2.0
(2-6j)

1.4 布尔类型

  • Python中的布尔类型只有True和False两个取值;
  • True对应整数1,False对应整数0。
  • 常用的布尔运算包括 and、or、not 三种

等同于False的值:

  • None;
  • False;
  • 任何为0的数字类型,如0、0.0、0j;
  • 任何空序列,如’‘’'、()、[];
  • 空字典,如{};
  • 用户定义的类实例,如类中定义了__bool__()或者__len__()方法,并且该方法返回0或者布尔值False。

等同于True的值:

  • 非零数值
  • 非空字符串

andor运算有一条重要的法则:短路法则
and举例:
a and b ,如果a是False,则整个结果必定为False,因此返回a的值,如果a是True,则表达式的结果取决于b,因此返回b   (只有两个同为True是才为True,其它都是False)

a = 0
b = 2
print(a and b)

a = 1
b = 0
print(a and b)

a = 1
b = 3
print(a and b)

结果:

0
0
3

or举例:
a or b ,如果a是True,则整个结果必定为True,因此返回a的值,如果a是False,则表达式的结果取决于b,因此返回b     &

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值