python全栈_004_Python3基本数据类型

1:什么是可变数据类型和不可变数据类型:

  可变数据类型:value值改变,id值不变(即变量的内存地址不改变),即修改变量的值还在原来的内存中修改,不用重新创建一个对象,分配一块内存;

  不可变数据类型:value值改变,id值也随之改变(即变量的内存地址也改变),即原来内存中的值不能修改,修改变量的值,不会在原来的内存中修改,会重新创建一个对象,分配一块内存;

  怎么判断是否可变???  是否可变,看能否在原来中的内存中修改,能修改就是可变数据类型,不能修改就是不可变数据类型。

判断方法:改变变量的值,看变量的内存地址值是否改变(使用id()函数查看):
    a:如果变量的内存不变,那么就是可变数据类型;(可以在原来的内存中修改)
    b:如果变量的内存改变,那么就是不可变数据类型;(不能在原来中的内存中修改,意味着改变变量的值会重新创建对象,分配内存)

  

    如下图:int类型是不可变数据类型;

    

2:常见的基本数据类型:

  1. int 整数
  2. bool 布尔. 判断. if while
  3. str 字符串, 一般放小量的数据.
  4. list 列表. 可以存放大量的数据
  5. dict 字典, 以key:value的形式存储数据
  6. set 集合(数学)
  7. tuple 元组 不可变

2.1:int类型:

整数: 常见操作就那么几个 +-*/ // % **
bit_length() 一个数的二进制长度
(后面专门介绍)

2.2:bool类型:

  没有操作
  类型转换
  字符串转换成整数 int(str)

  结论1: 想要转化成什么类型就用这个类型括起来
  结论2: True => 1 False => 0
  结论3: 可以当做False来用的数据: 0 "" [] {} () None

 (其他的后面介绍)

3:类型转换:

# 把字符串转换为int
print(‘1:把字符串转换为int‘)
a = ‘10‘
print(a, type(a), id(a))
b = int(a)
print(b, type(b), id(b))

# 把int转化成字符串
print(‘2:把int转化成字符串‘)
a = 10
print(a, type(a), id(a))
b = str(a)
print(b, type(b), id(b))

# 如果想把字符串转化成int    int(str)
# 把int转化成str    str(int)
# 结论: 想转化成xxx数据类型    xxx(目标)

# 把int转换为bool
print(‘3:把int转换为bool‘)
a = 10
print(a, type(a))
b = bool(a)
print(b, type(b))

# 把bool转换为str
print(‘4:把bool转换为str‘)
c = True
print(c, type(c))
d = str(c)
print(d, type(d))

# 把bool转换为int
print(‘5:把bool转换为int‘)
a = False
print(a, type(a))
b = int(a)
print(b, type(b))

# 结论2: True => 1  False => 0
# 结论3 , 可以当做False来用的数据: 0, "", [], (),{}, None
# 所有的空的东西都是False

print(‘6:可以当做False来用的数据‘)
print(0, "", [], (), {}, None)
print(bool(0), bool(""), bool([]), bool(()), bool({}), bool(None))
print(id(0), id(""), id([]), id(()), id({}), id(None), id(False))
# 虽然都可以当做False,但是各个数据的内存地址是不一样的
# 所以不能说  0 is False,0 is None,"" is None ,[] is None等;在判断某个对象是否为空的时候需要注意!!!

s = ""
if s:
    print("娃哈哈") #不会输出

if s is None:  # 不能这么判断是否为空
    print(‘s is None‘)
else:
    print(‘s is not None‘)  # 输出此

lst = []
if lst is None:      # 不能这么判断是否为空,is 比较的是其地址
    print(‘lst is None‘)
else:
    print(‘lst is not None‘)  # 输出此

if 0 is False: # 不能这么判断
    print(‘0 is False‘)
else:
    print(‘0 is not False‘) # 输出此

if 0 == False:
    print(‘0 == False‘)   # 输出此,比较时会对False进行类型转换,int(False) 结果为0
else:
    print(‘0 != False‘)

s = ‘‘
if 0 == s:
    print(‘0 == s‘)
else:
    print(‘0 != s‘)  # 输出此

原文地址:https://www.cnblogs.com/ixuby/p/10075565.html

时间: 2024-10-08 12:33:36

python全栈_004_Python3基本数据类型的相关文章

python全栈day 2 数据类型

一,模块 sys模块                   os模块 import sys #print(sys.path) #打印环境变量 print(sys.argv) print(sys.argv[2]) import os #cmd_res = os.system("dir") #执行命令 ,不保存结果 cmd_res = os.popen("dir").read() print("-->",cmd_res) os.mkdir(&qu

python全栈_009_Python3基本数据类型--列表

1:列表的介绍 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如C++中的数组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开,而且可以存放各种数据类型,列表是可变数据类型(即可以改变列表内存中的值) lst = [1, 2, 3, 4] print(lst, id(lst)) lst = [1, 2, 3, 4] # 重新创建一个列表 print(lst, id(lst)) lst[0] = 'Hello' #修改第一个元素的值,修改之后

骑士计划-python全栈07 基础数据类型的补充

元组 如果元组中只有一个数据,且没有逗号,则该"元组"与里面的数据的数据类型是相同的 # tu = ("alex") #class str tu = (1) #class int # tu = (True) #class bool print(type(tu)) 列表 列表与列表之间可以相加 l1 = [1,2,3] l2 = ['alex','wusir'] l3 = l1 + l2 print(l3) #[1, 2, 3, 'alex', 'wusir'] 注意

python全栈开发 * mysql数据类型 * 180829

* 库的操作 (增删改查)一.系统数据库查看系统库命令 show databases1.information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等2.performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件.锁等现象3.myslq: 授权库,主要存储系统用户的权限信息4.test: MySQL数据库系统自动创建的测试数据库二.创建

Python全栈之路----数据类型—字典

字典:可变,一种key-value的数据类型 info = { 'stu1101' : 'TengLan Wu' , 'stu1102' : 'LongZe Luola' , 'stu1103' : ' XiaoZe Maliya' } 1.特点:key-value结构:key必须可hash(被hash值不变),且必须唯一.必须为不可变类型:无序的(因为无索引,通过key查询):查找速度快      2.基本操作:创建,添加,查找,修改,删除,清空 1 >>> info = { 2 ..

Python全栈之路---数据类型—字符串

字符串:有序的字符的集合,用于存储和表示基本的文本信息,一对单.双.或三引号中间包含的内容称之为字符串 1.特性:有序,不可变(开辟新地址存储字符串,python解释器会定期清空不用了的已存储的) >>> a = 'alex' >>> id(a) 1806635111064 >>> a = 'Jack' >>> a 'Jack' >>> id(a) 1806635111232  2.操作  常用:isdigit  r

Python全栈之路----数据类型—元组类型

元组类型:有序,不可变的,又叫只读列表  names = ("alex","jack","eric") 1.元组本身不可变,但如果元组中有可变元素,如列表,那么元组中的这个可变元素是可以改变的     2.相关操作  切片 >>> n2 = (1,2,3,4,5,6,7,8) >>> n2[2:5] (3, 4, 5) >>> n2 = (1,2,3,['a','b'],5) >>

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g