Python基础学习笔记(三)——变量_数据类型

目录

一、变量

1. 声明变量

2. 查看变量的标识,类型和值

二、基本数据类型

1. 整数

2. 浮点数

3. 布尔值

4. 字符串

5. 类型转换

一、变量

        用来存储数据值的抽象概念,有标识(存储对象的内存地址),类型(存储对象的数据类型),值(存储对象的具体数据)三个要素。

        在 Python 中,变量是一级指针,它存储的是对象的引用,即标识,而不是对象本身。将一个对象赋给一个变量时,实际上是将对象的引用存储在变量中。变量名是一个标识符,变量可以通过变量名访问。

        其中,对象可暂理解为各种类型的数据,它们在被创建时,就被赋予了两个基本要素:值(value)和内存地址(id)。内存地址不变,不可改变的,称为不可变对象;反之,称为可变对象。这部分内容在类与方法篇中会展开介绍。

1. 声明变量

        通过赋值运算符 '=' 对变量名赋值:变量名指向系统分配的一片具有标识的内存空间,用于存储所赋的值。

        对同一作用域内的同一变量再次赋值时,变量名将会指向新的空间,原空间储存的数据转为内存垃圾。

dandelion = '0'
print(dandelion)
dandelion = '2'
print(dandelion)
0
2

2. 查看变量的标识,类型和值

# 定义变量
dandelion = '02'
# 变量的值
print(dandelion)
# 变量的标识:id()函数--返回变量的标识,返回值类型为 int
print(id(dandelion))
# 变量的类型:type()函数--返回变量的类型,返回值类型为 type
print(type(dandelion))
02
2133084845744
<class 'str'>

二、基本数据类型

        定义了数据的种类和存储方式。在 Python 中,常见的数据类型一般是内建类型。

        Python 中的数据类型分为两大类:基本数据类型组合数据类型。基本数据类型包括数值型、字符型、布尔型(逻辑型),组合数据类型包括序列(字符串,元组、列表)、集合、映射(字典)。

1. 整数

        int 整数(integer):可表示正数、负数、零,十进制(默认),二进制(0b),八进制(0o),十六进制(0x)

        特别的,十六进制以 0~9, A~F(a~f)依次对应数字 0~16,不区分大小写。

# 2024的四种进制形式(整数的输出格式均为十进制)
print(2024, 0b11111101000, 0o3750, 0x7e8)
2024 2024 2024 2024

2. 浮点数

        float 浮点数:由整数部分和小数部分组成

f = 0.02
print(type(f), f)
<class 'float'> 0.02

        具有存储不精确性,即参与计算的小数位数是不确定的。

f1, f2 = 1.1, 2.2
print(f1+f2)
3.3000000000000003

        解决方法如下:

# 从用于小数高精度计算的decimal库导入Decimal类对象
from decimal import Decimal
# Decimal类实例属性的类型为 str字符串,需要对浮点数做类型转换
f1 = Decimal(str(1.1))
f2 = Decimal(str(2.2))
# Decimal类型的数据支持小数的高精度计算
print(f1+f2)
3.3

3. 布尔值

        bool 布尔(Boolean):在逻辑运算中表示真假,参与数值运算时,T=1,F=0

# True为真,False为假
t, f = True, False
print(type(t), t, '\t', type(f), f)
# 数值运算
print(t+1, f+1)
<class 'bool'> True 	 <class 'bool'> False
2 1

4. 字符串

        str 字符串(string):单双引号定义的字符串必须同行,三引号定义的字符串可跨行

# 必须用英文输入法,长按shift切换单双
str1 = "嘿"
str2 = '哈哈'
str3 = '''嘤
嘤嘤'''
str4 = """喔喔喔
喔喔喔喔"""
print(str1, str2, '\n', str3, '\n', str4)
嘿 哈哈 
 嘤
嘤嘤 
 喔喔喔
喔喔喔喔

5. 类型转换

        类型名后接括号即为向对应类型转化的函数。

        转化规则如下:

  • 数值型都能转化为字符串型,但只有内容为数值的字符串能转化为数值型
  • 数值型之间可以相互转化,布尔型可以转化为数值型
  • 任何类型的数据都能转化为布尔型(暂不展开)
# str -> int
print(int('20')+24)
# int -> str
print('我有'+str(3)+'个男朋友')
# float -> int:舍弃小数部
print(int(1.2), int(-2.8))  
# bool -> int:舍弃小数部
print(int(True), int(False))  
44
我有3个男朋友
1 -2
1 0
  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值