Python中的变量和数据类型及其转换

1. 整型

>>> a = 1
>>> print(a)
查看变量的类型
>>> type(a)
<class ‘int’>

在这里插入图片描述

2. 浮点型

>>>b = 1.2
  >>> print(b)
1.2

>>> type(b)
<class 'float'>

在这里插入图片描述

3. 字符串型

>>> c = 'westos'
>>> print(c)
westos
>>> c = "what's"
>>> print(c)
what's
>>> c = 'what's'
  File "<stdin>", line 1
    c = 'what's'
              ^
SyntaxError: invalid syntax
>>> c = 'what\'s'
>>> print(c)
what's

在这里插入图片描述

4. bool型(只有两个值:True False 非0即真)

>>> a = 1
>>> bool(a)
True
>>> bool(0)
False
>>> bool('')
False
>>> bool(' ')
True
>>> bool('redhat')
True

当“”中为空时,bool值为false,当“”中有空格或者其他字符时,bool值为true(非0即真)
在这里插入图片描述

5. 数据类型之间的转换

>>> a = 1
>>> type(a)
<class 'int'>
>>> float(a)
1.0
>>> type(a)
<class 'int'>

在这里插入图片描述

>>> b = float(a)
>>> b
1.0
>>> b = 2.0
>>> int(b)
2

在这里插入图片描述

>>> b = 123
>>> str(b)
'123'
>>> c = '123'
>>> int(c)
123
>>> a
1
>>> b
123
>>> c
'123'

在这里插入图片描述

6. 在内存中删除一个变量

>>> del a
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> del b
>>> b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined

在这里插入图片描述

7. 变量和地址的关系

(1) Python中采用基于值的内存管理方式,不同的值分配不同的内存空间
当给变量赋值时,Python解释器为该值分配一个内存空间,而变量则指向该空间
当变量的值被改变时,改变的不是该内存空间的内容,而是改变了变量的指向关系,使变量指向另一内存空间
可以理解为:Python变量并不是某一固定内存单元的标识,而是对内存中存储的某个数据的引用,这个引用是动态改变的

(2) Python具有自动内存管理功能,对于没有任何变量指向的值(垃圾数据),Python系统自动将其删除
例如:x从指向12转向3.14后,数值12变成了没有变量引用的垃圾数据,Python会回收垃圾数据的内存单元,以便提供给别的数据使用
这就是垃圾回收,也可以用del语句删除一些对象的引用
在这里插入图片描述

8.Python的id()函数可以返回对象的内存地址

Python解释器会为每个出现的对象分配内存单元,即使他们的值相等,也会这样。
例如:执行a=1.1,b=1.1,会先后为1.1这个float类型对象分配内存单元,然后将a和b分别指向这两个对象,所以a和b执行的不是同一对象。
但是为了提高内存利用效率,对于一些简单的对象,如数值较小的整形int对象,Python采取重用对象内存的办法,不会两次为其分配内存单元
而对于较大的数值,情况就跟前面的一样了。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值