2.数据类型和变量

1.常用数据类型

顾名思义,计算机就是用来做数学计算的机器,因此,计算机程序理所当然的可以处理各种数值。
但是,计算机能处理的远远不止数值,还可以处理文本,图形,音频,视频,网页等各种各样的数据,而处理不同的数据,需要使用不同的数据类型来进行表示
数字型:整型【int】,浮点型【float】,复数【complex】
​
布尔型:bool,只有两个值,True和False,注意:True可以被当做1使用,False可以被当做0使用
​
字符串型:str
​
列表:list
​
元组:tuple
​
字典:dict
​
集合:set
​
字节:bytes
​
空值:NoneType,只有一个值:None 

2.变量的使用

概念:程序在运行的过程中,表示的值可以随时发生改变的标识符

在程序设计中,变量是一种存储数据的载体【容器】

语法:变量名 = 值

说明:变量名其实就是一个标识符

2.1变量的定义

# 1.变量的定义
# 语法:变量名  =  值
# 变量的本质:变量是一种存储数据的载体【容器】
# 一定要先定义变量,然后才能使用;
# 当定义一个变量之后,相当于在计算机的内存中开辟了一份空间,该空间中存储了一个指定的数据
# print(age)  # NameError: name 'age' is not defined
​
# 整型:int
num1 = 13     # num1是一个变量,其中存储的数据是13
print(num1)
# 浮点型:float
num2 = 34.78  # num2是一个变量,其中存储的数据是34.78
print(num2)
# 布尔型:bool
b1 = True
b2 = False
print(b1,b2)
# 注意1:布尔值可以和数字进行运算,True被当做1使用,False可以被当做0使用
print(b1 + 1)
print(b2 + 1)
# 字符串:str
# 注意2:字符串可以用单引号或双引号表示,其中可以是任意的字符,包括:数字,字母,特殊符号,中文
str1 = '34fhag计算机……%¥#'
print(str1)
str2 = "34fhag计算机……%¥#"
print(str2)
​
# 2.定义变量的同时声明类型【了解】
# 注意3:后期实际开发中,如果声明了类型,当使用变量相关的功能时候可以提示
num3:int = 100
print(num3)
​
# 3.定义多个变量
# a
m1 = m2 = m3 = 66
print(m1,m2,m3)   # 66
​
# b
# 注意4:当以n1,n2,n3 = x1,x2,x3方式定义多个变量,变量名的个数和数值的个数必须相等
# n1,n2,n3 = 88   # TypeError
"""
Traceback (most recent call last):
  File "/Users/Desktop/Code/1.变量的定义.py【报错的文件】", line 35【报错的代码处】, in <module>
    n1,n2,n3 = 88
TypeError【报错类型】: cannot unpack拆包 non-iterable容器 int object【报错信息描述】
"""
​
# n1,n2,n3 = 88,34,567,68,8
"""
Traceback (most recent call last):
  File "/Users/Desktop/Code/1.变量的定义.py", line 43, in <module>
    n1,n2,n3 = 88,34,567,68,8
ValueError: too many values to unpack (expected期望 3)
"""
​
n1,n2,n3 = 88,35,100
print(n1,n2,n3)

2.2变量的使用

# 1.变量的重新赋值
name = 'zhangsan'   # 定义,zhangsan被称为初始值
print(name)
name = 'lisi'      # 重新赋值【后出现的值会覆盖之前的值】
print(name)
​
# 2.id(x):获取变量x在内存中的地址
# 注意:每个数据在内存中都有一份独一无二的地址,定义变量之后,变量中实际上存储的是数据的地址
num = 34
print(num,id(num))
print(id(34))
num = 100
print(num,id(num))
print(id(100))
​
# 3.type(x):获取变量x的数据类型
print(type(name))   # <class 'str'>
print(type(num))    # <class 'int'>
​
age1 = 18
print(age1,type(age1))  # 18 <class 'int'>
age2 = '18'
print(age2,type(age2))  # 18 <class 'str'>
​
# 4.常量
# 概念:一个标识符表示的值无需发生改变,则表示成常量
# 注意:在程序中,如果一个变量表示的值无需发生更改,则将该变量定义为常量
# 常量命名法:所有的字母全部大写,不同单词之间使用下划线连接
PI = 3.14
print(PI)
# PI = 6
# print(PI)
# 常量命名法只是一个标记,标记该变量表示的值不要被随意修改,如果非要修改,仍然可以修改

2.3变量的应用

# 1.需求:从控制台输入你的姓名,年龄,爱好,输出
# name = input("姓名:")
# age = input('年龄:')
# hobby = input('爱好:')
# print("姓名:",name,'年龄:',age,'爱好:',hobby)
​
# 2.需求:交换两个变量的值
# 方式一
a = 10
b = 20
temp = a   # temp = 10
a = b   # a = 20
b = temp  #  b = 10
print(a,b)   # 20 10
​
# 方式二
a = 10
b = 20
a,b = b,a   # Python特有的语法,底层的工作原理方式一
print(a,b)
​
# 方式三:
a = 10
b = 20
a = a + b   # a = 30
b = a - b   # b = 10
a = a - b   # a = 20
print(a,b)
​
# 3.扩展:pack和unpack:打包和拆包
# a.拆包:将一个容器中的多个数据进行拆分,拆分成不同的部分
x,y,*z = 234,45,65,7,8
print(x,y,z)   # 234 45 [65, 7, 8]列表
x,*y,z = 234,45,65,7,8
print(x,y,z)   # 234 [45, 65, 7] 8
*x,y,z = 234,45,65,7,8
print(x,y,z)   # [234, 45, 65] 7 8
​
a,b,c = [45,7,78]
print(a,b,c)
​
# b.打包:将多个零散的数据转换为一个容器
def test(*num):
    print(num)  # (34, 56, 56, 67, 8, 8, 89, 89, 80)元组
test(34,56,56,67,8,8,89,89,80)

2.4删除变量

"""
变量的定义:从无到有
变量的删除:从有到无
"""
# 1.定义【开辟空间】
num = 10
print(num)
​
# 2.删除【销毁变量】
# 注意1:如果一个变量被删除,则相当于该变量从内存空间中被销毁
# 语法:del 变量名
del num
# print(num)  # NameError: name 'num' is not defined
​
# 3.内存中的变量
name = '小明'
print(name)
name = 'jack'
print(name)
"""
Python中内存的工作原理:
当定义一个变量,会在内存中开辟一份空间,当该变量被删除或某个数据没有变量指向它,
则这些数据都会被系统的垃圾回收机制回收,该被删除的变量或数据所占用的空间会被释放掉,后期可以重复利用
"""

2.5变量的类型转换

str(x):将x转换为字符串,x可以是任意类型
int(x):将x转换为整型
float(x):将x转换为浮点型
bool(x):将x转换为布尔型
# 注意:类型的转换,是为了将一种类型转换为另一种类型
​
# 1.str(x):将x转换为字符串,x可以是任意类型
a1 = 10
print(a1,type(a1))
r1 = str(a1)
print(r1,type(r1))
​
# print(str('abc'))
​
# 2.int(x):将x转换为整型,x可以是float,bool,str
# 如果x是字符串,则x只能由数字和正负号组成,且正负号只能出现在字符串的开头
print(int(34.6))
print(int(34.1))
# print(int(True),int(False))  # 没有必要
​
print(int('110'))
print(int('+110'))
print(int('-110'))
# print(int('a110'))  # ValueError: invalid literal for int() with base 10: 'a110'
# print(int('1+10'))  # ValueError: invalid literal for int() with base 10: '1+10'
​
# 3.float(x):将x转换为浮点型,x可以是int,bool,str
# 如果x是字符串,则x只能由数字,小数点和正负号组成,且正负号只能出现在字符串的开头
print(float(34))
print(float(True),float(False))
​
print(float("234"))
print(float(".234"))
print(float("2.34"))
print(float("234."))
​
print(float("+234."))
print(float("-234."))
​
# print(float("a234."))  # ValueError: could not convert string to float: 'a234.'
​
# 4.bool(x):将x转换为布尔型,x可以是任意类型
# 结论:但凡是每种数据类型中表示空的情况,通过bool()转换,最终的结果都是False
# 应用:if语句和while循环中作为条件使用
print(bool(0),bool(6))
print(bool(0.0),bool(46.7))
print(bool(""),bool("fahjga24"))
print(bool([]))  # 空列表
print(bool(()))  # 空元组
print(bool({}))   # 空字典
print(bool(None)) # 空值
​
# 练习:从控制台输入一个年龄,假设人的最长寿命为130岁,计算剩余寿命
MAX_AGE = 130
age = input("请输入你的年龄:")
# print(type(age))
balance = MAX_AGE - int(age)
print("剩余寿命:",balance)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chiayi_init_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值